Skip to content

v0.3.0

Latest

Choose a tag to compare

@patcon patcon released this 04 Mar 22:26
· 16 commits to main since this release

Added

  • val.pp.filter_participants() — filter participants (rows) by minimum number of statements voted on. Counts non-NaN entries (real votes), correctly treating -1, 0, and +1 as votes.
  • val.pp.filter_statements() — filter statements (columns) by minimum number of participants who voted. Counts non-NaN entries (real votes), correctly treating -1, 0, and +1 as votes.
  • val.datasets.vtaiwan() — load any of four Polis conversations from Taiwan's vTaiwan civic policymaking process, selectable by topic= keyword ("uber", "airbnb", "online_alcohol", "caning"). Topic parameter uses Literal type hint for IDE/notebook autocomplete.
  • val.datasets.american_assembly() — load Polis conversations run by the American Assembly in Kentucky cities, selectable by city= keyword ("bowling_green", "louisville"). City parameter uses Literal type hint for IDE/notebook autocomplete.
  • val.datasets.bg2050() — load the BG 2050 community visioning conversation from Bowling Green and Warren County, Kentucky (~7,900 participants).
  • val.datasets.cuba_protest() — load any of three Polis conversations run around Cuba's planned 15N march (November 2021), selectable by period= keyword ("before_1", "before_2", "after"). Period parameter uses Literal type hint for IDE/notebook autocomplete.
  • val.datasets.japanchoice() — load any of eight Polis conversations from Japan Choice (four policy topics × two election years: 2025 and 2026), selectable by positional topic argument.
  • val.datasets.klimarat() — load any of the five Polis conversations from Austria's Citizens' Climate Council (Klimarat), selectable by topic= keyword.
  • Five Klimarat datasets added to the docs overview table with fingerprints.
  • scripts/generate_fingerprint_heatmap.py — generates a square RdYlGn vote-matrix heatmap from any Polis report URL.
  • docs/api/datasets.yml — machine-readable registry of reference datasets rendered into an overview table.
  • Two reference datasets added to the docs table: Aufstehen and Chile Protests.
  • mkdocs-glightbox — clicking a fingerprint thumbnail opens the full-size image in a lightbox popup.
  • New Labs page in docs.
  • make strip-notebook-widgets — strips ipywidget metadata from notebooks so they render correctly on GitHub.

Changed

  • val.preprocessing.impute() now uses sklearn.impute.SimpleImputer for "zero", "mean", and "median" strategies. Adds strategy="knn" backed by sklearn.impute.KNNImputer.
  • val.preprocessing.highly_variable_statements() defaults changed: variance_mode is now "valence", bin_by is now "p_engaged", and n_bins is now 10.

Fixes

  • val.preprocessing.highly_variable_statements() no longer emits RuntimeWarning: Degrees of freedom <= 0 for slice when a statement column has fewer than 2 non-NaN votes.
  • Bugfix: scaling factors in recipe_polis were dividing instead of multiplying!