polysimulator 0.4.2__tar.gz → 0.4.3__tar.gz

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.
Files changed (51) hide show
  1. {polysimulator-0.4.2 → polysimulator-0.4.3}/PKG-INFO +7 -7
  2. {polysimulator-0.4.2 → polysimulator-0.4.3}/README.md +4 -4
  3. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/__init__.py +3 -1
  4. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/_trade.py +7 -6
  5. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/models.py +1 -1
  6. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/rfq.py +42 -2
  7. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/_version.py +1 -1
  8. {polysimulator-0.4.2 → polysimulator-0.4.3}/pyproject.toml +3 -3
  9. {polysimulator-0.4.2 → polysimulator-0.4.3}/.gitignore +0 -0
  10. {polysimulator-0.4.2 → polysimulator-0.4.3}/LICENSE +0 -0
  11. {polysimulator-0.4.2 → polysimulator-0.4.3}/NOTICE +0 -0
  12. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/__init__.py +0 -0
  13. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/client.py +0 -0
  14. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/clob_types.py +0 -0
  15. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/constants.py +0 -0
  16. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/exceptions.py +0 -0
  17. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/order_builder/__init__.py +0 -0
  18. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_clob_client/order_builder/constants.py +0 -0
  19. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/__init__.py +0 -0
  20. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/_account.py +0 -0
  21. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/_common.py +0 -0
  22. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/_onchain.py +0 -0
  23. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/async_public.py +0 -0
  24. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/async_secure.py +0 -0
  25. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/public.py +0 -0
  26. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/clients/secure.py +0 -0
  27. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/environments.py +0 -0
  28. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/errors.py +0 -0
  29. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/pagination.py +0 -0
  30. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/__init__.py +0 -0
  31. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_adapt.py +0 -0
  32. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_crypto_events.py +0 -0
  33. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_handle.py +0 -0
  34. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_market_events.py +0 -0
  35. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_runner.py +0 -0
  36. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_specs.py +0 -0
  37. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_stream_open.py +0 -0
  38. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_user_events.py +0 -0
  39. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_polymarket/streams/_validators.py +0 -0
  40. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/__init__.py +0 -0
  41. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/_http.py +0 -0
  42. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/_shared.py +0 -0
  43. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/aio.py +0 -0
  44. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/client.py +0 -0
  45. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/constants.py +0 -0
  46. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/exceptions.py +0 -0
  47. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/pagination.py +0 -0
  48. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/retry.py +0 -0
  49. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/sse.py +0 -0
  50. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/updown.py +0 -0
  51. {polysimulator-0.4.2 → polysimulator-0.4.3}/polysim_sdk/ws.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polysimulator
3
- Version: 0.4.2
4
- Summary: Python SDK for the PolySimulator paper-trading API, with py-clob-client v1 drop-in parity (not py-clob-client-v2) and a polysim_polymarket paper-mode mirror of Polymarket's unified py-sdk (polymarket-client 0.1.0b8).
3
+ Version: 0.4.3
4
+ Summary: Python SDK for the PolySimulator paper-trading API, with py-clob-client v1 drop-in parity (not py-clob-client-v2) and a polysim_polymarket paper-mode mirror of Polymarket's unified py-sdk (polymarket-client 0.1.0b13).
5
5
  Project-URL: Homepage, https://polysimulator.com
6
6
  Project-URL: Documentation, https://docs.polysimulator.com
7
7
  Project-URL: API Reference, https://api.polysimulator.com/docs
@@ -26,7 +26,7 @@ Requires-Dist: websockets<17,>=12
26
26
  Provides-Extra: dev
27
27
  Requires-Dist: build>=1.0; extra == 'dev'
28
28
  Requires-Dist: mypy>=1.10; extra == 'dev'
29
- Requires-Dist: polymarket-client==0.1.0b8; extra == 'dev'
29
+ Requires-Dist: polymarket-client==0.1.0b13; extra == 'dev'
30
30
  Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
31
31
  Requires-Dist: pytest>=8; extra == 'dev'
32
32
  Requires-Dist: respx>=0.21; extra == 'dev'
