Skip to main content

Kedro-Viz helps visualise Kedro data and analytics pipelines

Project description

Kedro-Viz


Kedro-Viz Pipeline Visualisation

Data Science Pipelines. Beautifully Designed
Live Demo: https://demo.kedro.org/


CircleCI npm version Python Version PyPI version License DOI code style: prettier

Introduction

Kedro-Viz is an interactive development tool for building data science pipelines with Kedro. Kedro-Viz also allows users to view and compare different runs in the Kedro project.

Features

  • ✨ Complete visualisation of a Kedro project and its pipelines
  • 🎨 Supports light & dark themes out of the box
  • 🚀 Scales to big pipelines with hundreds of nodes
  • 🔎 Highly interactive, filterable and searchable
  • 🔬 Focus mode for modular pipeline visualisation
  • 📊 Rich metadata side panel to display parameters, plots, etc.
  • ♻️ Autoreload on code change
  • 🧪 Supports tracking and comparing runs in a Kedro project
  • 🎩 Many more to come

Installation

There are two ways you can use Kedro-Viz:

  • As a Kedro plugin (the most common way).

    To install Kedro-Viz as a Kedro plugin:

    pip install kedro-viz
    
  • As a standalone React component (for embedding Kedro-Viz in your web application).

    To install the standalone React component:

    npm install @quantumblack/kedro-viz
    

Usage

CLI Usage

To launch Kedro-Viz from the command line as a Kedro plugin, use the following command from the root folder of your Kedro project:

kedro viz

A browser tab opens automatically to serve the visualisation at http://127.0.0.1:4141/.

Kedro-Viz also supports the following additional arguments on the command line:

Usage: kedro viz [OPTIONS]

  Visualise a Kedro pipeline using Kedro-Viz.

Options:
  --host TEXT               Host that viz will listen to. Defaults to
                            localhost.

  --port INTEGER            TCP port that viz will listen to. Defaults to
                            4141.

  --browser / --no-browser  Whether to open viz interface in the default
                            browser or not. Browser will only be opened if
                            host is localhost. Defaults to True.

  --load-file FILE          Path to load the pipeline JSON file
  --save-file FILE          Path to save the pipeline JSON file
  --pipeline TEXT           Name of the registered pipeline to visualise. If not
                            set, the default pipeline is visualised

  -e, --env TEXT            Kedro configuration environment. If not specified,
                            catalog config in `local` will be used

  --autoreload              Autoreload viz server when a Python or YAML file change in
                            the Kedro project

  -h, --help                Show this message and exit.

Experiment Tracking usage

To enable experiment tracking in Kedro-Viz, you need to add the Kedro-Viz SQLiteStore to your Kedro project.

This can be done by adding the below code to settings.py in the src folder of your Kedro project.

from kedro_viz.integrations.kedro.sqlite_store import SQLiteStore
from pathlib import Path
SESSION_STORE_CLASS = SQLiteStore
SESSION_STORE_ARGS = {"path": str(Path(__file__).parents[2] / "data")}

Once the above set-up is complete, tracking datasets can be used to track relevant data for Kedro runs. More information on how to use tracking datasets can be found here

Notes:

  • Experiment Tracking is only available for Kedro-Viz >= 4.0.2 and Kedro >= 0.17.5
  • Prior to Kedro 0.17.6, when using tracking datasets, you will have to explicitly mark the datasets as versioned for it to show up properly in Kedro-Viz experiment tracking tab. From Kedro >= 0.17.6, this is done automatically:
train_evaluation.r2_score_linear_regression:
  type: tracking.MetricsDataSet
  filepath: ${base_location}/09_tracking/linear_score.json
  versioned: true

Standalone React component usage

To use Kedro-Viz as a standalone React component, import the component and supply a data JSON as prop:

import KedroViz from '@quantumblack/kedro-viz';

const MyApp = () => (
  <div style={{ height: '100vh' }}>
    <KedroViz data={json} />
  </div>
);

The JSON can be obtained by running:

kedro viz --save-file=filename.json

We also recommend wrapping the Kedro-Viz component with a parent HTML/JSX element that has a specified height (as seen in the above example) in order for Kedro-Viz to be styled properly.

Feature Flags

Kedro-Viz uses features flags to roll out some experimental features. The following flags are currently in use:

Flag Description
sizewarning From release v3.9.1. Show a warning before rendering very large graphs (default true)
expandAllPipelines From release v4.3.2. Expand all modular pipelines on first load (default false)

To enable or disable a flag, click on the settings icon in the toolbar and toggle the flag on/off.

Kedro-Viz also logs a message in your browser's developer console to show the available flags and their values as currently set on your machine.

Maintainers

Kedro-Viz is maintained by the kedro team and a number of contributors from across the world.

Contribution

If you want to contribute to Kedro-Viz, please check out our contributing guide.

License

Kedro-Viz is licensed under the Apache 2.0 License.

Citation

If you're an academic, Kedro-Viz can also help you, for example, as a tool to visualise how your publication's pipeline is structured. Find our citation reference on Zenodo.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

kedro-viz-4.5.0.tar.gz (4.9 MB view details)

Uploaded Source

Built Distributions

kedro_viz-4.5.0-py3.8.egg (5.1 MB view details)

Uploaded Source

kedro_viz-4.5.0-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file kedro-viz-4.5.0.tar.gz.

File metadata

  • Download URL: kedro-viz-4.5.0.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for kedro-viz-4.5.0.tar.gz
Algorithm Hash digest
SHA256 29b406764607327e6ccba8e7ac9aba6e6807d64ccbcbe5898cd24797b2e8b4f5
MD5 9bb41f7b3bf8904aef86067e204a291b
BLAKE2b-256 18ea4b558b46bdc7efc82d08722b2c5003c63821e58eb96a3e57f73828876b1d

See more details on using hashes here.

File details

Details for the file kedro_viz-4.5.0-py3.8.egg.

File metadata

  • Download URL: kedro_viz-4.5.0-py3.8.egg
  • Upload date:
  • Size: 5.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for kedro_viz-4.5.0-py3.8.egg
Algorithm Hash digest
SHA256 ec2274ea9dd7f5e4e5ef7125c47ed18fd490ed5b437f5ac9aaba1d5464c80cb1
MD5 122df4725b5f35bbf15d68fdaf933597
BLAKE2b-256 ca9cf023dac3f3c06fd2c2e44799415bf15e49edf22905264ff1e002a8100d8f

See more details on using hashes here.

File details

Details for the file kedro_viz-4.5.0-py3-none-any.whl.

File metadata

  • Download URL: kedro_viz-4.5.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for kedro_viz-4.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26b66397d69e1abee7dd2baf2a79ead6d19741d342d91d4789afa43239565f06
MD5 3b9f7476cfb8d89bcf1f829031c94419
BLAKE2b-256 e8c08f56ad0ba67d1be969d17ef521dc57c67894d9b875ac394e3d87b1bf6e92

See more details on using hashes here.

Supported by

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