Skip to content

Commit d1a394b

Browse files
committed
chore: merge main after sequential PR merges
2 parents a66e0d0 + a19cb03 commit d1a394b

9 files changed

Lines changed: 40 additions & 42 deletions

File tree

‎core/api-doc-config.generated.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"_generated": "Auto-generated by extract-jsdoc.js on 2026-06-08T08:14:07.849Z. Do not edit manually.",
2+
"_generated": "Auto-generated by extract-jsdoc.js on 2026-06-08T08:17:06.907Z. Do not edit manually.",
33
"methods": {
44
"has": {
55
"summary": "HTTP verb for the endpoint (e.g. GET, POST). */",

‎core/scripts/generate-python-exchanges.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ function generateClass(exchange) {
167167
}
168168
if (creds.signatureType) {
169169
const defaultVal = defaults['signature_type'] || 'None';
170-
constructorParams.push(`signature_type: Optional[Any] = ${defaultVal}`);
170+
constructorParams.push(`signature_type: Optional[str] = ${defaultVal}`);
171171
superArgs.push('signature_type=signature_type');
172172
}
173173
constructorParams.push('base_url: Optional[str] = None');
@@ -204,7 +204,7 @@ function generateClass(exchange) {
204204
indent4('def __init__('),
205205
indent8('self,'),
206206
...constructorParams.map(p => indent8(`${p},`)),
207-
indent4('):'),
207+
indent4(') -> None:'),
208208
indent8('"""'),
209209
indent8(`Initialize ${className} client.`),
210210
'',

‎sdks/python/pmxt/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class _ServerNamespace:
111111

112112
__slots__ = ("_manager",)
113113

114-
def __init__(self, manager: ServerManager):
114+
def __init__(self, manager: ServerManager) -> None:
115115
self._manager = manager
116116

117117
def status(self) -> Dict[str, Any]:

‎sdks/python/pmxt/_exchanges.py‎

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ def __init__(
1717
passphrase: Optional[str] = None,
1818
private_key: Optional[str] = None,
1919
proxy_address: Optional[str] = None,
20-
signature_type: Optional[Any] = "gnosis-safe",
20+
signature_type: Optional[str] = "gnosis-safe",
2121
base_url: Optional[str] = None,
2222
auto_start_server: Optional[bool] = None,
2323
pmxt_api_key: Optional[str] = None,
24-
):
24+
) -> None:
2525
"""
2626
Initialize Polymarket client.
2727
@@ -76,7 +76,7 @@ def __init__(
7676
base_url: Optional[str] = None,
7777
auto_start_server: Optional[bool] = None,
7878
pmxt_api_key: Optional[str] = None,
79-
):
79+
) -> None:
8080
"""
8181
Initialize Limitless client.
8282
@@ -120,7 +120,7 @@ def __init__(
120120
base_url: Optional[str] = None,
121121
auto_start_server: Optional[bool] = None,
122122
pmxt_api_key: Optional[str] = None,
123-
):
123+
) -> None:
124124
"""
125125
Initialize Kalshi client.
126126
@@ -151,7 +151,7 @@ def __init__(
151151
base_url: Optional[str] = None,
152152
auto_start_server: Optional[bool] = None,
153153
pmxt_api_key: Optional[str] = None,
154-
):
154+
) -> None:
155155
"""
156156
Initialize KalshiDemo client.
157157
@@ -184,7 +184,7 @@ def __init__(
184184
base_url: Optional[str] = None,
185185
auto_start_server: Optional[bool] = None,
186186
pmxt_api_key: Optional[str] = None,
187-
):
187+
) -> None:
188188
"""
189189
Initialize Probable client.
190190
@@ -227,7 +227,7 @@ def __init__(
227227
base_url: Optional[str] = None,
228228
auto_start_server: Optional[bool] = None,
229229
pmxt_api_key: Optional[str] = None,
230-
):
230+
) -> None:
231231
"""
232232
Initialize Baozi client.
233233
@@ -256,7 +256,7 @@ def __init__(
256256
base_url: Optional[str] = None,
257257
auto_start_server: Optional[bool] = None,
258258
pmxt_api_key: Optional[str] = None,
259-
):
259+
) -> None:
260260
"""
261261
Initialize Myriad client.
262262
@@ -288,7 +288,7 @@ def __init__(
288288
base_url: Optional[str] = None,
289289
auto_start_server: Optional[bool] = None,
290290
pmxt_api_key: Optional[str] = None,
291-
):
291+
) -> None:
292292
"""
293293
Initialize Opinion client.
294294
@@ -320,7 +320,7 @@ def __init__(
320320
base_url: Optional[str] = None,
321321
auto_start_server: Optional[bool] = None,
322322
pmxt_api_key: Optional[str] = None,
323-
):
323+
) -> None:
324324
"""
325325
Initialize Metaculus client.
326326
@@ -349,7 +349,7 @@ def __init__(
349349
base_url: Optional[str] = None,
350350
auto_start_server: Optional[bool] = None,
351351
pmxt_api_key: Optional[str] = None,
352-
):
352+
) -> None:
353353
"""
354354
Initialize Smarkets client.
355355
@@ -380,7 +380,7 @@ def __init__(
380380
base_url: Optional[str] = None,
381381
auto_start_server: Optional[bool] = None,
382382
pmxt_api_key: Optional[str] = None,
383-
):
383+
) -> None:
384384
"""
385385
Initialize PolymarketUS client.
386386
@@ -411,7 +411,7 @@ def __init__(
411411
base_url: Optional[str] = None,
412412
auto_start_server: Optional[bool] = None,
413413
pmxt_api_key: Optional[str] = None,
414-
):
414+
) -> None:
415415
"""
416416
Initialize Hyperliquid client.
417417
@@ -442,7 +442,7 @@ def __init__(
442442
base_url: Optional[str] = None,
443443
auto_start_server: Optional[bool] = None,
444444
pmxt_api_key: Optional[str] = None,
445-
):
445+
) -> None:
446446
"""
447447
Initialize GeminiTitan client.
448448
@@ -478,7 +478,7 @@ def __init__(
478478
base_url: Optional[str] = None,
479479
auto_start_server: Optional[bool] = None,
480480
pmxt_api_key: Optional[str] = None,
481-
):
481+
) -> None:
482482
"""
483483
Initialize SuiBets client.
484484
@@ -503,7 +503,7 @@ def __init__(
503503
base_url: Optional[str] = None,
504504
auto_start_server: Optional[bool] = None,
505505
pmxt_api_key: Optional[str] = None,
506-
):
506+
) -> None:
507507
"""
508508
Initialize Mock client.
509509
@@ -528,7 +528,7 @@ def __init__(
528528
base_url: Optional[str] = None,
529529
auto_start_server: Optional[bool] = None,
530530
pmxt_api_key: Optional[str] = None,
531-
):
531+
) -> None:
532532
"""
533533
Initialize Router client.
534534
@@ -547,5 +547,3 @@ def __init__(
547547
# Backwards-compatible aliases for exchange classes generated before underscore handling.
548548
Polymarket_us = PolymarketUS
549549
Suibets = SuiBets
550-
551-
from .router import Router as Router

‎sdks/python/pmxt/client.py‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import uuid
1414
from abc import ABC
1515
from datetime import datetime
16-
from typing import Callable, List, Optional, Dict, Any, Literal, Union
16+
from typing import Callable, List, Optional, Dict, Any, Literal, Union, Type
1717

1818
# Add generated client to path
1919
_GENERATED_PATH = os.path.join(os.path.dirname(__file__), "..", "generated")
@@ -91,7 +91,7 @@ def _convert_params_to_camel(params: Dict[str, Any]) -> Dict[str, Any]:
9191
return {_snake_to_camel(k): v for k, v in params.items()}
9292

9393

94-
def _auto_convert(cls, raw: Dict[str, Any], **overrides):
94+
def _auto_convert(cls: Type[Any], raw: Dict[str, Any], **overrides: Any) -> Any:
9595
"""Auto-map camelCase raw dict to snake_case dataclass fields.
9696
9797
Iterates over the dataclass fields, looks up the camelCase key in ``raw``,
@@ -295,9 +295,9 @@ def __init__(
295295
base_url: Optional[str] = None,
296296
auto_start_server: Optional[bool] = None,
297297
proxy_address: Optional[str] = None,
298-
signature_type: Optional[Any] = None,
298+
signature_type: Optional[str] = None,
299299
pmxt_api_key: Optional[str] = None,
300-
):
300+
) -> None:
301301
"""
302302
Initialize an exchange client.
303303
@@ -1802,7 +1802,7 @@ def _watch_via_ws(
18021802
def _ws_required_error(self, method_name: str) -> PmxtError:
18031803
return PmxtError(f"{method_name}() requires WebSocket transport — connection failed")
18041804

1805-
def _require_ws_transport(self, method_name: str):
1805+
def _require_ws_transport(self, method_name: str) -> "SidecarWsClient":
18061806
ws = self._get_or_create_ws()
18071807
if ws is None:
18081808
raise self._ws_required_error(method_name)
@@ -2008,7 +2008,7 @@ def watch_all_order_books(
20082008
raise PmxtError("watch_all_order_books() requires hosted mode (set pmxt_api_key)")
20092009

20102010
effective_venues = venues if venues is not None else self._default_watch_all_order_book_venues()
2011-
args: list = [effective_venues] if effective_venues else []
2011+
args: List[Any] = [effective_venues] if effective_venues else []
20122012
data = self._watch_via_ws("watchAllOrderBooks", args)
20132013
if data is not None:
20142014
return FirehoseEvent(
@@ -2101,11 +2101,11 @@ def watch_address(
21012101
... print(f"Trade: {snapshot.trades}")
21022102
"""
21032103
try:
2104-
args: list = [address]
2104+
args: List[Any] = [address]
21052105
if types is not None:
21062106
args.append(types)
21072107

2108-
body: dict = {"args": args}
2108+
body: Dict[str, Any] = {"args": args}
21092109
creds = self._get_credentials_dict()
21102110
if creds:
21112111
body["credentials"] = creds
@@ -2142,7 +2142,7 @@ def unwatch_address(
21422142
None
21432143
"""
21442144
try:
2145-
body: dict = {"args": [address]}
2145+
body: Dict[str, Any] = {"args": [address]}
21462146
creds = self._get_credentials_dict()
21472147
if creds:
21482148
body["credentials"] = creds

‎sdks/python/pmxt/errors.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
class PmxtError(Exception):
1414
"""Base error class for all pmxt errors."""
1515

16-
def __init__(self, message: str, code: str = "UNKNOWN_ERROR", retryable: bool = False, exchange: str | None = None):
16+
def __init__(self, message: str, code: str = "UNKNOWN_ERROR", retryable: bool = False, exchange: str | None = None) -> None:
1717
super().__init__(message)
1818
self.message = message
1919
self.code = code
@@ -86,7 +86,7 @@ def __init__(self, identifier: str, exchange: str | None = None):
8686
class RateLimitExceeded(PmxtError):
8787
"""429 Too Many Requests - Rate limit exceeded."""
8888

89-
def __init__(self, message: str, retry_after: float | None = None, **kwargs):
89+
def __init__(self, message: str, retry_after: float | None = None, **kwargs) -> None:
9090
super().__init__(message, **kwargs)
9191
self.retry_after = retry_after
9292

@@ -104,7 +104,7 @@ class InsufficientFunds(PmxtError):
104104
class ValidationError(PmxtError):
105105
"""400 Bad Request - Input validation failed."""
106106

107-
def __init__(self, message: str, field: str | None = None, **kwargs):
107+
def __init__(self, message: str, field: str | None = None, **kwargs) -> None:
108108
super().__init__(message, **kwargs)
109109
self.field = field
110110

‎sdks/python/pmxt/router.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from pmxt_internal.exceptions import ApiException
2626

2727

28-
def _parse_market(raw: Any) -> UnifiedMarket:
28+
def _parse_market(raw: Any) -> Any:
2929
"""Best-effort parse of a raw market dict into UnifiedMarket."""
3030
if isinstance(raw, UnifiedMarket):
3131
return raw
@@ -34,7 +34,7 @@ def _parse_market(raw: Any) -> UnifiedMarket:
3434
return raw
3535

3636

37-
def _parse_event(raw: Any) -> UnifiedEvent:
37+
def _parse_event(raw: Any) -> Any:
3838
"""Best-effort parse of a raw event dict into UnifiedEvent."""
3939
if isinstance(raw, UnifiedEvent):
4040
return raw
@@ -124,7 +124,7 @@ def __init__(
124124
pmxt_api_key: Optional[str] = None,
125125
base_url: Optional[str] = None,
126126
auto_start_server: bool = False,
127-
):
127+
) -> None:
128128
"""
129129
Initialize the Router.
130130
@@ -306,7 +306,7 @@ def fetch_event_matches(
306306
results.append(EventMatchResult(event=event, market_matches=market_matches))
307307
return results
308308

309-
def _get_catalog_path(self, path: str, params: Dict[str, Any]) -> Any:
309+
def _get_catalog_path(self, path: str, params: Dict[str, Any]) -> Dict[str, Any]:
310310
"""GET a hosted catalog /v0 path and return its raw JSON body."""
311311
qs = self._build_sidecar_query_string(params)
312312
url = f"{self._resolve_sidecar_host()}{path}{'?' + qs if qs else ''}"

‎sdks/python/pmxt/server_manager.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ServerManager:
5353
# must share the same critical section.
5454
_ensure_lock = threading.Lock()
5555

56-
def __init__(self, base_url: str = "http://localhost:3847"):
56+
def __init__(self, base_url: str = "http://localhost:3847") -> None:
5757
"""
5858
Initialize the server manager.
5959

‎sdks/python/pmxt/ws_client.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class _WsSubscription:
5050

5151
__slots__ = ("request_id", "method", "symbols", "event")
5252

53-
def __init__(self, request_id: str, method: str, symbols: List[str]):
53+
def __init__(self, request_id: str, method: str, symbols: List[str]) -> None:
5454
self.request_id = request_id
5555
self.method = method
5656
self.symbols = symbols
@@ -66,7 +66,7 @@ class SidecarWsClient:
6666
may invoke subscribe/receive from any thread.
6767
"""
6868

69-
def __init__(self, host: str, access_token: Optional[str] = None, api_key: Optional[str] = None):
69+
def __init__(self, host: str, access_token: Optional[str] = None, api_key: Optional[str] = None) -> None:
7070
self._host = host
7171
self._access_token = access_token
7272
self._api_key = api_key

0 commit comments

Comments
 (0)