Changelog
v0.1.3 (2026-07-02)
- Three no-code Streamlit apps — one per module, sharing a lean shell (bundled case-study picker + spatial-weights controls): the Explore app (choropleths, connectivity, Moran/LISA, distributions over time), the Analyze app (β/σ convergence, clubs, spatial models with impacts and LM diagnostics, weights robustness, Markov dynamics, inequality/Theil, button-gated GWR), and the Learn app (all 11 sandboxes with sliders + the searchable explainer browser). Pages gate themselves on the active dataset (panel length, unit count, optional extras).
- New
streamlitextra (pip install "geometrics[streamlit]", included in[all]), Python launchersExploreApp/AnalyzeApp/LearnApp, console scriptsgeometrics-explore/-analyze/-learn, and repo-root entry points (app_explore.py,app_analyze.py,app_learn.py,streamlit_app.pychooser) for Streamlit Community Cloud. - The site now presents the library in the three modules (v0.1.2/v0.1.3 together): per-module pedagogical pages, Colab notebooks, and the rewritten landing page.
v0.1.2 (2026-07-02)
- The Learn module: 11
learn_*concept sandboxes. Each simulates data from a known data-generating process so a learner can watch the estimator recover a planted parameter, returning a frozenSandboxResult(.dfestimated-vs-truth table,.fig,.summaryscalar facts,.dataraw simulated frame,.interpret()/.explain()):learn_spatial_autocorrelation,learn_spatial_weights,learn_lisa_clusters,learn_spatial_spillovers(closed-form LeSage-Pace truth),learn_omitted_spatial_lag,learn_beta_convergence,learn_sigma_convergence,learn_convergence_clubs,learn_markov_chains,learn_spatial_markov(both via thedynamicsextra), andlearn_theil_decomposition(independent numpy truth). - The shared synthetic geographies and planted-parameter processes now live in
geometrics.sandbox._dgp; the test suite’s known-answer fixtures delegate to them. - Visual identity: the “classified lattice” logo/favicon and a hero image built from the real India LISA cluster map; new For AI / LLMs page.
v0.1.1 (2026-07-02)
- New dataset: Bolivia (BOL-005popAdj-PWTscaled) — the 0.25° gridded GDP of Rossi-Hansberg & Zhang (2026) under
0_05censoring, rescaled so national totals equal Penn World Table 11.0 (2021 PPP US$), 2012–2022, on GADM 4.10 boundaries. Committed underdatasets/in this repository and served from pinned, hash-verified raw URLs. - New loaders:
load_bolivia()(112 provinces; 5 fully-censored provinces have polygons but no panel rows — documented),load_bolivia_departments()(9 departments),load_bolivia_grid()(1,603 cells with a synthesized singlecellentity id),load_bolivia_raw()(any level incl. ADM0). - New article: The Bolivia dataset.
v0.1.0 (2026-07-02)
First public release.
- The three-input data contract:
read_gdf(shapefile / zipped shapefile / GeoJSON / GeoPackage → ID-only geometry), a long-form panel declared withset_panel/set_labels, and a six-column data dictionary (df_dict, inferable withbuild_data_dict). - Maps & ESDA:
explore_choropleth_map(classified, animated),explore_connectivity_map,explore_moran_plot,explore_lisa_cluster_map,explore_moran_over_time,explore_distribution_over_time,explore_spacetime_heatmap. - Convergence:
analyze_beta_convergence(OLS / SAR / SEM / SLX / SDM with LeSage-Pace impacts and Monte-Carlo standard errors),analyze_sigma_convergence,analyze_convergence_clubs(Phillips-Sul log(t) with club maps). - Spatial econometrics:
analyze_spatial_model,analyze_spatial_diagnostics(Anselin-Florax recommendation),analyze_spatial_model_by_weights. - Distribution dynamics:
analyze_markov_transitions,analyze_spatial_markov(via thedynamicsextra). - Inequality:
analyze_inequality_over_time(Gini / Theil / CV, spatial Gini),analyze_theil_decomposition. - Local models:
analyze_gwr,analyze_mgwr. - Pedagogy: every result carries
.interpret()and.explain(); 30 concept explainers registered. - Data: the Indian district case study (520 districts, DMSP-OLS nighttime lights 1996-2010) and a 32-state demo, fetched from quarcs-lab/project2025s-py at a pinned commit with hash verification.