Registry (Forgejo) + memory-api clients under m2_market_indexer.client, with memory-api paths/creds as env-overridable constants (config.py). reindex.py drops market:catalog and rebuilds from published listings on main, skipping schema-invalid ones. watch.py polls the registry tip commit against a cached state.json and upserts changed/new published listings, deletes delisted ones.
23 lines
562 B
TOML
23 lines
562 B
TOML
[project]
|
|
name = "m2-market-indexer"
|
|
version = "0.1.0"
|
|
description = "Registry → market:catalog sync; reindex = full rebuild (contracts/catalog-index.md)"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"httpx>=0.27",
|
|
"jsonschema>=4.23",
|
|
]
|
|
|
|
[project.scripts]
|
|
m2-market-indexer = "m2_market_indexer.reindex:main"
|
|
m2-market-indexer-watch = "m2_market_indexer.watch:main"
|
|
|
|
[dependency-groups]
|
|
dev = ["pytest>=8"]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/m2_market_indexer"]
|