1.4.0 • Published 4 years ago

kubeflow-kale-launcher v1.4.0

Weekly downloads
5
License
BSD-3-Clause
Repository
github
Last release
4 years ago

Kale JupyterLab Extension

This JupyterLab extension provides a Kubeflow specific left area that can be used to deploy a Notebook to Kubeflow Pipelines. The UI is just high level component designed to let the user annotate Notebook metadata and Cells metadata easily and visually. In order to convert the notebook to a Kubeflow Pipeline workflow and have it run in KFP, Kale needs to be installed in the same Python environment as the running Notebook Kernel.

Getting started

# install jupyter lab
pip install jupyterlab==1.1.1

# install kale: see instructions in Kale repository
# ...

# install the extension
jupyter labextension install kubeflow-kale-launcher
# verify extension status
jupyter labextension list

# run
jupyter lab

KaleLauncherScreenshot

How it works

Kale Launcher UI lets you update Notebook and Cells metadata according to Kale spec. The extension reads and saves Notebook metadata automatically, keeping a consistent view of the Notebook spec. You don't have to worry about manually saving the Notebook, the extension will write any new changes automatically.

When clicking the big blue run button, Kale will be run in the background over the active Notebook and perform the required action based on the button option selected.

The Launcher is able to invoke Kale in the background by programmatically executing shell commands in the Kernel environment. Specifically, it will run:

kale --nb <current_active_notebook_name> [--upload_pipeline] [--run_pipeline]

Contributing

To build and run the extension in dev mode, first clone the repository in your local machine.

# Move to repository folder
cd jupyterlab-kubeflow-kale

# Install dependencies
jlpm install

# Build the extension. This will generate a dist/ folder with build files
jlpm run build

# Add the extension to jupyterlab. 
# Be sure to uninstall any other version first (e.g. npm kubeflow-kale-launcher package)
jupyter labextension install .

When developing, you can run jlpm in watch mode to incrementally compile the new changes:

jlpm run watch

And run JupyterLab in watch mode to load the new compiled version:

jupyter lab --no-browser --watch