# Kedro-Viz
<br />
<p align="center">

</p>
<p align="center">
✨ <em> Data Science Pipelines. Beautifully Designed</em> ✨
<br />
Live Demo: <a href="https://demo.kedro.org/" target="_blank">https://demo.kedro.org/</a>
</p>
<br />
[](https://github.com/kedro-org/kedro-viz/actions)
[](https://docs.kedro.org/en/stable/visualisation/)
[](https://pypi.org/project/kedro-viz/)
[](https://pypi.org/project/kedro-viz/)
[](https://pepy.tech/project/kedro-viz)
[](https://badge.fury.io/js/%40quantumblack%2Fkedro-viz)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/prettier/prettier)
[](https://slack.kedro.org)
## Introduction
Kedro-Viz is an interactive development tool for building data science pipelines with [Kedro](https://github.com/kedro-org/kedro).
## 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.
- 📊 Supports all types of [Plotly charts](https://plotly.com/javascript/)
- ♻️ Autoreload on code change
- 🎩 Many more to come
## Installation
There are two ways you can use Kedro-Viz:
- As a [Kedro plugin](https://docs.kedro.org/en/stable/extend_kedro/plugins.html) (the most common way).
  To install Kedro-Viz as a Kedro plugin:
  ```bash
  pip install kedro-viz
  ```
- As a standalone React component (for embedding Kedro-Viz in your web application).
  To install the standalone React component:
  ```bash
  npm install @quantumblack/kedro-viz
  ```
## Usage
#### Compatibility with Kedro and Kedro-datasets   
Ensure your `Kedro`, `Kedro-Viz` and `Kedro-datasets` versions are supported by referencing the following table:
<table>
    <tr>
        <th>Python Version</th>
        <th style="text-align: center" colspan="3">Last Supported</th>
    </tr>
    <tr>
        <td></td>
        <td>Kedro</td>
        <td>Kedro-Viz</td>
        <td>Kedro-datasets</td>
    </tr>
    <tr>
        <td>3.6</td>
        <td>0.17.7</td>
        <td>4.1.1</td>
        <td>-</td>
    </tr>
    <tr>
        <td>3.7</td>
        <td>0.18.14</td>
        <td>6.7.0</td>
        <td>1.8.0</td>
    </tr>
    <tr>
        <td>3.8</td>
        <td>Latest</td>
        <td>7.1.0</td>
        <td>1.8.0</td>
    </tr>
    <tr>
        <td>3.9</td>
        <td>Latest</td>
        <td>Latest</td>
        <td>5.0.0</td>
    </tr>
    <tr>
        <td>>= 3.10</td>
        <td>Latest</td>
        <td>Latest</td>
        <td>Latest</td>
    </tr>
</table>
### 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:
```bash
kedro viz run
```
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:
```bash
Usage: kedro viz run [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 Kedro-Viz data from a directory
  --save-file FILE          Path to save Kedro-Viz data to a directory 
  -p, --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
  --include-hooks           A flag to include all registered hooks in your
                            Kedro Project
  --params TEXT             Specify extra parameters that you want to pass to
                            the context initializer. Items must be separated
                            by comma, keys - by colon, example:
                            param1:value1,param2:value2. Each parameter is
                            split by the first comma, so parameter values are
                            allowed to contain colons, parameter keys are not.
                            To pass a nested dictionary as parameter, separate
                            keys by '.', example: param_group.param1:value1.
  --lite                    An experimental flag to open Kedro-Viz without Kedro
                            project dependencies.
  -h, --help                Show this message and exit.
```
To deploy Kedro-Viz from the command line as a Kedro plugin, use the following command from the root folder of your Kedro project:
```bash
kedro viz deploy
```
```bash
Usage: kedro viz deploy [OPTIONS]
  Deploy and host Kedro Viz on AWS S3.
Options:
  --platform TEXT     Supported Cloud Platforms like ('aws', 'azure', 'gcp')
                      to host Kedro Viz  [required]
  --endpoint TEXT     Static Website hosted endpoint.(eg., For AWS - http://<b
                      ucket_name>.s3-website.<region_name>.amazonaws.com/)
                      [required]
  --bucket-name TEXT  Bucket name where Kedro Viz will be hosted  [required]
  --include-hooks     A flag to include all registered hooks in your Kedro
                      Project
  --include-previews  A flag to include preview for all the datasets
  -h, --help          Show this message and exit.
```
To create a build directory of your local Kedro-Viz instance with static data from the command line, use the following command from the root folder of your Kedro project:
```bash
kedro viz build
```
```bash
Usage: kedro viz build [OPTIONS]
  Create build directory of local Kedro Viz instance with Kedro project data
Options:
  --include-hooks     A flag to include all registered hooks in your Kedro
                      Project
  --include-previews  A flag to include preview for all the datasets
  -h, --help          Show this message and exit.
```
### Standalone React component usage
To use Kedro-Viz as a standalone React component, you can follow the example below. However, please note that Kedro-Viz does not support server-side rendering (SSR). If you're using Next.js or another SSR framework, you should be aware of this limitation.
```javascript
import KedroViz from '@quantumblack/kedro-viz';
import '@quantumblack/kedro-viz/lib/styles/styles.min.css';
const MyApp = () => (
  <div style={{height: `100vh`}}>
    <KedroViz
      data={json}
      options={/* Options to configure Kedro Viz */}
    />
  </div>
);
```
To use with NextJS:
```javascript
import '@quantumblack/kedro-viz/lib/styles/styles.min.css';
import dynamic from 'next/dynamic';
const NoSSRKedro = dynamic(() => import('@quantumblack/kedro-viz'), {
  ssr: false,
});
const MyApp = () => <NoSSRKedro data={json} />;
```
The JSON can be obtained by running:
```bash
kedro viz run --save-file=filename
```
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.
For more information on how to use Kedro-Viz as a React component, follow this [guide](https://www.npmjs.com/package/@quantumblack/kedro-viz)
**_Our documentation contains [additional examples on how to visualise with Kedro-Viz.](https://docs.kedro.org/en/stable/visualisation/index.html)_**
## Kedro-Viz in Visual Studio Code Extension
To visualize Kedro project using Kedro-Viz in Visual Studio Code, please install Kedro extension in Visual Studio Code.
For more information on how to use Kedro-Viz in Visual Studio Code, follow this [guide](https://marketplace.visualstudio.com/items?itemName=kedro.Kedro)
## Feature Flags
Kedro-Viz uses features flags to roll out some experimental features. No feature flags are currently in use.
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](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools#The_JavaScript_console) to show the available flags and their values as currently set on your machine.
## Python version support policy
Kedro Viz supports all Python versions that are actively maintained by the CPython core team. When a [Python version reaches end of life](https://devguide.python.org/versions/#versions), support for that version is dropped from Kedro-viz. This is not considered a breaking change.
## Maintainers
Kedro-Viz is maintained by the [Kedro team](https://docs.kedro.org/en/stable/contribution/technical_steering_committee.html#kedro-maintainers) and a number of [contributors from across the world](https://github.com/kedro-org/Kedro-Viz/contributors).
## Contribution
If you want to contribute to Kedro-Viz, please check out our [contributing guide](./CONTRIBUTING.md).
## License
Kedro-Viz is licensed under the [Apache 2.0](https://github.com/kedro-org/kedro-viz/blob/main/LICENSE.md) 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](https://doi.org/10.5281/zenodo.4277218).
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": null,
    "name": "kedro-viz",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "data engineering, data pipelines, data science, machine learning, pipelines, visualisation",
    "author": "Kedro",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/df/5d/a03300dc5292ede5f64f5d7f72411fa883f666a2eed938968251b5545ac3/kedro_viz-12.1.0.tar.gz",
    "platform": null,
    "description": "# Kedro-Viz\n\n<br />\n<p align=\"center\">\n\n\n</p>\n\n<p align=\"center\">\n\u2728 <em> Data Science Pipelines. Beautifully Designed</em> \u2728\n<br />\nLive Demo: <a href=\"https://demo.kedro.org/\" target=\"_blank\">https://demo.kedro.org/</a>\n</p>\n\n<br />\n\n[](https://github.com/kedro-org/kedro-viz/actions)\n[](https://docs.kedro.org/en/stable/visualisation/)\n[](https://pypi.org/project/kedro-viz/)\n[](https://pypi.org/project/kedro-viz/)\n[](https://pepy.tech/project/kedro-viz)\n[](https://badge.fury.io/js/%40quantumblack%2Fkedro-viz)\n[](https://opensource.org/licenses/Apache-2.0)\n[](https://github.com/prettier/prettier)\n[](https://slack.kedro.org)\n\n## Introduction\n\nKedro-Viz is an interactive development tool for building data science pipelines with [Kedro](https://github.com/kedro-org/kedro).\n\n## Features\n\n- \u2728 Complete visualisation of a Kedro project and its pipelines\n- \ud83c\udfa8 Supports light & dark themes out of the box\n- \ud83d\ude80 Scales to big pipelines with hundreds of nodes\n- \ud83d\udd0e Highly interactive, filterable and searchable\n- \ud83d\udd2c Focus mode for modular pipeline visualisation\n- \ud83d\udcca Rich metadata side panel to display parameters, plots, etc.\n- \ud83d\udcca Supports all types of [Plotly charts](https://plotly.com/javascript/)\n- \u267b\ufe0f Autoreload on code change\n- \ud83c\udfa9 Many more to come\n\n## Installation\n\nThere are two ways you can use Kedro-Viz:\n\n- As a [Kedro plugin](https://docs.kedro.org/en/stable/extend_kedro/plugins.html) (the most common way).\n\n  To install Kedro-Viz as a Kedro plugin:\n\n  ```bash\n  pip install kedro-viz\n  ```\n\n- As a standalone React component (for embedding Kedro-Viz in your web application).\n\n  To install the standalone React component:\n\n  ```bash\n  npm install @quantumblack/kedro-viz\n  ```\n\n## Usage\n\n#### Compatibility with Kedro and Kedro-datasets   \n\nEnsure your `Kedro`, `Kedro-Viz` and `Kedro-datasets` versions are supported by referencing the following table:\n\n<table>\n    <tr>\n        <th>Python Version</th>\n        <th style=\"text-align: center\" colspan=\"3\">Last Supported</th>\n    </tr>\n    <tr>\n        <td></td>\n        <td>Kedro</td>\n        <td>Kedro-Viz</td>\n        <td>Kedro-datasets</td>\n    </tr>\n    <tr>\n        <td>3.6</td>\n        <td>0.17.7</td>\n        <td>4.1.1</td>\n        <td>-</td>\n    </tr>\n    <tr>\n        <td>3.7</td>\n        <td>0.18.14</td>\n        <td>6.7.0</td>\n        <td>1.8.0</td>\n    </tr>\n    <tr>\n        <td>3.8</td>\n        <td>Latest</td>\n        <td>7.1.0</td>\n        <td>1.8.0</td>\n    </tr>\n    <tr>\n        <td>3.9</td>\n        <td>Latest</td>\n        <td>Latest</td>\n        <td>5.0.0</td>\n    </tr>\n    <tr>\n        <td>>= 3.10</td>\n        <td>Latest</td>\n        <td>Latest</td>\n        <td>Latest</td>\n    </tr>\n</table>\u200b\n\n\n### CLI Usage\n\nTo launch Kedro-Viz from the command line as a Kedro plugin, use the following command from the root folder of your Kedro project:\n\n```bash\nkedro viz run\n```\n\nA browser tab opens automatically to serve the visualisation at `http://127.0.0.1:4141/`.\n\nKedro-Viz also supports the following additional arguments on the command line:\n\n```bash\nUsage: kedro viz run [OPTIONS]\n\n  Visualise a Kedro pipeline using Kedro-Viz.\n\nOptions:\n  --host TEXT               Host that viz will listen to. Defaults to\n                            localhost.\n\n  --port INTEGER            TCP port that viz will listen to. Defaults to\n                            4141.\n\n  --browser / --no-browser  Whether to open viz interface in the default\n                            browser or not. Browser will only be opened if\n                            host is localhost. Defaults to True.\n\n  --load-file FILE          Path to load Kedro-Viz data from a directory\n  --save-file FILE          Path to save Kedro-Viz data to a directory \n  -p, --pipeline TEXT       Name of the registered pipeline to visualise. If not\n                            set, the default pipeline is visualised\n\n  -e, --env TEXT            Kedro configuration environment. If not specified,\n                            catalog config in `local` will be used\n\n  --autoreload              Autoreload viz server when a Python or YAML file change in\n                            the Kedro project\n\n  --include-hooks           A flag to include all registered hooks in your\n                            Kedro Project\n\n  --params TEXT             Specify extra parameters that you want to pass to\n                            the context initializer. Items must be separated\n                            by comma, keys - by colon, example:\n                            param1:value1,param2:value2. Each parameter is\n                            split by the first comma, so parameter values are\n                            allowed to contain colons, parameter keys are not.\n                            To pass a nested dictionary as parameter, separate\n                            keys by '.', example: param_group.param1:value1.\n\n  --lite                    An experimental flag to open Kedro-Viz without Kedro\n                            project dependencies.\n\n  -h, --help                Show this message and exit.\n```\n\nTo deploy Kedro-Viz from the command line as a Kedro plugin, use the following command from the root folder of your Kedro project:\n\n```bash\nkedro viz deploy\n```\n\n```bash\nUsage: kedro viz deploy [OPTIONS]\n\n  Deploy and host Kedro Viz on AWS S3.\n\nOptions:\n  --platform TEXT     Supported Cloud Platforms like ('aws', 'azure', 'gcp')\n                      to host Kedro Viz  [required]\n  --endpoint TEXT     Static Website hosted endpoint.(eg., For AWS - http://<b\n                      ucket_name>.s3-website.<region_name>.amazonaws.com/)\n                      [required]\n  --bucket-name TEXT  Bucket name where Kedro Viz will be hosted  [required]\n  --include-hooks     A flag to include all registered hooks in your Kedro\n                      Project\n  --include-previews  A flag to include preview for all the datasets\n  -h, --help          Show this message and exit.\n```\n\nTo create a build directory of your local Kedro-Viz instance with static data from the command line, use the following command from the root folder of your Kedro project:\n\n```bash\nkedro viz build\n```\n\n```bash\nUsage: kedro viz build [OPTIONS]\n\n  Create build directory of local Kedro Viz instance with Kedro project data\n\nOptions:\n  --include-hooks     A flag to include all registered hooks in your Kedro\n                      Project\n  --include-previews  A flag to include preview for all the datasets\n  -h, --help          Show this message and exit.\n```\n### Standalone React component usage\n\nTo use Kedro-Viz as a standalone React component, you can follow the example below. However, please note that Kedro-Viz does not support server-side rendering (SSR). If you're using Next.js or another SSR framework, you should be aware of this limitation.\n\n```javascript\nimport KedroViz from '@quantumblack/kedro-viz';\nimport '@quantumblack/kedro-viz/lib/styles/styles.min.css';\n\nconst MyApp = () => (\n  <div style={{height: `100vh`}}>\n    <KedroViz\n      data={json}\n      options={/* Options to configure Kedro Viz */}\n    />\n  </div>\n);\n```\n\nTo use with NextJS:\n\n```javascript\nimport '@quantumblack/kedro-viz/lib/styles/styles.min.css';\nimport dynamic from 'next/dynamic';\n\nconst NoSSRKedro = dynamic(() => import('@quantumblack/kedro-viz'), {\n  ssr: false,\n});\n\nconst MyApp = () => <NoSSRKedro data={json} />;\n```\n\nThe JSON can be obtained by running:\n\n```bash\nkedro viz run --save-file=filename\n```\n\nWe 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.\n\nFor more information on how to use Kedro-Viz as a React component, follow this [guide](https://www.npmjs.com/package/@quantumblack/kedro-viz)\n\n**_Our documentation contains [additional examples on how to visualise with Kedro-Viz.](https://docs.kedro.org/en/stable/visualisation/index.html)_**\n\n## Kedro-Viz in Visual Studio Code Extension\n\nTo visualize Kedro project using Kedro-Viz in Visual Studio Code, please install Kedro extension in Visual Studio Code.\n\nFor more information on how to use Kedro-Viz in Visual Studio Code, follow this [guide](https://marketplace.visualstudio.com/items?itemName=kedro.Kedro)\n\n## Feature Flags\n\nKedro-Viz uses features flags to roll out some experimental features. No feature flags are currently in use.\n\nTo enable or disable a flag, click on the settings icon in the toolbar and toggle the flag on/off.\n\nKedro-Viz also logs a message in your browser's [developer console](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools#The_JavaScript_console) to show the available flags and their values as currently set on your machine.\n\n\n## Python version support policy\nKedro Viz supports all Python versions that are actively maintained by the CPython core team. When a [Python version reaches end of life](https://devguide.python.org/versions/#versions), support for that version is dropped from Kedro-viz. This is not considered a breaking change.\n\n## Maintainers\n\nKedro-Viz is maintained by the [Kedro team](https://docs.kedro.org/en/stable/contribution/technical_steering_committee.html#kedro-maintainers) and a number of [contributors from across the world](https://github.com/kedro-org/Kedro-Viz/contributors).\n\n## Contribution\n\nIf you want to contribute to Kedro-Viz, please check out our [contributing guide](./CONTRIBUTING.md).\n\n## License\n\nKedro-Viz is licensed under the [Apache 2.0](https://github.com/kedro-org/kedro-viz/blob/main/LICENSE.md) License.\n\n## Citation\n\nIf 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](https://doi.org/10.5281/zenodo.4277218).",
    "bugtrack_url": null,
    "license": "Apache Software License (Apache 2.0)",
    "summary": "Kedro-Viz helps visualise Kedro data and analytics pipelines",
    "version": "12.1.0",
    "project_urls": {
        "Documentation": "https://docs.kedro.org/projects/kedro-viz",
        "Homepage": "https://kedro.org",
        "Source": "https://github.com/kedro-org/kedro-viz",
        "Tracker": "https://github.com/kedro-org/kedro-viz/issues"
    },
    "split_keywords": [
        "data engineering",
        " data pipelines",
        " data science",
        " machine learning",
        " pipelines",
        " visualisation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bb08d30e34ab0c625348d47d30976f73910e0662e15b14194c4e39aa2474074a",
                "md5": "4a67352a32e0ba1dae4650806ef9e53e",
                "sha256": "47bf90065227e93babf090a1aebaf2b55ce40e1365eb3c9d1f51ac46ad777e39"
            },
            "downloads": -1,
            "filename": "kedro_viz-12.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4a67352a32e0ba1dae4650806ef9e53e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 1890981,
            "upload_time": "2025-09-10T08:40:41",
            "upload_time_iso_8601": "2025-09-10T08:40:41.255019Z",
            "url": "https://files.pythonhosted.org/packages/bb/08/d30e34ab0c625348d47d30976f73910e0662e15b14194c4e39aa2474074a/kedro_viz-12.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df5da03300dc5292ede5f64f5d7f72411fa883f666a2eed938968251b5545ac3",
                "md5": "5f1e83e9554c0e1912f06d00f7817714",
                "sha256": "77c70813824ccfe0ff8385e82d9bd19eb4d48e5c5174e131ebf361b3acd09546"
            },
            "downloads": -1,
            "filename": "kedro_viz-12.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5f1e83e9554c0e1912f06d00f7817714",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 1855785,
            "upload_time": "2025-09-10T08:40:43",
            "upload_time_iso_8601": "2025-09-10T08:40:43.176587Z",
            "url": "https://files.pythonhosted.org/packages/df/5d/a03300dc5292ede5f64f5d7f72411fa883f666a2eed938968251b5545ac3/kedro_viz-12.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-10 08:40:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kedro-org",
    "github_project": "kedro-viz",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "kedro-viz"
}