kfp.compiler

The kfp.compiler module contains the compiler for compiling pipeline definitions.

Classes:

Compiler()

Compiles pipelines composed using the KFP SDK DSL to a YAML pipeline definition.

KubernetesManifestOptions([pipeline_name, ...])

Options for Kubernetes manifest output during pipeline compilation.

class kfp.compiler.Compiler[source]

Bases: object

Compiles pipelines composed using the KFP SDK DSL to a YAML pipeline definition.

The pipeline definition is PipelineSpec IR, the protobuf message that defines a pipeline.

Example

@dsl.pipeline( name='name', ) def my_pipeline(a: int, b: str = 'default value'): ... kfp.compiler.Compiler().compile( pipeline_func=my_pipeline, package_path='path/to/pipeline.yaml', pipeline_parameters={'a': 1}, ) 

Methods:

compile(pipeline_func, package_path[, ...])

Compiles the pipeline or component function into IR YAML.

compile(pipeline_func: BaseComponent, package_path: str, pipeline_name: str | None = None, pipeline_display_name: str | None = None, pipeline_parameters: dict[str, Any] | None = None, type_check: bool = True, kubernetes_manifest_options: KubernetesManifestOptions | None = None, kubernetes_manifest_format: bool = False) None[source]

Compiles the pipeline or component function into IR YAML.

Parameters
pipeline_func: BaseComponent

Pipeline function constructed with the @dsl.pipeline or component constructed with the @dsl.component decorator.

package_path: str

Output YAML file path. For example, '~/my_pipeline.yaml' or '~/my_component.yaml'.

pipeline_name: str | None = None

Name of the pipeline.

pipeline_display_name: str | None = None

Display name of the pipeline

pipeline_parameters: dict[str, Any] | None = None

Map of parameter names to argument values.

type_check: bool = True

Whether to enable type checking of component interfaces during compilation.

kubernetes_manifest_options: KubernetesManifestOptions | None = None

KubernetesManifestOptions object for Kubernetes manifest output during pipeline compilation.

kubernetes_manifest_format: bool = False

Output the compiled pipeline as a Kubernetes manifest.

class kfp.compiler.KubernetesManifestOptions(pipeline_name: str | None = None, pipeline_display_name: str | None = None, pipeline_version_name: str | None = None, pipeline_version_display_name: str | None = None, namespace: str | None = None, include_pipeline_manifest: bool = False)[source]

Bases: object

Options for Kubernetes manifest output during pipeline compilation.

Parameters
pipeline_name: str | None = None

Name for the Pipeline resource (defaults to pipeline_spec.pipeline_info.name).

pipeline_display_name: str | None = None

Display name for the Pipeline resource (defaults to pipeline_name).

pipeline_version_name: str | None = None

Name for the PipelineVersion resource (defaults to pipeline_name).

pipeline_version_display_name: str | None = None

Display name for the PipelineVersion resource (defaults to pipeline_display_name).

namespace: str | None = None

Kubernetes namespace for the resources (optional).

include_pipeline_manifest: bool = False

Whether to include the Pipeline manifest (default: False).

Methods:

set_pipeline_spec(pipeline_spec)

Attributes:

pipeline_name

pipeline_display_name

pipeline_version_name

pipeline_version_display_name

set_pipeline_spec(pipeline_spec)[source]
property pipeline_name : str | None
property pipeline_display_name : str | None
property pipeline_version_name : str | None
property pipeline_version_display_name : str | None