Python scripts and Jupyter notebooks for development sector data workflows.
Plug-and-play templates for health, gender, education, and climate equity data — built for reproducibility.
EquityStack is a collection of Python scripts, Jupyter notebooks, and sample data for development sector analysis. It provides ready-to-use utilities for data cleaning, validation, modelling, and visualisation — with a focus on public health, gender equity, education, and climate resilience workflows.
This is the data pipeline layer of OpenStacks for Change — an open ecosystem of tools for public interest research and evaluation.
| Module | What It Does | Status |
|---|---|---|
cleaning/ | Column name standardisation, dtype conversion, missing value handling, outlier flagging, cleaning log generation | Ready |
impact_evaluation/ | Causal inference: Difference-in-Differences, Propensity Score Matching, Regression Discontinuity Design | Ready |
validation/ | Input validation with Pydantic models | Ready |
io_helpers/ | Chunked CSV reading, Stata/SPSS import, formatted Excel export | Ready |
modelling/ | Multicollinearity checks (VIF) | Ready |
visualisation/ | Annotated bar charts, district-level choropleth maps | Ready |
social_sector/ | Public health access index | Ready |
| Notebook | What It Does |
|---|---|
sector_gender_summary.ipynb | Gender-disaggregated analysis with sample data |
sector_wee_time_use.ipynb | Women's economic empowerment time-use analysis |
| Directory | What It Contains |
|---|---|
sample_data/ | Gender sample and time-use sample datasets |
tests/ | 10 pytest test files covering all core modules |
scripts/ | Standalone export utilities |
- Python 3.8+
- Jupyter (notebook or lab)
git clone https://github.com/Varnasr/EquityStack.git
cd EquityStack
pip install -r requirements.txt
jupyter notebook- Open a notebook from
notebooks/to see a working analysis - Load practice data from
sample_data/ - Use
cleaning/to prepare your own data - Apply
modelling/andvisualisation/for analysis and outputs - Export with
io_helpers/for Excel or dashboard-ready formats
- pandas, numpy — data manipulation
- matplotlib, seaborn — visualisation
- scikit-learn, statsmodels — modelling
- openpyxl, xlsxwriter — Excel I/O
- pydantic — data validation
- geopandas, folium — spatial mapping
EquityStack is one of several stacks in the OpenStacks ecosystem:
| Stack | Focus |
|---|---|
| InsightStack | MEL tools, calculators, documentation |
| FieldStack | R notebooks for fieldwork and evaluation |
| EquityStack (this repo) | Python workflows for development data |
| SignalStack | Research Rundown newsletter archive |
Use EquityStack when you work in Python/Jupyter. Use FieldStack for R-based equivalents. Use InsightStack for Stata tools and MEL calculators.
Contributions welcome — especially from data practitioners in the development sector. See CONTRIBUTING.md.
High-impact areas:
- EDA tools — correlation matrices, group summaries, data profiling
- Modelling — logistic regression evaluation, OLS summary tables
- Social sector — climate risk flags, education outcomes, gender disaggregation, WEE analysis
- Notebooks — more worked examples with real analysis workflows
- Visualisation — categorical distributions, regression diagnostics, time series
@software{equitystack,
author = {Sri Raman, Varna},
title = {EquityStack: Python Workflows for Development Data},
url = {https://github.com/Varnasr/EquityStack}
}MIT — free to use, modify, and share. See LICENSE.
Part of OpenStacks for Change. Created by Varna Sri Raman.