Skip to main content

Convert JupyterNotebooks to Kubeflow Pipelines deployments

Project description

Kubeflow Kale

PyPI version License CI Join Slack

Kale Logo

Turn Jupyter Notebooks into ML Pipelines — In One Click

No pipeline code. No SDK learning curve. Just tag your cells and deploy.


Latest News 🔥

  • [2026/04] Kubeflow Kale v2.0 is officially released with support for Kubeflow Pipelines 2.16.0!
  • [2026/04] The new Kubeflow Kale docs is now available!

What is Kale?

KALE (Kubeflow Automated pipeLines Engine) is a tool designed to simplify the deployment of Kubeflow Pipelines workflows.

You've built an amazing ML model in a Jupyter notebook. Now you need to run it in production, schedule it, or scale it up. Usually that means rewriting everything as a Kubeflow Pipeline — learning the SDK, restructuring your code, and debugging YAML.

Kale eliminates all of that.

Tag your notebook cells with simple labels like imports, step, or skip. Kale analyzes your code, detects dependencies between steps, and generates a production-ready Kubeflow Pipeline. Your notebook stays exactly as it is.

Kale JupyterLab Extension

Why Data Scientists Love Kale

✅ push-button pipeline generation (tag cells, click "compile")
✅ automatic dependency detection
✅ same notebook for dev and production
✅ create pipelines directly in notebook without looking at YAML
✅ requires no direct knowledge of KFP SDK
✅ no rewriting code into pipeline components

📖 Documentation: https://kale.kubeflow.org

See It In Action

Watch how to use Kale convert a notebook to a pipeline in minutes:

Kale v2.0 Demo

Get Started

Requirements

  • Python 3.11+
  • Kubeflow Pipelines v2.16.0+ (install guide)
  • Kubernetes cluster (minikube, kind, or any K8s cluster)

Quick Install

# Clone and set up (v2.0 coming soon to PyPI)
git clone https://github.com/kubeflow-kale/kale.git
cd kale && make dev

# Launch JupyterLab with Kale
make jupyter

Your First Pipeline in 60 Seconds

  1. Open any notebook from examples
  2. Click the Kale icon in the left sidebar
  3. Toggle Enable to see your notebook as a pipeline graph
  4. Click Compile and Run — that's it!
# Or use the CLI
kale --nb examples/base/candies_sharing.ipynb --kfp_host http://localhost:8080 --run_pipeline

How It Works

Tag your notebook cells to define pipeline structure:

Cell Tag What It Does
imports Libraries needed by all steps (pandas, sklearn, etc.)
functions Helper functions available to all steps
pipeline-parameters Variables users can tune between runs
pipeline-metrics Metrics to track in the KFP UI
step:step_name A pipeline step (Kale auto-detects dependencies!)
skip Exploratory code to exclude from the pipeline

Learn more about cell types in Kale documentation.

Pro tip: Kale automatically detects which variables flow between steps. You don't need to specify inputs and outputs — just write natural notebook code.

Check out the example notebooks to see these in action.

Installation

Make it sure that Kubeflow Pipelines is running and acessible to Kale

Install from PyPi:

pip install "jupyterlab>=4.0.0" kubeflow-kale[jupyter]
jupyter lab

Local Development

You can install Kale directly from the sources:

git clone https://github.com/kubeflow-kale/kale.git
make clean && make dev && make jupyter-kfp

See CONTRIBUTING.md for detailed setup instructions.

Local Development with Docker

Run Kale locally with Docker:

make docker-build   # Build the image
make docker-run     # JupyterLab at http://localhost:8889

Connect to a real KFP cluster:

make kfp-serve                                              # Serve dev wheel
kubectl port-forward -n kubeflow svc/ml-pipeline 8080:8888  # Forward KFP API
make docker-run                                             # Start container

Community

We'd love to have you!

Learn More


Ready to simplify your ML workflow?
Get started now · Road to 2.0 · Join Slack

Contributors

Thanks to everyone who has contributed to Kale!

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

kubeflow_kale-2.1.0.tar.gz (12.3 MB view details)

Uploaded Source

Built Distribution

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

kubeflow_kale-2.1.0-py3-none-any.whl (366.4 kB view details)

Uploaded Python 3

File details

Details for the file kubeflow_kale-2.1.0.tar.gz.

File metadata

  • Download URL: kubeflow_kale-2.1.0.tar.gz
  • Upload date:
  • Size: 12.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kubeflow_kale-2.1.0.tar.gz
Algorithm Hash digest
SHA256 4017d29af01a50c762ccea570982d6102d0f0db4694dfc0445d1e44191ed5a45
MD5 0d1bdc0e5bcdc6b3f619c15a283e5b1d
BLAKE2b-256 2ab08a62a9c611edd033115b4695733349a0af122db3458127f47b67884c4514

See more details on using hashes here.

File details

Details for the file kubeflow_kale-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: kubeflow_kale-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 366.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kubeflow_kale-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5667bf362a1cfb8d3552b759e48fb2cc8ed52544ea6f1e04db2550122336199b
MD5 3100286bc0cb91d09e266e53391ad3d3
BLAKE2b-256 9af3d3f00e038ce6f3dae336415c9a392ec513aab7e8031ca0efd9518e650951

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