Published

Australia (AU) build pipeline

Postal Codes Dataset for Australia, AU including name of the city, town, or place, various administrative divisions and alternative city names.

Australia (AU) build pipeline

Self-contained — runs entirely from this repo. No external repo dependency: both scripts resolve their paths relative to themselves (AUS_DIR = parent of this scripts/ folder) and fetch directly from a public source.

Reconstructed from nothing on 2026-08-19. No build script for AU survived anywhere — a note in the source-research history said it was "Built in custom_au/", but that folder doesn't exist on disk and was never committed to git anywhere. Only the final delivery output survived. This was inferred by comparing rebuilt output against that survivor field-for-field until it matched. Chosen over Australia Post's own file (commercial-licensed, not redistributable) and plain Geoscape G-NAF (no LGA tier on its own) — see the source-research notes preserved in fedex-agents-prototype/countries/AUS/FEASIBILITY.md for the full comparison, if that repo is available; not required to run this pipeline.

Run order (from this directory)

python3 fetch_source.py    # matthewproctor.com/australian_postcodes (community, public domain)
                            # writes ../data/raw_australian_postcodes.csv (gitignored, regenerable)
python3 build_base.py      # groups 18,559 raw rows by postcode -> one row per postcode
                            # writes ../au_au_rebuilt/au.csv

build_base.py's own docstring documents exactly how it was reverse-engineered: which raw column feeds place_name (first locality in source row order), which feeds alternative_city_name (every other distinct locality in that group), and why — verified against the survivor row by row, not assumed.

Sources

  • matthewproctor.com/australian_postcodes (community, public domain) — integrates Australia Post postcodes + ABS Local Government Area codes + Geoscape G-NAF coordinates in one CSV; chosen specifically because it already does this consolidation, per FEASIBILITY.md's source comparison.

Verification (2026-08-19)

Exact row count match: 3,175/3,175 (grouping the 18,559-row raw source by postcode yields exactly 3,175 groups — matching the survivor's row count exactly, strong evidence this is genuinely the right source). 4 of 5 spot-checked rows byte-identical (postcodes 0200, 0801, 0803, 0804); the 5th (0800) differs only because the upstream community source has since updated which locality sorts first for that postcode — not a logic bug, the source itself is individually-dated per row and drifts over time. Not guaranteed byte-identical long-term given the source's live nature — documented in the script itself rather than claimed as a permanent guarantee.