Skip to main content

A collection of reusable components and pipelines for Kubeflow Pipelines

Project description

Kubeflow Pipelines Components Repository

License Python Version

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.

🎯 Purpose

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

📦 Repository Structure

├── components/ # Core reusable components
│   ├── <component category>/
│   ├── <component category>/
│   └── <component category>/
│
├── pipelines/ # Complete AI pipelines
│   ├── <component category>/
│   ├── <component category>/
│   └── <component category>/
│
├── docs/                # Documentation
└── scripts/             # Utility scripts

Component Categories

  • 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

🚀 Installation

⚠️ 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.

Prerequisites

  • Python 3.11 or later
  • Kubeflow Pipelines SDK

Install Components (Coming Soon)

Install the official Kubeflow SDK with components:

# Not yet available - coming soon!
pip install kubeflow

Verify Installation

Once the packages are available, you'll be able to verify the installation:

# Coming soon - example verification code
from kfp_components.components import training, evaluation, data_processing

# Example: Use a training component
from kfp_components.components.training import my_component

# List available components
print(dir(training))

💻 Usage

Using Components in Your Pipeline

from kfp import dsl
from kfp_components.components.training import model_trainer
from kfp_components.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
    )

Component Metadata

Each component includes standardized metadata:

  • Stability: alpha, beta, or stable
  • Dependencies: Kubeflow and external service requirements
  • Last Verified: Date of last verification
  • Documentation: Links to detailed documentation

📚 Documentation

Core Documentation

Repository Documentation

🤝 Contributing

We welcome contributions from the community! To contribute:

  1. Review Guidelines: Read our Contributing Guidelines
  2. Follow Standards: Ensure your component includes:
    • component.py or pipeline.py - The implementation
    • metadata.yaml - Standardized metadata
    • README.md - Component documentation
    • OWNERS - Maintainer information
    • tests/ - Unit tests
    • example_pipelines.py - Usage examples
  3. Submit PR: Open a pull request with your contribution

Quality Standards

All contributions must:

  • Pass linting and formatting checks (Black, pydocstyle)
  • Include comprehensive docstrings
  • Compile successfully with kfp.compiler
  • Include metadata with fresh lastVerified date
  • Pass automated CI/CD checks

🔧 Maintenance

Automated Maintenance

The repository includes automated maintenance processes:

  • Verification Reminders: Components are flagged when lastVerified is 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

Component Ownership

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

📦 Releases

  • Core Package: kubeflow - Official Kubeflow SDK including community-maintained components
  • Versioning: Follows semantic versioning aligned with Kubeflow releases
  • Release Cadence: Regular releases aligned with Kubeflow Pipelines SDK

🔗 Links

📄 License

This project is licensed under the Apache License 2.0.

🙏 Acknowledgments

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kfp_components-0.0.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kfp_components-0.0.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file kfp_components-0.0.1.tar.gz.

File metadata

  • Download URL: kfp_components-0.0.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for kfp_components-0.0.1.tar.gz
Algorithm Hash digest
SHA256 39ddf85d48c183410a5030a3f98919080465e2a8bb014c489fd150b90725d129
MD5 b39d981aeee17717fd96ec2b8cd36f6b
BLAKE2b-256 3b94ecb3bec1f708c69e9e53d971157401ae8c6e4326c16663eb8477bd88605b

See more details on using hashes here.

File details

Details for the file kfp_components-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: kfp_components-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for kfp_components-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c3d13163487775a809ce1821b86f43aedb137a81cd3ce3cf2bbff7a1fb6def2
MD5 5d6f0ce98f10d906c772c1fd1adec82b
BLAKE2b-256 57d9cfebc4232ee7b8da832d8410ddd20905df4f95b270f47be420374af23a44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page