Skip to content

Commit f580d0f

Browse files
paperclip-resolver[bot]claude
andcommitted
docs(timestamp): document timestamp as delivery/feed-freshness (OpticOdds-parity) + bump 0.5.0
The API now emits a single per-odd `timestamp` (delivery / last-refreshed, advances every ingest cycle, matching OpticOdds), replacing odds_changed_at/ last_seen_at/wire_received_at. The SDK already modeled `timestamp` (was always null); this clarifies its semantics on OddsLine + ArbitrageLeg. No model change. Refs SHA-1048 Type: docs Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 9b810bd commit f580d0f

3 files changed

Lines changed: 17 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
All notable changes to the `sharpapi` Python SDK are documented here.
44

5+
## 0.5.0 — 2026-06-02
6+
7+
### Changed
8+
9+
- `OddsLine.timestamp` / `ArbitrageLeg.timestamp` documented as the **delivery /
10+
last-refreshed** feed-freshness timestamp (advances every ingest cycle),
11+
matching OpticOdds' `timestamp` — NOT a price-last-changed time. The API now
12+
populates this field (previously always `null`). The removed
13+
`odds_changed_at` / `last_seen_at` / `wire_received_at` were never modeled by
14+
this SDK, so no model change is needed. (SHA-1048)
15+
516
## 0.4.0 — 2026-05-31
617

718
### Added

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "sharpapi"
7-
version = "0.4.0"
7+
version = "0.5.0"
88
description = "Official Python SDK for the SharpAPI real-time sports betting odds API"
99
readme = "README.md"
1010
license = "MIT"

src/sharpapi/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ class OddsLine(BaseModel):
219219
probability: float
220220
line: float | None = None
221221
event_start_time: str | None = None
222+
# ISO 8601 — when SharpAPI last refreshed this odd through its pipeline
223+
# (advances every ingest cycle). A feed-freshness / delivery signal matching
224+
# OpticOdds' `timestamp`; NOT a price-last-changed time. (SHA-1048)
222225
timestamp: str | None = None
223226
is_live: bool = False
224227
# True (default) = market open and bettable; False = market suspended/closed
@@ -315,6 +318,8 @@ class ArbitrageLeg(BaseModel):
315318
odds_decimal: float
316319
implied_probability: float | None = None
317320
stake_percent: float
321+
# ISO 8601 last-refreshed (feed-freshness) timestamp for this leg's odd —
322+
# see OddsLine.timestamp. (SHA-1048)
318323
timestamp: str | None = None
319324
external_event_id: str | None = None
320325
selection_id: str | None = None

0 commit comments

Comments
 (0)