mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-28 21:12:16 +00:00
imf_cache.json.xz is generated at build time and is not committed, so every CI build of openbb-imf needed a live api.imf.org. The only fallback was actions/cache, and caches saved by pull_request runs are scoped to that PR, so a new PR never had one. With api.imf.org returning "503 no healthy upstream" during IMF's data portal maintenance window, the build failed. When live generation fails on a non-forced build, the hook now copies imf_cache.json.xz from the latest openbb-imf wheel on PyPI, after checking the wheel's sha256 against the digest PyPI publishes. Builds with OPENBB_IMF_FORCE_CACHE_REBUILD=1, which the publish workflow sets, still fail hard, so a release never ships a stale catalog.
Providers
In this folder you can find the providers that were created or are supported by OpenBB.
Recommended structure
Every provider is located within a directory, with the following structure:
openbb_platform
└───providers
└───<provider_name>
| README.md
│ pyproject.toml
│ uv.lock
|───tests
└───openbb_<provider_name>
│ __init__.py
|───models
| |───<some model>.py
| └───...
└───utils
|───<some helper>.py
└───...
The models define the data structures that are used to query the provider endpoints and store the response data.
See CONTRIBUTING file for more details