1.3 KiB
1.3 KiB
Architecture
Overview
flowchart LR
subgraph external [External]
API[The Odds API]
end
subgraph repo [Repository]
Fetch[odds/scripts/fetch_odds.py]
Samples[(odds/data/samples/*.json)]
Arb[Arbitrage engine - planned]
end
API --> Fetch --> Samples
Samples --> Arb
Odds pipeline (current and planned)
Current
- Operator sets
ODDS_API_KEYin.env fetch_odds.pycallsGET /v4/sports/{sport_key}/odds- Response JSON is stored under
odds/data/samples/
Planned
| Stage | Responsibility |
|---|---|
| Loader | Read JSON snapshots or live API |
| Normalizer | One row per (event, bookmaker, market, outcome) |
| Arb scanner | Compare implied probabilities across books |
| Reporter | CLI or export of opportunities above margin threshold |
Configuration
| Variable | Used by | Description |
|---|---|---|
ODDS_API_KEY |
fetch_odds.py |
The Odds API authentication |
ODDS_REGIONS |
(optional future) | Default regions for fetch |
ODDS_MARKETS |
(optional future) | Default markets for fetch |
Dependencies
See root requirements.txt. Odds fetch uses requests.
Out of scope for git
arb-venv/,.venv/— local virtualenvs.env— secrets