Check the Setup
- Python 3.10 or newer
- An internet connection
- The requests Python package
EPA's pinned community-water-system boundaries and census-block allocations for local drinking-water coverage analysis.
Report a ProblemFrom Source to Product Signal
HouseHunter pins EPA's version 2.1 GeoPackage and matching 2020 Census block allocation table from the EPA model's version history. Read only a few allocation rows with an HTTP byte range. Version 3 is now current, so do not silently mix it with the pinned version 2.1 or interpret modeled boundaries as exact household service.
Install the packages, then run the notebook cell.
python -m pip install requests
import csv
import io
import requests
url = ("https://media.githubusercontent.com/media/USEPA/ORD_SAB_Model/"
"main/Version_History/2_1/Census_Tables/Blocks_V_2_1.csv")
response = requests.get(url, headers={"Range": "bytes=0-8191"}, timeout=30)
response.raise_for_status()
assert response.status_code == 206, "Server did not honor bounded byte range"
rows = csv.DictReader(io.StringIO(response.content.decode("utf-8", errors="ignore")))
for row in list(rows)[:3]:
print(row["GEOID20"], row["PWSID"], row["Pop20_AW"])Test a Useful Signal
Identify the population allocation attached to a water system and census block.
U.S. Environmental Protection Agency is a government source. Last verified 2026-09-28. Temporal coverage: version 2.1 pinned by HouseHunter, released November 2025.