Skip to content

Releases: yolodex-ai/census-lookup

v0.2.3

19 Dec 16:52

Choose a tag to compare

Migrate functional tests from pytest fixtures to inline mocks

  • Replace all pytest fixtures with inline aioresponses mocks
  • Each test now sets up its own mocks using helper functions
  • Tests are more explicit and self-contained

v0.1.9

18 Dec 21:16

Choose a tag to compare

Changes

  • Fix CLI to auto-route ACS variables (B prefix) to acs_variables parameter
  • Achieve 100% branch coverage with functional tests
  • Add tests for CLI ACS variable handling
  • Fix pl94171 parser edge case coverage

Full Changelog

v0.1.8...v0.1.9

v0.1.8

18 Dec 21:09

Choose a tag to compare

Changes

  • Achieve 100% branch coverage with functional tests only
  • Handle missing ACS tracts/variables gracefully with conditionals
  • Add output example and ACS variables table to README
  • All 140 tests passing

v0.1.3

18 Dec 12:57

Choose a tag to compare

Changes

  • Improved test coverage to 89%
  • Cleaned up internal code and removed unused features
  • Fixed CI workflow

v0.1.2

17 Dec 13:57

Choose a tag to compare

Bug Fixes

  • Fixed census data aggregation for tract/county/state lookups: Previously, querying census data at geographic levels higher than block (tract, block_group, county, state) would return incorrect values. The DuckDB queries now properly aggregate (SUM) block-level data when querying at higher geographic levels.

Improvements

  • Added GeoLevel.from_geoid_length() class method for auto-detecting geographic level from GEOID string length
  • Updated get_variables_for_geoid() to auto-detect geo_level if not provided
  • Added comprehensive tests for DuckDB aggregation at all geographic levels
  • Fixed all ruff linting errors

Metadata

  • Updated package description to reflect ACS support
  • Updated GitHub repo description and topics

v0.1.1

17 Dec 13:47

Choose a tag to compare

Changes

  • Auto-download data by default - just run uvx census-lookup lookup and it works
  • Added --no-download flag for offline use
  • Data sources section in README with Census Bureau links

Installation

uvx census-lookup lookup "123 Main St, LA, CA 90012"

v0.1.0

17 Dec 13:42

Choose a tag to compare

Initial release

Features

  • Offline geocoding using TIGER Address Range files (~95% match rate)
  • PL 94-171 redistricting data (population, race, housing) at block level
  • ACS 5-Year estimates (income, education, employment) at tract level
  • Configurable geographic levels (block, block group, tract, county)
  • Lazy per-state data downloading
  • CLI and Python API
  • Batch processing with progress bars

Installation

# Using uv (recommended)
uv add census-lookup

# Using pip
pip install census-lookup

# Run CLI without installing
uvx census-lookup lookup "123 Main St, LA, CA 90012"