NEW v0.1.0 Pure-NumPy Transport Equity Suite Released →

moveq is a fast transport-equity toolkit. All in one.

Calculate population-weighted Gini coefficients, continuous Palma ratios, Wagstaff Concentration Indices, and composite accessibility scores with pure NumPy speed.

GGini Coefficient
PContinuous Palma
CConcentration Index
SComposite Score
HHarmonization
$ pip install "moveq[cli,frames]"
Computing Population-Weighted Gini on 1M Zones
1,000,000 spatial units · medians of 5 runs · latency (lower is better)

Adopt one module, or the entire suite.

PURE NUMPY
G

moveq-core

Pure-NumPy Engine

Fast, zero-dependency population-weighted Gini, continuous boundary Palma ratio, and tied-rank Wagstaff Concentration Index.

from moveq_core.equity import compute_gini
GRACEFUL DROPS
S

moveq-score

Composite Scoring

Multi-indicator transit indexing with dynamic weight renormalization when indicators are missing, preventing artificial score collapse.

from moveq_core.score import compute_score
ZERO DRIFT
H

moveq-catalogue

Harmonization Registry

Explicit contract-driven section mapping (same, replace, omit) for cross-country and cross-jurisdictional transit equity audits.

from moveq_catalogue import Catalogue
PIPELINE READY
CLI

moveq-cli

Headless Terminal

Command-line utilities to calculate metrics on CSV files, format JSON outputs, and validate schema integrity in CI/CD pipelines.

moveq gini data.csv --value trips --weight pop

One streamlined workflow for transport equity.

01
Calculate Population-Weighted Gini
Evaluate city-wide transit service inequality directly from spatial CSV rows.
02
Compute Continuous Palma Ratio
Inspect top 10% vs bottom 40% extremes with boundary polygon splitting.
03
Evaluate Concentration Index
Audit whether transit access favors deprived or affluent demographic tracts.
04
Dynamic Composite Scoring
Drop missing indicators and renormalize active weights dynamically.
05
Validate Harmonization Catalogue
Ensure cross-country questionnaire adaptations preserve full methodology.
moveq terminal
$ moveq gini examples/basic_equity/data.csv --value trips --weight population

            

Live Lorenz Curve & Inequality Simulator

Gini Coeff
0.390
Palma Ratio
7.07
Wagstaff CI
+0.245

Observation: As you increase the service disparity between suburban commuter corridors and core transit routes, the Lorenz curve bows deeper away from the 45-degree diagonal, immediately expanding the Gini coefficient and Palma ratio.

100%
Deterministic & Order Invariant
Tied ranks and polygon order produce mathematically identical outputs.
0
Required GIS Dependencies
Zero C/C++ GEOS/GDAL bloat — imports in under 5ms anywhere.
< 1s
50-Test Verification Suite
Continuous automated testing across boundary conditions and edge cases.
4
Python Versions Tested
Validated on Python 3.10, 3.11, 3.12, and 3.13.