A lightweight Python library for defining data transformations as testable, self-documenting DAGs that run wherever Python runs.
Kanaries/pygwalker
A Python library that turns pandas, polars, or pyarrow dataframes into an interactive drag-and-drop visual analysis UI inside Jupyter.
Open-source alternative to:Tableau
- Stars
- 15,992
- Forks
- 894
- Open issues
- 70
- Last commit
- 2 months ago
What is it?
PyGWalker is a Python library for exploratory data analysis. Calling pyg.walk on a pandas, polars, or pyarrow dataframe opens an interactive interface in a Jupyter notebook where you build charts by dragging fields onto axes, with no need to write plotting code for each view.
It is built on Graphic Walker, an open-source Tableau-style visualization component. Users can switch mark types such as bar, line, and scatter, create concatenated or faceted views, inspect a data table with profiling and filters, and tweak colors, labels, and tooltips. Chart state can be saved to a local spec file and exported as reproducible Python code or as PNG and SVG images.
The library runs in Jupyter Notebook, JupyterLab, Google Colab, Kaggle, and marimo, and can be embedded in Streamlit apps. Computation can run in the browser, in the Python kernel via DuckDB for larger datasets, or on Kanaries cloud.
Key features
- 01Drag-and-drop chart building directly on a pandas, polars, or pyarrow dataframe.
- 02Supports bar, line, scatter and other mark types, with concat and facet views.
- 03Data table view with profiling, filters, and column type changes.
- 04Export charts as PNG, SVG, or reproducible Python code.
- 05Saves chart configuration to a local file for reuse.
- 06Choose browser, DuckDB kernel, or cloud computation.
Use cases
- Exploring a new CSV or dataframe visually inside a Jupyter notebook.
- Sharing interactive data exploration inside Streamlit dashboards.
- Quickly checking distributions and outliers before modeling.
- Turning ad-hoc visual analysis into reproducible Python code.
Quick start
- 1
Install PyGWalker with pip
pip install pygwalker - 2
Import pandas and pygwalker in a Jupyter Notebook
import pandas as pd import pygwalker as pyg - 3
Load a DataFrame and launch the interactive UI
df = pd.read_csv('./bike_sharing_dc.csv') walker = pyg.walk(df)
Things to know
- Interactive UI runs inside Jupyter or a notebook-like environment, so it is not a standalone app.
Topics
FAQ
- What is pygwalker?
- A Python library that turns pandas, polars, or pyarrow dataframes into an interactive drag-and-drop visual analysis UI inside Jupyter. PyGWalker is a Python library for exploratory data analysis. Calling pyg.walk on a pandas, polars, or pyarrow dataframe opens an interactive interface in a Jupyter notebook where you build charts by dragging fields onto axes, with no need to write plotting code for each view.
- Is pygwalker free to use? What license does it have?
- pygwalker is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is pygwalker still maintained?
- Updated within 6 months. The last commit to pygwalker was on Sep 5, 2026.
- What can I use pygwalker for?
- Exploring a new CSV or dataframe visually inside a Jupyter notebook. Sharing interactive data exploration inside Streamlit dashboards. Quickly checking distributions and outliers before modeling. Turning ad-hoc visual analysis into reproducible Python code.
- How do I install pygwalker?
- Install PyGWalker with pip: pip install pygwalker Import pandas and pygwalker in a Jupyter Notebook: import pandas as pd import pygwalker as pyg Load a DataFrame and launch the interactive UI: df = pd.read_csv('./bike_sharing_dc.csv') walker = pyg.walk(df)
- Where can I get pygwalker?
- The source code and installation instructions are on GitHub: https://github.com/Kanaries/pygwalker
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry, returning pandas DataFrames.
A Python low-code toolkit for building multi-page data visualization dashboards built on Plotly, Dash and Pydantic.
Python framework for building interactive data apps and dashboards in pure Python, without writing JavaScript.
A drop-in Jupyter replacement with an AI agent, a `.deepnote` YAML notebook format, and a block-based editor for Python, R, and SQL.
A fast, extensible progress bar for Python loops, iterables, and command-line pipes.