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

The average improved. Who didn't?

moveq measures how benefits and burdens are actually distributed — and records the assumptions behind every number, so someone else can check it.

$ pip install "moveq[cli,frames]"

The million-zone timing sits here, not in the headline.

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.

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
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
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
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.