Skip to content

feat: resolve Geofabrik extracts from the canonical catalog - #82

Open
Claudio9701 wants to merge 1 commit into
typing/pydantic-boundariesfrom
geofabrik/canonical-catalog
Open

feat: resolve Geofabrik extracts from the canonical catalog#82
Claudio9701 wants to merge 1 commit into
typing/pydantic-boundariesfrom
geofabrik/canonical-catalog

Conversation

@Claudio9701

Copy link
Copy Markdown
Collaborator

Summary

  • parse Geofabrik's official index-v1-nogeom.json transport schema into a stable public GeofabrikRegion
  • resolve exact globally unique properties.id values, including nested IDs like us/california
  • accept exact advertised ISO 3166-1/3166-2 aliases and reject ambiguous aliases
  • consume properties.urls.pbf verbatim; never assemble extract URLs from continent/country guesses
  • identify the client, apply connect/read timeouts, check HTTP status, cap response size, and sanitize provider validation failures
  • document the canonical programmatic contract and why partial display/path names are rejected

Validation

  • 38 hermetic tests pass
  • new resolver coverage: 96%; transport model coverage: 91%
  • strict mypy passes across public/internal catalog modules
  • warnings-as-errors Sphinx build passes
  • Ruff and full locked Trunk suite pass
  • the current official catalog (555 regions) parses successfully; PE, US-CA, and us/california resolve to the advertised records/URL

Stack

Base: #80 (typing/pydantic-boundaries)
Next: Python-owned OSRM lifecycle
Roadmap: #61

Closes #81
Refs #67

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