sharpapi 0.3.3__py3-none-any.whl → 0.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sharpapi/__init__.py +1 -1
- sharpapi/models.py +21 -0
- {sharpapi-0.3.3.dist-info → sharpapi-0.4.1.dist-info}/METADATA +1 -1
- {sharpapi-0.3.3.dist-info → sharpapi-0.4.1.dist-info}/RECORD +6 -6
- {sharpapi-0.3.3.dist-info → sharpapi-0.4.1.dist-info}/WHEEL +1 -1
- {sharpapi-0.3.3.dist-info → sharpapi-0.4.1.dist-info}/licenses/LICENSE +0 -0
sharpapi/__init__.py
CHANGED
sharpapi/models.py
CHANGED
|
@@ -214,13 +214,26 @@ class OddsLine(BaseModel):
|
|
|
214
214
|
market_type: str
|
|
215
215
|
selection: str
|
|
216
216
|
selection_type: str | None = None
|
|
217
|
+
# Structured side/segment axes (issue #76 / #689). team_side is the raw
|
|
218
|
+
# "home"|"away"|"draw" decomposed out of the compound selection_type vocab;
|
|
219
|
+
# market_segment is the contest slice ("full_game", "1st_half", ...). Both
|
|
220
|
+
# optional + additive — absent on rows the adapter didn't stamp.
|
|
221
|
+
team_side: str | None = None
|
|
222
|
+
market_segment: str | None = None
|
|
217
223
|
odds_american: int | float
|
|
218
224
|
odds_decimal: float
|
|
219
225
|
probability: float
|
|
220
226
|
line: float | None = None
|
|
221
227
|
event_start_time: str | None = None
|
|
228
|
+
# ISO 8601 — when SharpAPI last refreshed this odd through its pipeline
|
|
229
|
+
# (advances every ingest cycle). A feed-freshness / delivery signal matching
|
|
230
|
+
# OpticOdds' `timestamp`; NOT a price-last-changed time. (SHA-1048)
|
|
222
231
|
timestamp: str | None = None
|
|
223
232
|
is_live: bool = False
|
|
233
|
+
# True (default) = market open and bettable; False = market suspended/closed
|
|
234
|
+
# with the price frozen (mirrors OpticOdds locked-odds). Absent on the wire
|
|
235
|
+
# is treated as True. SHA-3803.
|
|
236
|
+
is_active: bool = True
|
|
224
237
|
deep_link: str | None = None
|
|
225
238
|
player_name: str | None = None
|
|
226
239
|
stat_category: str | None = None
|
|
@@ -286,6 +299,9 @@ class EVOpportunity(BaseModel):
|
|
|
286
299
|
detected_at: str | None = None
|
|
287
300
|
external_event_id: str | None = None
|
|
288
301
|
selection_id: str | None = None
|
|
302
|
+
# Structured side/segment axes (issue #76 / #689), additive + optional.
|
|
303
|
+
team_side: str | None = None
|
|
304
|
+
market_segment: str | None = None
|
|
289
305
|
# Optional structured refs (additive, non-breaking).
|
|
290
306
|
home: TeamRef | None = None
|
|
291
307
|
away: TeamRef | None = None
|
|
@@ -311,6 +327,8 @@ class ArbitrageLeg(BaseModel):
|
|
|
311
327
|
odds_decimal: float
|
|
312
328
|
implied_probability: float | None = None
|
|
313
329
|
stake_percent: float
|
|
330
|
+
# ISO 8601 last-refreshed (feed-freshness) timestamp for this leg's odd —
|
|
331
|
+
# see OddsLine.timestamp. (SHA-1048)
|
|
314
332
|
timestamp: str | None = None
|
|
315
333
|
external_event_id: str | None = None
|
|
316
334
|
selection_id: str | None = None
|
|
@@ -563,6 +581,9 @@ class ClosingOddsLine(BaseModel):
|
|
|
563
581
|
market_type: str
|
|
564
582
|
selection: str
|
|
565
583
|
selection_type: str | None = None
|
|
584
|
+
# Structured side/segment axes (issue #76 / #689), additive + optional.
|
|
585
|
+
team_side: str | None = None
|
|
586
|
+
market_segment: str | None = None
|
|
566
587
|
odds_american: int | float
|
|
567
588
|
odds_decimal: float
|
|
568
589
|
line: float | None = None
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
sharpapi/__init__.py,sha256=
|
|
1
|
+
sharpapi/__init__.py,sha256=fzWQMRJqfRIQmT3gdhnrei6gGwF_oxhMqh3ZhkstAUU,2372
|
|
2
2
|
sharpapi/_base.py,sha256=mhHqv-swAB00YQLXBmYArI6QLY0r6_kMVLNkKNFArSg,6117
|
|
3
3
|
sharpapi/_utils.py,sha256=nQU1gNkzepAIr93HDYX455aRO2yhc6BeBbaWDnpI5lw,1143
|
|
4
4
|
sharpapi/async_client.py,sha256=TBPvR0xGCJ-MK9tPvXiXToJ0wfXzCL9TxwGO2u6bmNo,19789
|
|
5
5
|
sharpapi/client.py,sha256=Ev-Ye6-vF3R8WnUIGgJ6oE1TNuTQiL7G2fd69bPcrSw,27865
|
|
6
6
|
sharpapi/exceptions.py,sha256=AqZmr5ceXKyEVKdVA8ua-D0klH6zrXEMgs9Rxn7O2eE,7095
|
|
7
|
-
sharpapi/models.py,sha256=
|
|
7
|
+
sharpapi/models.py,sha256=Fm9alXOvOptY_0G51X6gRBvUgfAZ3UCsMUKsOePxkjM,20572
|
|
8
8
|
sharpapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
sharpapi/streaming.py,sha256=sSdVE9HzuiDYnYH_Lmr4NHq0CKvwbUIELJvbSdqaTCw,8940
|
|
10
|
-
sharpapi-0.
|
|
11
|
-
sharpapi-0.
|
|
12
|
-
sharpapi-0.
|
|
13
|
-
sharpapi-0.
|
|
10
|
+
sharpapi-0.4.1.dist-info/METADATA,sha256=zSspuWrdRTtDfdvqclfg7Gp4wVEO2IcwL7OVBJ2auR8,5735
|
|
11
|
+
sharpapi-0.4.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
|
|
12
|
+
sharpapi-0.4.1.dist-info/licenses/LICENSE,sha256=EfZuzcYtp0eJC9ky4Nei3os5r0cFBYQmc-TpamV5OPw,1069
|
|
13
|
+
sharpapi-0.4.1.dist-info/RECORD,,
|
|
File without changes
|