pygwalker
pygwalker: turn your data into an interactive UI for data exploration and visualization
What it is and what it does
PyGWalker is a Python library that embeds Graphic Walker, an open-source Tableau alternative, into Jupyter Notebooks as an interactive widget. It converts a pandas DataFrame into a drag-and-drop visual interface where you can create charts, filter data, and explore patterns without writing code. The library supports multiple chart types, real-time visualization updates, and includes a data table with profiling and type-change capabilities.
The package integrates deeply with the Jupyter ecosystem through ipywidgets and ipylab, and optionally uses duckdb as a computation engine for handling larger datasets. It allows you to save chart configurations to JSON files, export visualizations as SVG or PNG, and maintain your analysis state across sessions. The runtime dependencies—including pandas, numpy, pyarrow, sqlalchemy, and sqlglot—provide the data manipulation and query capabilities underlying the interactive interface.
Use it for:
- Exploratory data analysis in Jupyter without writing visualization code—load a CSV and drag dimensions/measures to build charts interactively.
- Data cleaning and outlier detection using the visual data table and filtering tools to identify and annotate inconsistencies.
- Sharing analysis results by saving chart configurations and exporting visualizations as static images or interactive HTML.
- Building Streamlit dashboards that embed PyGWalker for web-based interactive data exploration without Jupyter.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Turns pandas DataFrames into interactive drag-and-drop visual exploration interfaces within Jupyter Notebooks, supporting chart creation, data cleaning, and filtering without coding.
Yes. PyGWalker is actively maintained, has no known vulnerabilities, installs with low friction, and fills a clear need for code-free interactive data exploration in Jupyter. The permissive Apache license and strong community adoption make it a safe choice. Install it if you want to reduce boilerplate visualization code and enable non-technical stakeholders to explore data interactively; skip it only if you need offline-only operation or have strict dependency minimalism requirements.
Install
pygwalker on PyPI
pip
pip install pygwalkeruv
uv add pygwalkerpoetry
poetry add pygwalkerInstalling pygwalker
Before you install
Low friction install with a pure-Python wheel. Active maintenance (last commit 2026-08-10) and strong popularity. Requires 25 runtime dependencies including pandas, duckdb, and ipywidgets, which may add setup complexity in constrained environments.
License in practice
Licensed under Apache Software License (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects.
Quickstart
pip install pygwalker
import pandas as pd
import pygwalker as pyg
df = pd.read_csv('data.csv')
walker = pyg.walk(df)
Requires Jupyter Notebook or compatible environment (ipywidgets, ipylab); kernel_computation=True requires duckdb for larger datasets.
Verify before relying
- Maximum dataset size supported with kernel_computation=True (description mentions '<=100GB' but this is not in the fact sheet)
- Performance characteristics and latency for interactive operations on typical dataset sizes
- Compatibility with JupyterLab vs. classic Notebook and other notebook environments
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 25 — anywidget, appdirs, arrow, astor, cachetools, duckdb, gw-dsl-parser, ipylab, ipython, ipywidgets, jinja2, kanaries-track, numpy, packaging, pandas, psutil, pyarrow, pydantic, pytz, requests, segment-analytics-python, sqlalchemy, sqlglot, traitlets, typing-extensions |
| Maintenance | actively maintained — 132 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 281,281/month — #8,101 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pygwalker-0.5.0.1-py3-none-any.whl
Keywords: data-analysis, data-exploration, dataframe, jupyter, pandas, tableau, tableau-alternative, visualization
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
dtaleD-Tale is a Flask-backed web interface for…
copyleft · top 15,000 on PyPI
itablesRenders Pandas and Polars DataFrames as…
permissive · top 5,000 on PyPI
pyLDAvispyLDAvis creates interactive web-based…
permissive · top 15,000 on PyPI
facets-overviewGenerates summary statistics for dataset…
permissive · top 15,000 on PyPI
missingnoVisualizes missing data patterns in DataFrames…
permissive · top 15,000 on PyPI
highcharts-coreGenerates interactive Highcharts data…
unclear · top 15,000 on PyPI
ydata-profilingGenerates comprehensive exploratory data…
permissive · top 5,000 on PyPI
pandas-summaryExtends pandas' describe() function to provide…
permissive · top 15,000 on PyPI
streamlit-aggridEmbeds ag-grid, a feature-rich data grid…
permissive · top 5,000 on PyPI
palmerpenguinsLoads the Palmer penguins dataset—344…
permissive · top 15,000 on PyPI