| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-18 | 3.4 kB | |
| v2.53.0 source code.tar.gz | 2026-07-18 | 2.3 MB | |
| v2.53.0 source code.zip | 2026-07-18 | 2.7 MB | |
| Totals: 3 Items | 5.0 MB | 0 | |
Second wave of community PR triage. Each of these was reworked before landing — the original branches carried stale reverts, file-encoding corruption, or compile errors, so only the intended net change was applied on top of current main, then re-verified. All Core (816), Python SDK (267), and TypeScript SDK (93) tests pass. Minor bump for the new opt-in Router and WebSocket capabilities.
Added
feat(sdk):Router.sql(query)(#1129). Both SDKs gain aRouter.sql()/Router.sql()method that POSTs a query to the server's existing/v0/sqlendpoint (read-only ClickHouse, error-scrubbed) with the SDK's normal auth headers, returning a typedSqlResult(SqlMeta/SqlColumn) exported from each package root. The original PR's UTF-16 file corruption and unrelated reverts were dropped.feat(sdk): cross-venueRouter.fetchOrderBook(outcomeId)(#1670). Both SDKs expose a Router-level order-book fetch that routes through the existing coreRouter.fetchOrderBooksurface and returns a single mergedOrderBook. Reimplemented as a properRouterclass method (the original defined it at module level, which gutted the PythonRouterclass).feat(sdk): expose WebSocket configuration for Polymarket and Kalshi (#1126). Awebsocketoptions object (reconnect interval, max reconnect attempts, ping interval, connect timeout) is threaded through the SDK exchange constructors into the WebSocket clients in both SDKs. Reconciled with the [#1659] handshake-timeout/retry work already onmain, and the fast default reconnect backoff is preserved (no 5s-default regression).
Fixed
fix(baozi): correct program error-code mappings (#1118). Remap6018/6040/6020/6041→6013/6014/6023/6024to match the current on-chain IDL. Applied without the stale hosted-trading reverts the original branch carried.fix(limitless): paginate all markets (#1119). Replace fixed-page parallel fetching with sequential pagination driven bytotalMarketsCount(with a 50-page safety cap) plus a token-filter over-fetch factor, so largelimitrequests return the full set. Applied without the stale reverts.fix(ts-sdk): alignMatchResult/PriceComparisonnullable fields (#1578). Widenreasoning,bestBid,bestAsktoT | nullto matchopenapi.yaml(nullable: true). The half-wired parity CI from that PR was intentionally not included.
Not merged
- #1614 (
feat(probable)) was rejected: it exposed session credentials (apiKey/apiSecret/passphrase) over an HTTP endpoint keyed by a public wallet address. Held out pending a fix that stops returning secrets over the server surface. - #1419 (
replace any with proper types) was superseded: the remaininganyusages are raw wire-JSON in converter helpers with no genuine importable type to substitute; the public Router signatures are already typed.
Installation
npm:
:::bash
npm install pmxtjs@2.53.0
npm install -g @pmxt/cli@2.53.0
PyPI:
:::bash
pip install pmxt==2.53.0
Links
Full Changelog: https://github.com/pmxt-dev/pmxt/compare/v2.52.0f...v2.53.0f