Skip to content

PWD<->flowrep conversion is not honest #312

Description

@liamhuber

We are already constrained to flat DAGs by PWD's limitations, but in the process of working over in PWD, I re-discovered that PWD is restricted to single-return atomic nodes, and gets multiple output ports by assuming that underlying functions return a dictionary with keys corresponding to the port labels. This is an underlying assumption the WfMS and recipe-referenced functions must adhere to, and is incompatible with the corresponding flowrep assumption that function outputs are treated singularly (in the case of a single output port) or that there is a standard python return tuple whose length matches the number of ports.

Corresponding discussion on PWD: pythonworkflow/python-workflow-definition#197

So what is needed here is to fail cleanly during the conversion if any of the atomic nodes have multiple outputs. A more complex conversion that supports them is, in principle, possible, but I don't want to implement it right now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugCategory: Something does not work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions