Check the Setup
- Python 3.10 or newer
- An internet connection
- The requests Python package
Daily national hydrogeological and hydraulic criticality bulletins from Italy's Civil Protection Department for mapped alert-zone context.
Report a ProblemFrom Source to Product Signal
The DPC GitHub repository publishes a national criticality bulletin daily and can add corrections. Start with one current today/tomorrow TopoJSON file from the latest bulletin commit. A forecast criticality zone is not a point flood measurement; retain issue and revision context.
Install the packages, then run the notebook cell.
python -m pip install requests
import re
import requests
repo = "https://api.github.com/repos/pcm-dpc/DPC-Bollettini-Criticita-Idrogeologica-Idraulica"
headers = {"User-Agent": "TrilemmaDataCatalogExample/1.0"}
commits = requests.get(f"{repo}/commits", params={"path": "files/topojson", "per_page": 1},
headers=headers, timeout=30)
commits.raise_for_status()
sha = commits.json()[0]["sha"]
detail = requests.get(f"{repo}/commits/{sha}", headers=headers, timeout=30)
detail.raise_for_status()
files = [item["filename"] for item in detail.json()["files"]
if item["status"] != "removed" and re.fullmatch(
r"files/topojson/\d{8}_\d{4}_(today|tomorrow)\.json", item["filename"])]
if not files:
raise RuntimeError("Latest bulletin commit has no current TopoJSON file")
url = f"https://raw.githubusercontent.com/pcm-dpc/DPC-Bollettini-Criticita-Idrogeologica-Idraulica/{sha}/{files[0]}"
bulletin = requests.get(url, timeout=30)
bulletin.raise_for_status()
print(files[0], list(bulletin.json().get("objects", {}))[:5])Test a Useful Signal
Check one official daily zone artifact before local hazard matching.
Italian Civil Protection Department is a government source. Last verified 2026-09-28. Temporal coverage: daily today and tomorrow bulletins with revisions.