Skip to content

Commit f08329c

Browse files
paperclip-resolver[bot]claude
andcommitted
feat: add OddsLine.is_active field (SHA-3803)
`False` = market suspended/closed with the price frozen (mirrors OpticOdds locked-odds, exposed as a queryable field). Absent on the wire = `True`. Additive optional field; bumps 0.3.3 -> 0.4.0 (also realigns __init__ version). Type: feat Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 78d805a commit f08329c

4 files changed

Lines changed: 19 additions & 2 deletions

File tree

CHANGELOG.md

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

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

5+
## 0.4.0 — 2026-05-31
6+
7+
### Added
8+
9+
- `OddsLine.is_active` (bool, default `True`). `False` indicates the market is
10+
suspended/closed with the price frozen — mirrors OpticOdds `locked-odds` but
11+
as a queryable field. Absent on the wire is treated as `True`.
12+
13+
### Backward compatibility
14+
15+
- Additive optional field with a `True` default — existing code is unaffected,
16+
and older API servers that omit the key parse as active.
17+
518
## 0.3.2 — 2026-05-07
619

720
### Changed

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.3.3"
7+
version = "0.4.0"
88
description = "Official Python SDK for the SharpAPI real-time sports betting odds API"
99
readme = "README.md"
1010
license = "MIT"

src/sharpapi/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
)
6262
from .streaming import EventStream
6363

64-
__version__ = "0.3.1"
64+
__version__ = "0.4.0"
6565

6666
__all__ = [
6767
# Clients

src/sharpapi/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,10 @@ class OddsLine(BaseModel):
221221
event_start_time: str | None = None
222222
timestamp: str | None = None
223223
is_live: bool = False
224+
# True (default) = market open and bettable; False = market suspended/closed
225+
# with the price frozen (mirrors OpticOdds locked-odds). Absent on the wire
226+
# is treated as True. SHA-3803.
227+
is_active: bool = True
224228
deep_link: str | None = None
225229
player_name: str | None = None
226230
stat_category: str | None = None

0 commit comments

Comments
 (0)