Catalog manifest¶
Start with guides/building-catalogs.md for the high-level operator workflow (when a provider gets a catalog, the lifecycle, the commands). This page is the per-provider snapshot manifest it links into.
Operator reference for catalog bundles: which connectors ship hosted snapshots, how runtime load order works, and how to pre-warm locally before publishing to Hugging Face.
Load order (runtime)¶
- In-memory
CatalogLRUhit (per search connector process). - Configured catalog URL (
PARSIMONY_<PROVIDER>_CATALOG_URLor package defaulthf://…). - Lazy disk cache under
parsimony.cache.connectors_dir(provider). - Provider
build_catalogcallable → save to lazy cache.
Point env vars at local trees for zero cold-start during testing:
export PARSIMONY_TREASURY_CATALOG_URL=file:///tmp/parsimony-catalogs-v1/treasury
export PARSIMONY_SDMX_CATALOG_URL=file:///tmp/parsimony-catalogs-v1/sdmx
export PARSIMONY_BOJ_CATALOG_URL=file:///tmp/parsimony-catalogs-v1/boj
Catalog-backed connectors (13)¶
All flat macros, BoJ, and SDMX publish schema_version: 1 snapshots. Rebuild and
republish before release — stale parsimony-dev/* artifacts from earlier dev builds are
not loadable.
| Provider | Default HF root | Local build |
|---|---|---|
| treasury | hf://parsimony-dev/treasury |
packages/treasury/scripts/build_catalog.py |
| bdp | hf://parsimony-dev/bdp |
packages/bdp/scripts/build_catalog.py |
| snb | hf://parsimony-dev/snb |
packages/snb/scripts/build_catalog.py |
| boc | hf://parsimony-dev/boc |
packages/boc/scripts/build_catalog.py |
| bde | hf://parsimony-dev/bde |
packages/bde/scripts/build_catalog.py |
| rba | hf://parsimony-dev/rba |
packages/rba/scripts/build_catalog.py |
| destatis | hf://parsimony-dev/destatis |
packages/destatis/scripts/build_catalog.py |
| riksbank | hf://parsimony-dev/riksbank |
packages/riksbank/scripts/build_catalog.py |
| bls | hf://parsimony-dev/bls |
packages/bls/scripts/build_catalog.py (multi-bundle, per survey) |
| eia | hf://parsimony-dev/eia |
packages/eia/scripts/build_catalog.py (needs EIA_API_KEY) |
| bdf | hf://parsimony-dev/bdf |
packages/bdf/scripts/build_catalog.py (needs BDF_API_KEY) |
| boj | hf://parsimony-dev/boj |
packages/boj/scripts/build_catalog.py (multi-bundle) |
| sdmx | hf://parsimony-dev/sdmx |
packages/sdmx/scripts/build_catalog.py |
SDMX agency footprint¶
| Agency | Datasets catalog | Codelist catalogs |
|---|---|---|
| ECB | all non-derived flows (~103) | deduplicated from DSD structure (~hundreds) |
| ESTAT | all recall-fixed macro flows (~3,467) | deduplicated from DSD structure |
| IMF_DATA | all flows (193) | deduplicated from DSD structure |
| WB_WDI | single flow | deduplicated from DSD structure |
Series discovery uses prebuilt sdmx_series_* catalogs searched via
sdmx_series_search (built by packages/sdmx/scripts/build_all_catalogs.py).
Structure markers (sdmx_structure_*) are build-time only and must not be published.
BoJ bundles¶
boj_databases— database discoveryboj_series_<db>— per-database series catalogs (lazy on first search if not prebuilt)
Indexing policy¶
Flat macros: parsimony.catalog.policy.discovery_indexes() (code BM25; title/description
hybrid when unique values < 1,000). SDMX/BoJ use provider-specific policies with the same
threshold for high-cardinality fields.
Summary script¶
See catalog-operations.md for validation and HF publish steps.