DataHub Service¶
Purpose: Aggregate and schedule data collection from all registered providers, storing OHLC/tick data in TimescaleDB.
Run locally¶
- Docker Compose:
docker compose up datahub - Direct: set env vars (
DATABASE_URL, provider keys) thenuvicorn quasar.services.datahub.app:app --reload --port 8081
Configuration¶
DATABASE_URL: PostgreSQL/TimescaleDB connection string- Provider credentials: set per provider (e.g.,
EODHD_API_KEY,KRAKEN_API_KEY) - Scheduling: handled in code via
offset_cron; reviewquasar/lib/common/offset_cron.py
Endpoints¶
- REST (FastAPI) served from
quasar.services.datahub.app:app - API schema exposed via FastAPI
/docsand/openapi.json
Tests¶
- Run service tests:
pytest tests/services/datahub - Add fixtures to
tests/conftest.pyif mocking external providers
Notes¶
- Validate provider code via Registry before enabling subscriptions.
- Keep docstrings up to date; see API reference section for autogenerated docs.