Skip to content

kedro cli plugin for generating a static kedro viz site (html, css, js) that can be deployed on many serverless tools.

License

Notifications You must be signed in to change notification settings

WaylonWalker/kedro-static-viz

Repository files navigation

Kedro-Static-Viz

Kedro-Static-Viz creates a static website for your Kedro data pipelines. Kedro static viz is a very small python cli that makes your kedro-viz generated pipeline.json data available to a static appication built with gatsbyjs. The benefit of this is that it it can be built inside of a ci service such as github actions and deployed to a number to static file hosts such as Netlify, Now.sh, github pages, S3. Free options are endless these days. By default the site will be built to the public directory.

Python package

PyPI version

Build public.tar.gz and Deploy example to gh-pages


Example Site

On every push to master in this repo static-viz.kedro.dev is built and deployed.

CLI Usage

kedro static-viz

!Python Usage

The static_viz function is callable from inside your project directory.

from kedro_static_viz import static_viz
static_viz()

Hooks Usage

from kedro_static_viz.hooks import StaticViz

class ProjectContext(KedroContext):
   project_name = "kedro0160"
   project_version = "0.16.1"
   package_name = "kedro0160"
   hooks = [ StaticViz() ]

Installation

How do I install and use Kedro-Static-Viz?

As a Kedro Python plugin

Kedro-Static-Viz is available as a Python plugin named kedro-static-viz.

The following conditions must be true in order to visualise your pipeline:

  • Your project directory must be available to the Kedro-Static-Viz plugin.
  • You must be using a Kedro data pipelines project structure with a complete Data Catalog, nodes and pipeline structure.

To install it:

pip install kedro-static-viz

This will install kedro as a dependency, and add kedro static-viz as an additional CLI command.

To visualise your pipeline, go to your project root directory and install the project-specific dependencies by running:

kedro install

This will install the dependencies specified in requirements.txt in your Kedro environment (see the Kedro documentation for how to set up your Python virtual environment).

Finally, run the following command from the project directory to visualise your pipeline:

kedro static-viz

This command will run kedro_viz.server on http://127.0.0.1:4141/ which cannot be accessed from another machine.

Kedro-Viz has a number of options to customise running the visualisation:

CLI command Description
--port TCP port that viz will listen to. Defaults to 4141.
--browser/--no-browser Whether to open viz interface in the default browser or not.
--load-file Path to load the pipeline JSON file
--pipeline Name of the modular pipeline to visualise. If not set, the default pipeline is visualised.
--env, -e Kedro configuration environment. If not specified, catalog config in local will be used.
--directory Directory to render the static site to
--serve/--no-serve Whether or not to serve the site after creating. Defaults to True.

Contributing

You're Awesome for considering a contribution! Contributions are welcome, please check out the Contributing Guide for more information. Please be a positive member of the community and embrace feedback

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

Waylon Walker - Waylon Walker - Original Author

License

This project is licensed under the MIT License - see the LICENSE file for details