Kale

From Jupyter Notebook to Kubeflow Pipeline — Zero Boilerplate

Kale (Kubeflow Automated pipeLines Engine) turns annotated Jupyter notebooks into production-ready Kubeflow Pipelines without requiring you to write a single line of KFP SDK code.

Tag cells in your notebook, let Kale figure out the data dependencies between them, and compile the whole thing into a KFP v2 pipeline you can run on any Kubeflow cluster.

Why Kale?

No SDK boilerplate

Annotate cells, compile, run. Kale generates the KFP v2 DSL for you — no need to learn components, artifacts, or Python decorators.

Automatic data passing

Variables flow between steps as if you were still in a single notebook. Kale’s type-aware marshalling handles numpy, pandas, scikit-learn, PyTorch, Keras, TensorFlow, XGBoost and more.

JupyterLab integration

Tag cells visually, define step dependencies, and submit pipelines from the Kale side panel inside JupyterLab 4.

KFP v2 native

Compiles to the modern KFP v2 pipeline DSL with full artifact support. Runs on any compliant Kubeflow Pipelines backend.

Get started

Quickstart

Compile and run your first notebook on Kubeflow Pipelines in a few minutes.

Quickstart
Core Concepts

Understand cell annotations, data marshalling, and how Kale compiles to KFP.

How Kale Works
User Guide

Practical walkthroughs for annotating, parameterizing, and running pipelines.

Annotating Notebooks
API Reference

Python API for the Pipeline, Step, Compiler and marshalling modules.

Pipeline

Kale in the Kubeflow ecosystem

Kale is part of the Kubeflow ML Experience Working Group, alongside the Kubeflow SDK, Kubeflow Pipelines and Kubeflow Notebooks. It lives at the notebook layer — where data scientists prototype — and bridges the gap to the pipeline layer, where production workloads run.

If KFP is the “how” of running ML pipelines on Kubernetes, Kale is the “what you meant”: take the notebook you already have, and turn it into a pipeline without rewriting anything.

Community