Version v0.7 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.

Pipeline Parameters

Passing data between pipeline components

The kfp.dsl.PipelineParam class represents a reference to future data that will be passed to the pipeline or produced by a task.

You pipeline function should have parameters, so that they can later be configured in the Kubeflow Pipelines UI.

When your pipeline function is called, each function argument will be a PipelineParam object. You can pass those objects to the components as arguments to instantiate them and create tasks. A PipelineParam can also represent an intermediate value that you pass between pipeline tasks. Each task has outputs and you can get references to them from the task.outputs[<output_name>] dictionary. The task output references can again be passed to other components as arguments.

In most cases you do not need to construct PipelineParam objects manually.

The following code sample shows how to define pipeline with parameters:

  name='My pipeline',
  description='My machine learning pipeline'
def my_pipeline(
    my_num: int = 1000, 
    my_name: str = 'some text', 
    my_url: str = ''

See more in the guide to building a component.