Skip to content

TASK-19: Add Chicago building permit Socrata adapter - #26

Open
z4ab wants to merge 1 commit into
devfrom
task-19-chicago-adapter
Open

TASK-19: Add Chicago building permit Socrata adapter#26
z4ab wants to merge 1 commit into
devfrom
task-19-chicago-adapter

Conversation

@z4ab

@z4ab z4ab commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Closes #17

What

Adds a Chicago building permit ETL adapter using the Socrata SODA API (same pattern as NYC).

Changes

File Description
adapters/chicago.py New adapter — pulls ~5K records from Chicago Data Portal
pipeline/run_city.sh Added chicago to valid cities
pipeline/run_all.sh Added chicago to pipeline list
data/source_mappings.md Added Chicago section (section 5), updated cross-city comparison (section 6) and normalization strategy (section 7)

Key Design Decisions

  • Filters out electrical, plumbing, sign, fence, and fire suppression permits (non-construction)
  • Filters to records since 2021 (last 5 years)
  • Records include lat/lng natively — no geocoding needed
  • Infers project type from work_type/description with keyword matching, falls back to permit_type mapping
  • Includes permit_value (estimated_cost) and square_feet (total_sq_ft) — fields NYC and Seattle lack
  • API pagination: 2,000 records per page (Socrata SODA with $offset/$limit)

Verification

  • ruff check . — passes

- adapters/chicago.py: pulls ~5K records from Chicago Data Portal SODA API
- Filters out electrical/plumbing/sign/fence permits
- Maps 7 Chicago status values to unified schema
- Infers project_type from work_type/description with keyword matching
- Records include lat/lng natively (no geocoding needed)
- Includes permit_value (estimated_cost) and square_feet (total_sq_ft)
- Updates pipeline scripts (run_city.sh, run_all.sh) with chicago
- Updates data/source_mappings.md with Chicago section and cross-city comparison
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant