Artur Dobrogowski
08/23/2024, 11:09 AMArtur Dobrogowski
08/23/2024, 11:09 AMArtur Dobrogowski
08/23/2024, 11:09 AMArtur Dobrogowski
08/23/2024, 11:10 AMoutputs=
stripts the namespace as it should, but when you reference to the pipeline's outputs it's not listed.Artur Dobrogowski
08/23/2024, 11:10 AMArtur Dobrogowski
08/23/2024, 11:10 AMArtur Dobrogowski
08/23/2024, 11:17 AMDmitry Sorokin
08/23/2024, 12:57 PM*def* outputs(self) -> set[str]:
"""The names of outputs produced when the whole pipeline is run.
Does not include intermediate outputs that are consumed by
other pipeline nodes. Resolves transcoded names where necessary.
Returns:
The set of final pipeline outputs.
"""
As you can see, it only returns the final outputs. I'm trying to understand why this is an issue for you. Could you clarify what you're trying to achieve with this method?Artur Dobrogowski
08/23/2024, 2:50 PMpipeline.outputs()
!= pipeline(..., outputs=...)
and that it's confusing. I was expecting to pipeline.outputs()
to include intermediary datasets if they were specified explicite as pipeline(..., outputs=)
, or perhaps just take the defined outputs if they are definedArtur Dobrogowski
08/23/2024, 2:50 PMDmitry Sorokin
08/23/2024, 3:08 PMpipeline.outputs()
is designed to return the final outputs of the pipeline, as described in the documentation.
⢠The outputs
parameter inside the pipeline()
creation function, on the other hand, is used for mapping outputs, particularly when namespaces are involved (as detailed in Kedro's documentation on namespaces). In the example you provided, it's used to avoid changing the output name by adding the .namespace_name
prefix.
Even if you don't specify anything in the outputs
parameter of the pipeline()
creation function, pipeline.outputs()
will still return the final outputs. These two types of outputs currently serve different purposes, but we will be happy to hear new ideas that they should be connected.Nok Lam Chan
08/23/2024, 4:20 PMpipelines.outputs()
has nothing to do with invidual nodes. If you want all outputs from nodes, you can iterate through the pipeline with pipeline.nodes
and get the attribute from node.