kfp
Kubeflow Pipelines SDK
What it is and what it does
Kubeflow Pipelines is a Python SDK for building machine learning workflows as directed acyclic graphs of containerized tasks. You define pipeline components using Python decorators, compose them into workflows, and submit them to a Kubeflow backend running on Kubernetes. The SDK handles task orchestration, artifact management, and provides integration with Google Cloud services through its dependencies on google-cloud-storage and google-auth.
The package is designed for teams building reproducible, scalable ML systems. It lets you parameterize pipelines, schedule recurring runs, organize executions into experiments, and visualize results through the Kubeflow Dashboard. Dependencies include Kubernetes client libraries, protocol buffers for serialization, and CLI tools via click for command-line interaction.
Use it for:
- Define multi-step ML training workflows with data preprocessing, model training, and evaluation as separate containerized tasks.
- Schedule recurring pipeline runs on a Kubernetes cluster with different parameters or datasets.
- Organize and track multiple pipeline executions as experiments with artifact storage and metadata logging.
- Build reusable pipeline components that can be composed into different workflows across teams.
- Deploy production ML systems where task dependencies, retries, and resource allocation are managed by Kubernetes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Kubeflow Pipelines is a Python SDK for defining, deploying, and managing machine learning workflows as containerized task graphs on Kubernetes clusters.
Yes, if you have a Kubeflow backend deployed on Kubernetes and need to orchestrate multi-step ML workflows. The package is actively maintained, permissively licensed, and has low install friction. No known vulnerabilities. Install only if you already have or plan to set up a Kubeflow infrastructure; it is not a standalone ML framework.
Install
kfp on PyPI
pip
pip install kfpuv
uv add kfppoetry
poetry add kfpInstalling kfp
Before you install
Low friction installation with a pure-Python wheel. The package is actively maintained with a recent release and has 4183 repository stars. Supports Python 3.9 through 3.13.
License in practice
Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions.
Quickstart
pip install kfp
from kfp import dsl
import kfp
@dsl.component
def add(a: float, b: float) -> float:
return a + b
@dsl.pipeline(name='Addition pipeline')
def add_pipeline(a: float = 1.0, b: float = 7.0):
task = add(a=a, b=b)
client = kfp.Client(host='<my-host-url>')
client.create_run_from_pipeline_func(add_pipeline, arguments={'a': 7.0, 'b': 8.0})
Requires a running Kubeflow Pipelines backend or Kubernetes cluster with Kubeflow deployed; a valid host URL is needed to connect the client.
Verify before relying
- Whether the package requires specific Kubernetes version compatibility or cluster configuration.
- Performance characteristics when scaling to large numbers of pipeline tasks or concurrent runs.
- Detailed compatibility matrix between kfp versions and Kubeflow backend versions.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 16 — click, click-option-group, docstring-parser, google-api-core, google-auth, google-cloud-storage, kfp-pipeline-spec, kfp-server-api, kubernetes, protobuf, PyYAML, requests, requests-toolbelt, tabulate, urllib3, typing-extensions |
| Maintenance | actively maintained — 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 16,374,224/month — #1,156 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: kfp-2.17.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
google-cloud-pipeline-componentsProvides predefined Kubeflow Pipelines…
permissive · top 5,000 on PyPI
kfp-kubernetesExtends Kubeflow Pipelines SDK with…
permissive · top 15,000 on PyPI
kfp-pipeline-specProvides the pipeline specification and…
permissive · top 5,000 on PyPI
kfp-server-apiProvides Python client bindings for the…
permissive · top 5,000 on PyPI
kubeflowKubeflow SDK provides Python APIs to submit and…
permissive · top 15,000 on PyPI
argo-workflowsProvides Python API bindings for Argo…
unclear · top 15,000 on PyPI
zenmlZenML is an MLOps orchestration platform that…
permissive · top 15,000 on PyPI
kedroKedro is a Python framework for building…
permissive · top 5,000 on PyPI
koheesioKoheesio is a Python framework for building…
permissive · top 15,000 on PyPI
piperPypiper manages shell command execution within…
permissive · top 15,000 on PyPI