Welcome to the official Kubeflow Pipelines Components repository! This is the centralized hub for reusable components and pipelines within the Kubeflow ecosystem, providing a structured collection of AI workflow building blocks for Kubernetes.
The Kubeflow Pipelines Components repository serves as:
- Centralized Asset Library: A dedicated space for hosting reusable components and pipelines, promoting consistency and ease of access across the Kubeflow ecosystem
- Standardized Documentation Hub: Ensuring each component and pipeline includes comprehensive documentation and metadata for better discoverability and usability
- Community Collaboration Platform: Providing clear guidelines and governance to encourage contributions from the community
- Automated Quality Assurance: Implementing automated testing and maintenance processes to ensure reliability and up-to-date status of all assets
βββ components/ # Core reusable components
β βββ <component category>/
β βββ <component category>/
β βββ <component category>/
β
βββ pipelines/ # Complete AI pipelines
β βββ <component category>/
β βββ <component category>/
β βββ <component category>/
β
βββ third_party/ # Third-party contributions
β βββ components/ # Third-party components
β βββ pipelines/ # Third-party pipelines
β
βββ docs/ # Documentation
βββ scripts/ # Utility scripts
- Training: Components for model training, hyperparameter tuning, and optimization
- Evaluation: Model evaluation, metrics calculation, and performance analysis
- Data Processing: Data preparation, transformation, and feature engineering
- Deployment: Model serving, endpoint management, and production deployment
β οΈ Work in Progress: This repository is currently under development. The packages described below are not yet available on PyPI. This section outlines the planned installation process for when the packages are released.
- Python 3.10 or later
- Kubeflow Pipelines SDK
Install the official Kubeflow SDK with components:
# Not yet available - coming soon!
pip install kubeflowFor vetted third-party contributions:
# Not yet available - coming soon!
pip install kfp-components-third-partyOnce the packages are available, you'll be able to verify the installation:
# Coming soon - example verification code
from kubeflow.pipelines.components import training, evaluation, data_processing
# Example: Use a training component
from kubeflow.pipelines.components.training import my_component
# List available components
print(dir(training))from kfp import dsl
from kubeflow.pipelines.components.training import model_trainer
from kubeflow.pipelines.components.evaluation import model_evaluator
@dsl.pipeline(
name="my-ai-pipeline",
description="Example pipeline using KFP components"
)
def my_pipeline(
dataset_path: str,
model_name: str
):
# Train model using a reusable component
training_task = model_trainer(
dataset=dataset_path,
model_name=model_name
)
# Evaluate the trained model
evaluation_task = model_evaluator(
model=training_task.outputs["model"],
test_dataset=dataset_path
)Each component includes standardized metadata:
- Tier:
core(community-maintained) orthird_party - Stability:
alpha,beta, orstable - Dependencies: Kubeflow and external service requirements
- Last Verified: Date of last verification
- Documentation: Links to detailed documentation
- Component Specification: Detailed information on component structure and definition
- Creating Components: Guidelines for authoring new components
- Pipeline Concepts: Overview of pipelines in Kubeflow
- Onboarding Guide: Getting started for new contributors
- Contributing Guidelines: How to contribute components and pipelines
- Best Practices: Component authoring best practices
- Governance: Repository governance and tier system
- Agent Guidelines: Guidance for code-generation agents
We welcome contributions from the community! To contribute:
-
Review Guidelines: Read our Contributing Guidelines
-
Choose a Tier: Decide between core (community-maintained) or third-party contribution
-
Follow Standards: Ensure your component includes:
component.pyorpipeline.py- The implementationmetadata.yaml- Standardized metadataREADME.md- Component documentationOWNERS- Maintainer informationtests/- Unit testsexample_pipelines.py- Usage examples
-
Submit PR: Open a pull request with your contribution
All contributions must:
- Pass linting and formatting checks (Black, pydocstyle)
- Include comprehensive docstrings
- Compile successfully with
kfp.compiler - Include metadata with fresh
lastVerifieddate - Pass automated CI/CD checks
The repository includes automated maintenance processes:
- Verification Reminders: Components are flagged when
lastVerifiedis older than 9 months - Dependency Updates: Dependabot monitors and suggests dependency updates
- Security Scanning: Critical CVEs trigger automated remediation PRs
- Removal Process: Components not verified within 12 months are proposed for removal
Each component has designated owners listed in its OWNERS file who:
- Review and approve changes
- Update metadata and verification status
- Manage component lifecycle
- Respond to issues and questions
- Core Package:
kubeflow- Official Kubeflow SDK including community-maintained components - Third-Party Package:
kfp-components-third-party- Vetted third-party contributions - Versioning: Follows semantic versioning aligned with Kubeflow releases
- Release Cadence: Regular releases aligned with Kubeflow Pipelines SDK
This project is licensed under the Apache License 2.0.
Thank you to all contributors and the Kubeflow community for making this repository possible!
For questions, issues, or suggestions, please open an issue in our GitHub repository or reach out on the Kubeflow Slack.