Changelog#

georgiacivicdata 0.1.0#

First version: the Python counterpart of the R package georgiacivicdata.

Features#

  • Find data: datasets() lists the catalog and search() ranks datasets from plain words, in English or Spanish.

  • Understand a dataset: describe() (with a readable printed summary), columns() and contract(). columns() lists the joined name columns rows() returns by default (labels=True), each after its code with role "label".

  • Get data: rows() returns typed data frames with place names beside codes, every category the filters don't exclude, the API's advisories as GCDAdvisory warnings, and metadata read by meta(); large results download in full as CSV. values() lists the category combinations a filter covers.

  • pandas or Polars: every table function takes backend=, and set_option("backend", "polars") changes the default for the session.

  • Lookup tables: dimension() returns districts, schools, counties, tracts, block groups and demographic groups.

  • Places by name: district, school and county arguments match names exactly (ignoring case, accents and a trailing "County", and including former names) and stop with candidates when a name is ambiguous.

  • Geography: school_zones(), district_boundaries(), school_zone_status() and school_zone_coverage(), as geopandas GeoDataFrames or plain data frames.

  • locate() finds the county, tract, block group, school district and zoned schools for points, or for addresses geocoded locally with the U.S. Census batch geocoder (addresses never reach the Georgia Civic Data API).

  • Utilities: meta(), citation(), cache_clear() and the options functions, with an opt-in disk cache of row downloads that revalidates with the server's ETag.