Skip to content

Repository files navigation

EquityStack

Python scripts and Jupyter notebooks for development sector data workflows.

Part of OpenStacksLicense: MIT

Plug-and-play templates for health, gender, education, and climate equity data — built for reproducibility.


What This Is

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.

What's Inside

Core Modules

ModuleWhat It DoesStatus
cleaning/Column name standardisation, dtype conversion, missing value handling, outlier flagging, cleaning log generationReady
impact_evaluation/Causal inference: Difference-in-Differences, Propensity Score Matching, Regression Discontinuity DesignReady
validation/Input validation with Pydantic modelsReady
io_helpers/Chunked CSV reading, Stata/SPSS import, formatted Excel exportReady
modelling/Multicollinearity checks (VIF)Ready
visualisation/Annotated bar charts, district-level choropleth mapsReady
social_sector/Public health access indexReady

Notebooks

NotebookWhat It Does
sector_gender_summary.ipynbGender-disaggregated analysis with sample data
sector_wee_time_use.ipynbWomen's economic empowerment time-use analysis

Data and Testing

DirectoryWhat It Contains
sample_data/Gender sample and time-use sample datasets
tests/10 pytest test files covering all core modules
scripts/Standalone export utilities

Getting Started

Prerequisites

  • Python 3.8+
  • Jupyter (notebook or lab)

Installation

git clone https://github.com/Varnasr/EquityStack.git
cd EquityStack
pip install -r requirements.txt
jupyter notebook

Quick Start

  1. Open a notebook from notebooks/ to see a working analysis
  2. Load practice data from sample_data/
  3. Use cleaning/ to prepare your own data
  4. Apply modelling/ and visualisation/ for analysis and outputs
  5. Export with io_helpers/ for Excel or dashboard-ready formats

Key Dependencies

  • pandas, numpy — data manipulation
  • matplotlib, seaborn — visualisation
  • scikit-learn, statsmodels — modelling
  • openpyxl, xlsxwriter — Excel I/O
  • pydantic — data validation
  • geopandas, folium — spatial mapping

How It Connects

EquityStack is one of several stacks in the OpenStacks ecosystem:

StackFocus
InsightStackMEL tools, calculators, documentation
FieldStackR notebooks for fieldwork and evaluation
EquityStack (this repo)Python workflows for development data
SignalStackResearch 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.

Contributing

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

Citation

@software{equitystack,
author = {Sri Raman, Varna},
title = {EquityStack: Python Workflows for Development Data},
url = {https://github.com/Varnasr/EquityStack}
}

License

MIT — free to use, modify, and share. See LICENSE.


Part of OpenStacks for Change. Created by Varna Sri Raman.

About

Python scripts and Jupyter notebooks for development sector data workflows. Part of OpenStacks for Change.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages