Skip to content

jpzip/data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jpzip/data

月次の郵便番号 JSON データセット生成 ETL。GitHub Actions のみで動作し、Cloudflare Pages (jpzip.nadai.dev) へデプロイする。

Protocol Spec: jpzip/spec

動作モード

モード 説明
通常 (GitHub Actions) 日本郵便から ZIP を取得 → 正規化 → JSON 出力 → 前回ビルドと比較
ローカル (fixture) -ken-fixture-rome-fixture でローカル CSV を入力にして動作確認
# 月次ジョブ相当
go run ./cmd/build -o dist/

# 初回ビルドはバリデーション無し
go run ./cmd/build -o dist/ -skip-validate

# テストデータで一通り流す
go run ./cmd/build \
  -ken-fixture testdata/ken_all_sample.csv \
  -rome-fixture testdata/rome_sample.csv \
  -o /tmp/jpzip-dist \
  -skip-validate

出力レイアウト:

dist/
├── all.json
├── meta.json
├── g/
│   ├── 0.json … 9.json
└── p/
    └── 001.json … 999.json  (実在 prefix のみ)

設計

詳細は jpzip-workspacedocs/jpzip-etl-design.md を参照。要点:

  • 言語 Go、実行環境は GitHub Actions のみ
  • スケジュール 毎月 1 日と 15 日 (JST 03:00)
  • 未知の町域パターンは normalize.ErrUnknownPattern でフェイル → 自動 Issue
  • バリデーション閾値: 全件 ±5%、prefix 数 ±5%、都道府県別件数 ±10%

テスト

go test ./...

デプロイに必要な GitHub Secrets

Secret 用途
CLOUDFLARE_API_TOKEN Pages デプロイ用 (Pages:Edit のみ)
CLOUDFLARE_ACCOUNT_ID Cloudflare アカウント識別

ライセンス

  • コード: MIT
  • 配信されるデータ: 元データは日本郵便 (Public Domain 相当)、正規化結果も Public Domain として扱う

About

jpzip ETL — generate monthly JSON dataset from Japan Post CSV

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages