feat(postcodes/UA): bulk-import 15,086 Ukraine postcodes via Ukrposhta (#1039)#1452
Merged
Conversation
#1039) Source: Ukrposhta postcode catalogue redistributed via the rvolykh/UAPostcodes SQL dump. Joins City -> District -> Region with a hand-curated 27-entry region_id -> CSC iso2 map. All 27 oblasts / cities of national importance / Crimea + Sevastopol resolve at 100%. Refs #1039. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
CSC Validation ReportPR Format
Labels applied:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds 15,086 Ukraine postcodes covering every city/town in the Ukrposhta
catalogue, sourced from the
rvolykh/UAPostcodesSQL dump.all 24 oblasts plus the Autonomous Republic of Crimea and the two
cities of national importance (Kyiv, Sevastopol).
locality_namein UkrainianCyrillic.
How it works
The source ships three SQL dumps. The importer parses
cities.sql(City rows havedistrict_idnotregion_id) andjoins to
districts.sqlto obtain the oblast id, then maps that toCSC's
states.jsoniso2 via a hand-curated 27-entry table.Source & licence
"source": "ukrposhta-via-rvolykh"Validation
python3 -m py_compileclean.country.postal_code_regex(^(\d{5})$).state_idwhosecountry_id == 230and whose
iso2matchesstate_code.id,created_at,updated_at,flag).Test plan
Refs #1039.
🤖 Generated with Claude Code