786b7d3721
- api/: Go(chi) 只读 API 骨架, /healthz + 版本化路由(占位), Dockerfile, 单测 - ingestion/: Python 采集/ETL 包骨架, units 单位归一化(纯函数+测试), adapter 协议 - docker-compose.yml: postgres + redis + minio + api - .github/workflows/ci.yml: Go build/vet/test + Python ruff/pytest - docs/data-contract.md(两端共享契约) + docs/disclaimer.md(不提供购买声明) - migrations/ 占位(M1 起填充) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
7 lines
252 B
Python
7 lines
252 B
Python
"""Source adapters.
|
|
|
|
Each open data source (Open Food Facts, USDA FoodData Central, GS1, ...) gets
|
|
its own adapter that fetches raw records and yields them for the ETL layer.
|
|
Adapters must respect each source's robots.txt, rate limits and license.
|
|
"""
|