@@ -40,9 +40,9 @@ Description-Content-Type: text/markdown
40
40
  [![Python versions](https://img.shields.io/pypi/pyversions/polysimulator.svg)](https://pypi.org/project/polysimulator/)
41
41
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
42
42
  [![py-clob-client compat](https://img.shields.io/badge/py--clob--client-v1%20drop--in-blue.svg)](https://github.com/Polymarket/py-clob-client)
43
- [![py-sdk mirror](https://img.shields.io/badge/polymarket--client-0.1.0b8%20mirror-blueviolet.svg)](https://pypi.org/project/polymarket-client/)
43
+ [![py-sdk mirror](https://img.shields.io/badge/polymarket--client-0.1.0b13%20mirror-blueviolet.svg)](https://pypi.org/project/polymarket-client/)
44
44
 
45
- > **Mirrors Polymarket's unified py-sdk** — `polysim_polymarket` is a paper-mode mirror of [`polymarket-client`](https://pypi.org/project/polymarket-client/) **`0.1.0b8`**: sync + async PublicClient/SecureClient, trading, and core streams. Swap the import prefix + host + auth and your py-sdk bot runs on paper. [Compat matrix ↓](#compat-matrix)
45
+ > **Mirrors Polymarket's unified py-sdk** — `polysim_polymarket` is a paper-mode mirror of [`polymarket-client`](https://pypi.org/project/polymarket-client/) **`0.1.0b13`**: sync + async PublicClient/SecureClient, trading, and core streams. Swap the import prefix + host + auth and your py-sdk bot runs on paper. [Compat matrix ↓](#compat-matrix)
46
46
 
47
47
  The official Python client for the [PolySimulator](https://polysimulator.com)
48
48
  paper-trading API. **One package, three import surfaces:**
@@ -296,7 +296,7 @@ paper-mode-native and not tied to any `py-clob-client` generation.
296
296
  |---|---|
297
297
  | `py-clob-client` v1 (`< 2.0`; latest `0.34.6`) | ✅ Drop-in via `polysim_clob_client` |
298
298
  | `py-clob-client-v2` (`1.0.x`) | ❌ Not supported — use `polysim_sdk`, or pin `py-clob-client<2` |
299
- | unified **py-sdk** (`polymarket-client`, import `polymarket`; `0.1.0b8`) | 🔶 **Paper-mode mirror** via `polysim_polymarket` — sync + async `PublicClient` / `SecureClient` (reads, account/auth, trading) + core streams; on-chain are paper no-ops and Gamma/Data reads are deferred. See [below](#polymarket-py-sdk-v2-mirror) and the [compat matrix](#compat-matrix) |
299
+ | unified **py-sdk** (`polymarket-client`, import `polymarket`; `0.1.0b13`) | 🔶 **Paper-mode mirror** via `polysim_polymarket` — sync + async `PublicClient` / `SecureClient` (reads, account/auth, trading) + core streams; on-chain are paper no-ops and Gamma/Data reads are deferred. See [below](#polymarket-py-sdk-v2-mirror) and the [compat matrix](#compat-matrix) |
300
300
 
301
301
  The v2-only concepts — EIP-712 v2 signing, pUSD collateral, protocol-side fees,
302
302
  builder codes — have no analog in paper trading, so there is nothing to port:
@@ -481,7 +481,7 @@ mirrored surface and respected the seams above.
481
481
 
482
482
  ### Compat matrix
483
483
 
484
- > Pinned to **`polymarket-client==0.1.0b8`** — parity is re-locked against this exact pin by the full-surface parity gate; when the pin bumps, this matrix + the badge bump with it.
484
+ > Pinned to **`polymarket-client==0.1.0b13`** — parity is re-locked against this exact pin by the full-surface parity gate; when the pin bumps, this matrix + the badge bump with it.
485
485
 
486
486
  Support level for every py-sdk surface area, cross-checked against what's
487
487
  actually implemented in `polysim_polymarket`:
@@ -4,9 +4,9 @@
4
4
  [![Python versions](https://img.shields.io/pypi/pyversions/polysimulator.svg)](https://pypi.org/project/polysimulator/)
5
5
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
6
6
  [![py-clob-client compat](https://img.shields.io/badge/py--clob--client-v1%20drop--in-blue.svg)](https://github.com/Polymarket/py-clob-client)
7
- [![py-sdk mirror](https://img.shields.io/badge/polymarket--client-0.1.0b8%20mirror-blueviolet.svg)](https://pypi.org/project/polymarket-client/)
7
+ [![py-sdk mirror](https://img.shields.io/badge/polymarket--client-0.1.0b13%20mirror-blueviolet.svg)](https://pypi.org/project/polymarket-client/)
8
8
 
9
- > **Mirrors Polymarket's unified py-sdk** — `polysim_polymarket` is a paper-mode mirror of [`polymarket-client`](https://pypi.org/project/polymarket-client/) **`0.1.0b8`**: sync + async PublicClient/SecureClient, trading, and core streams. Swap the import prefix + host + auth and your py-sdk bot runs on paper. [Compat matrix ↓](#compat-matrix)
9
+ > **Mirrors Polymarket's unified py-sdk** — `polysim_polymarket` is a paper-mode mirror of [`polymarket-client`](https://pypi.org/project/polymarket-client/) **`0.1.0b13`**: sync + async PublicClient/SecureClient, trading, and core streams. Swap the import prefix + host + auth and your py-sdk bot runs on paper. [Compat matrix ↓](#compat-matrix)
10
10
 
11
11
  The official Python client for the [PolySimulator](https://polysimulator.com)
12
12
  paper-trading API. **One package, three import surfaces:**
@@ -260,7 +260,7 @@ paper-mode-native and not tied to any `py-clob-client` generation.
260
260
  |---|---|
261
261
  | `py-clob-client` v1 (`< 2.0`; latest `0.34.6`) | ✅ Drop-in via `polysim_clob_client` |
262
262
  | `py-clob-client-v2` (`1.0.x`) | ❌ Not supported — use `polysim_sdk`, or pin `py-clob-client<2` |
263
- | unified **py-sdk** (`polymarket-client`, import `polymarket`; `0.1.0b8`) | 🔶 **Paper-mode mirror** via `polysim_polymarket` — sync + async `PublicClient` / `SecureClient` (reads, account/auth, trading) + core streams; on-chain are paper no-ops and Gamma/Data reads are deferred. See [below](#polymarket-py-sdk-v2-mirror) and the [compat matrix](#compat-matrix) |
263
+ | unified **py-sdk** (`polymarket-client`, import `polymarket`; `0.1.0b13`) | 🔶 **Paper-mode mirror** via `polysim_polymarket` — sync + async `PublicClient` / `SecureClient` (reads, account/auth, trading) + core streams; on-chain are paper no-ops and Gamma/Data reads are deferred. See [below](#polymarket-py-sdk-v2-mirror) and the [compat matrix](#compat-matrix) |
264
264
 
265
265
  The v2-only concepts — EIP-712 v2 signing, pUSD collateral, protocol-side fees,
266
266
  builder codes — have no analog in paper trading, so there is nothing to port:
@@ -445,7 +445,7 @@ mirrored surface and respected the seams above.
445
445
 
446
446
  ### Compat matrix
447
447
 
448
- > Pinned to **`polymarket-client==0.1.0b8`** — parity is re-locked against this exact pin by the full-surface parity gate; when the pin bumps, this matrix + the badge bump with it.
448
+ > Pinned to **`polymarket-client==0.1.0b13`** — parity is re-locked against this exact pin by the full-surface parity gate; when the pin bumps, this matrix + the badge bump with it.
449
449
 
450
450
  Support level for every py-sdk surface area, cross-checked against what's
451
451
  actually implemented in `polysim_polymarket`:
@@ -23,7 +23,7 @@ This ships the full mirrored surface: sync + async ``PublicClient`` /
23
23
  ``SecureClient`` covering CLOB market-data reads, account/auth, and the trading
24
24
  write surface, plus on-chain paper no-ops, rewards/builder/RFQ stubs, and the
25
25
  core realtime streams (``market`` / ``user`` / ``crypto_prices``) — a paper-mode
26
- mirror of ``polymarket-client`` ``0.1.0b8``, returning typed pydantic models.
26
+ mirror of ``polymarket-client`` ``0.1.0b13``, returning typed pydantic models.
27
27
  """
28
28
 
29
29
  from __future__ import annotations
@@ -111,6 +111,7 @@ from polysim_polymarket.rfq import (
111
111
  RfqRequestorPublicId,
112
112
  RfqSession,
113
113
  RfqSide,
114
+ RfqTradeEvent,
114
115
  )
115
116
  from polysim_sdk import __version__
116
117
 
@@ -221,6 +222,7 @@ __all__ = [
221
222
  "RfqRequestorPublicId",
222
223
  "RfqSession",
223
224
  "RfqSide",
225
+ "RfqTradeEvent",
224
226
  "SecureClient",
225
227
  "SignedOrder",
226
228
  "SyncTransactionHandle",
@@ -58,10 +58,11 @@ DEFAULT_SELL_WORST_PRICE = Decimal("0.01")
58
58
  _VALID_MARKET_ORDER_TYPES = frozenset({"FAK", "FOK"})
59
59
 
60
60
  # py-sdk requires a GTD ``expiration`` to be an ABSOLUTE Unix timestamp at least
61
- # this many seconds in the future (``limit._MIN_EXPIRATION_BUFFER_S``); a sub-60s
62
- # or past timestamp is rejected before any request. We mirror the constant + rule
63
- # + message so a ported bot's bad-expiration call raises identically.
64
- _MIN_EXPIRATION_BUFFER_S = 60
61
+ # this many seconds in the future (``limit._MIN_EXPIRATION_BUFFER_S``); a sub-180s
62
+ # or past timestamp is rejected before any request. py-sdk b13 raised this floor
63
+ # from 60s to 180s (3-minute minimum GTD). We mirror the constant + rule + message
64
+ # so a ported bot's bad-expiration call raises identically.
65
+ _MIN_EXPIRATION_BUFFER_S = 180
65
66
 
66
67
  # A long all-digit token id is a real Polymarket CLOB outcome-token id (not a
67
68
  # PolySim condition id); it needs reverse-resolution via the network. Matches the
@@ -249,8 +250,8 @@ def build_limit_order(
249
250
  raise UserInputError("expiration must be a non-negative integer.")
250
251
  if expiration < 0:
251
252
  raise UserInputError("expiration must be a non-negative integer.")
252
- # py-sdk: an ABSOLUTE Unix ts must be ≥ now + 60s. Layered AFTER the
253
- # non-negative check, exactly as py-sdk orders the two guards.
253
+ # py-sdk: an ABSOLUTE Unix ts must be ≥ now + 180s (b13's 3-min floor).
254
+ # Layered AFTER the non-negative check, exactly as py-sdk orders the two guards.
254
255
  minimum = int(time.time()) + _MIN_EXPIRATION_BUFFER_S
255
256
  if expiration < minimum:
256
257
  raise UserInputError(
@@ -332,7 +332,7 @@ OrderPostStatus: TypeAlias = Literal["live", "matched", "delayed"]
332
332
  # price increments a CLOB market can use. py-sdk defines it exactly as below; a
333
333
  # ported bot that type-hints a tick size against this alias keeps the same type
334
334
  # across the prefix swap.
335
- TickSize: TypeAlias = Literal["0.1", "0.01", "0.001", "0.0001"]
335
+ TickSize: TypeAlias = Literal["0.1", "0.01", "0.005", "0.0025", "0.001", "0.0001"]
336
336
 
337
337
  # Mirrors ``polymarket.models.clob.order_response.OrderResponseErrorCode`` — the
338
338
  # closed set of reasons a posted order is rejected.
@@ -100,6 +100,8 @@ class RfqErrorCode(StrEnum):
100
100
  INVALID_RFQ = "INVALID_RFQ"
101
101
  INVALID_RFQ_STATE = "INVALID_RFQ_STATE"
102
102
  INVALID_ROLE = "INVALID_ROLE"
103
+ INVALID_SIGNATURE = "INVALID_SIGNATURE"
104
+ INTERNAL_ERROR = "INTERNAL_ERROR"
103
105
  LEG_METADATA_UNAVAILABLE = "LEG_METADATA_UNAVAILABLE"
104
106
  MAKER_ALREADY_RESPONDED = "MAKER_ALREADY_RESPONDED"
105
107
  MAKER_NOT_REQUIRED = "MAKER_NOT_REQUIRED"
@@ -148,6 +150,29 @@ class RfqExecutionUpdateEvent:
148
150
  tx_hash: str | None = None
149
151
 
150
152
 
153
+ @dataclass(frozen=True, slots=True, kw_only=True)
154
+ class RfqTradeEvent:
155
+ """A confirmed-trade broadcast. Mirrors ``polymarket.rfq.RfqTradeEvent`` (py-sdk b9+).
156
+
157
+ A pure data event (no live-session methods) — pushed when an RFQ leg trade is
158
+ confirmed. The TYPE is importable so a bot's ``RfqEvent`` handler type-checks
159
+ and ``isinstance`` resolves across the prefix swap. (py-sdk's ``condition_id`` /
160
+ ``leg_position_ids`` carry the ``ComboConditionId`` / ``PositionId`` aliases,
161
+ which are plain ``str`` — the mirror uses bare ``str`` like its sibling events.)
162
+ """
163
+
164
+ type: Literal["trade"]
165
+ rfq_id: RfqId
166
+ requester_id: RfqRequestorPublicId
167
+ condition_id: str
168
+ leg_position_ids: tuple[str, ...]
169
+ direction: RfqDirection
170
+ side: RfqSide
171
+ price: Decimal
172
+ size: Decimal
173
+ executed_at: int
174
+
175
+
151
176
  @dataclass(frozen=True, slots=True, kw_only=True)
152
177
  class RfqQuoteRequestEvent:
153
178
  """A maker's quote-request event. Mirrors ``polymarket.rfq.RfqQuoteRequestEvent``.
@@ -215,7 +240,9 @@ class RfqConfirmationRequestEvent:
215
240
  raise NotImplementedError(RFQ_NOT_SIMULATED)
216
241
 
217
242
 
218
- RfqEvent = RfqQuoteRequestEvent | RfqConfirmationRequestEvent | RfqExecutionUpdateEvent
243
+ RfqEvent = (
244
+ RfqQuoteRequestEvent | RfqConfirmationRequestEvent | RfqExecutionUpdateEvent | RfqTradeEvent
245
+ )
219
246
 
220
247
 
221
248
  class RfqQuoteRejectedError(PolyException):
@@ -225,10 +252,18 @@ class RfqQuoteRejectedError(PolyException):
225
252
  error-tree divergence from py-sdk's ``PolymarketError``).
226
253
  """
227
254
 
228
- def __init__(self, message: str, *, rfq_id: RfqId, code: RfqErrorCode | None = None) -> None:
255
+ def __init__(
256
+ self,
257
+ message: str,
258
+ *,
259
+ rfq_id: RfqId,
260
+ code: RfqErrorCode | None = None,
261
+ error_id: str | None = None,
262
+ ) -> None:
229
263
  super().__init__(message)
230
264
  self.rfq_id = rfq_id
231
265
  self.code = code
266
+ self.error_id = error_id
232
267
 
233
268
 
234
269
  class RfqCancelQuoteRejectedError(PolyException):
@@ -241,11 +276,13 @@ class RfqCancelQuoteRejectedError(PolyException):
241
276
  rfq_id: RfqId,
242
277
  quote_id: RfqQuoteId,
243
278
  code: RfqErrorCode | None = None,
279
+ error_id: str | None = None,
244
280
  ) -> None:
245
281
  super().__init__(message)
246
282
  self.rfq_id = rfq_id
247
283
  self.quote_id = quote_id
248
284
  self.code = code
285
+ self.error_id = error_id
249
286
 
250
287
 
251
288
  class RfqConfirmationRejectedError(PolyException):
@@ -258,11 +295,13 @@ class RfqConfirmationRejectedError(PolyException):
258
295
  rfq_id: RfqId,
259
296
  quote_id: RfqQuoteId,
260
297
  code: RfqErrorCode | None = None,
298
+ error_id: str | None = None,
261
299
  ) -> None:
262
300
  super().__init__(message)
263
301
  self.rfq_id = rfq_id
264
302
  self.quote_id = quote_id
265
303
  self.code = code
304
+ self.error_id = error_id
266
305
 
267
306
 
268
307
  @runtime_checkable
@@ -325,4 +364,5 @@ __all__ = [
325
364
  "RfqRequestorPublicId",
326
365
  "RfqSession",
327
366
  "RfqSide",
367
+ "RfqTradeEvent",
328
368
  ]
@@ -14,7 +14,7 @@ from importlib.metadata import PackageNotFoundError, version
14
14
  # Fallback for a checkout with no installed distribution metadata (e.g. running
15
15
  # straight from source without ``pip install -e``). Kept in sync with
16
16
  # ``[project].version`` as a last resort only — the metadata read is canonical.
17
- _FALLBACK_VERSION = "0.4.2"
17
+ _FALLBACK_VERSION = "0.4.3"
18
18
 
19
19
  try:
20
20
  __version__ = version("polysimulator")
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "polysimulator"
7
- version = "0.4.2"
8
- description = "Python SDK for the PolySimulator paper-trading API, with py-clob-client v1 drop-in parity (not py-clob-client-v2) and a polysim_polymarket paper-mode mirror of Polymarket's unified py-sdk (polymarket-client 0.1.0b8)."
7
+ version = "0.4.3"
8
+ description = "Python SDK for the PolySimulator paper-trading API, with py-clob-client v1 drop-in parity (not py-clob-client-v2) and a polysim_polymarket paper-mode mirror of Polymarket's unified py-sdk (polymarket-client 0.1.0b13)."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  license = "Apache-2.0"
@@ -46,7 +46,7 @@ dev = [
46
46
  # ``polysim_polymarket`` mirror is built against. Used by the surface-parity
47
47
  # tests to assert signature/field fidelity. The explicit ``b8`` build pins a
48
48
  # prerelease that installs without ``--pre``.
49
- "polymarket-client==0.1.0b8",
49
+ "polymarket-client==0.1.0b13",
50
50
  ]
51
51
 
52
52
  [project.urls]
File without changes
File without changes
File without changes