
expdpy — explore panel data interactively
expdpy is an exploratory data analysis toolkit for panel and cross-sectional data, built on modern Python tooling (Plotly, pyfixest, and Great Tables). It pairs composable analytical functions with two no-code web apps, and is a Python port of the ExPanDaR R package.
Get started
- Quick Start notebook (Colab) — run the package end to end in your browser, no installation required.
- Online app (Streamlit) — explore the bundled datasets with no code.
- API Reference — full function-level documentation.
What it does
- Explore — descriptive statistics, correlation matrices, extreme observations, histograms, time and quantile trends, grouped bar/violin charts, and scatter plots with optional LOESS smoothing.
- Model — multi-way fixed effects with clustered standard errors, publication-ready regression tables, Frisch–Waugh–Lovell partial-regression plots, and outlier treatment (winsorization/truncation).
- Reproduce — export any session as a Jupyter notebook, Python script, or prepared dataset, and carry configurations between the apps.
A quick taste
import expdpy as ex
from expdpy.data import load_kuznets
df = load_kuznets() # synthetic 80-country panel
ex.prepare_scatter_plot(
df, x="log_gdp_pc", y="gini_regional", color="continent", size="population", loess=1
).show()
Two no-code apps
The same analyses are available in the browser through a multipage Streamlit app (deployable to the cloud) and a single-view Shiny for Python app — no coding required.
Example data
expdpy ships with a synthetic Kuznets panel (80 countries, 2015–2025) for illustrating N-shaped inequality curves, plus the Gapminder dataset.
Install
pip install "git+https://github.com/cmg777/expdpy.git"
expdpy is a Python port of the ExPanDaR R package by Joachim Gassen and the TRR 266 project; please cite the original work in research. Released under the MIT License.