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 streamlit extra (pip install "geometrics[streamlit]", included in [all]), Python launchers ExploreApp / AnalyzeApp / LearnApp, console scripts geometrics-explore / -analyze / -learn, and repo-root entry points (app_explore.py, app_analyze.py, app_learn.py, streamlit_app.py chooser) 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 frozen SandboxResult (.df estimated-vs-truth table, .fig, .summary scalar facts, .data raw 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 the dynamics extra), and learn_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_05 censoring, rescaled so national totals equal Penn World Table 11.0 (2021 PPP US$), 2012–2022, on GADM 4.10 boundaries. Committed under datasets/ 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 single cell entity 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 with set_panel / set_labels, and a six-column data dictionary (df_dict, inferable with build_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 the dynamics extra).
  • 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.