Skip to content

Releases: Fabric-Labs/polyester-sdk-python

v0.1.0a55

Choose a tag to compare

@AnthonyArena AnthonyArena released this 21 Sep 15:24
070c38d

Added

  • Market-order create/preview now expose max_slippage_bps or max_slippage_ticks and serialize the chosen override onto OrderIntent.market_ioc. Omit both to keep pair defaults. The fields are mutually exclusive, bounded (bps 1–10000, ticks positive), rejected on limit orders, and unknown create arguments now error instead of being dropped.

v0.1.0a54

Choose a tag to compare

@AnthonyArena AnthonyArena released this 16 Sep 17:03
2dcf6a9

Added

  • Limit GTD orders: tif="gtd" plus required RFC3339 UTC expires_at encode OrderIntent.limit_gtd (price, optional post_only, 1s–30d expiry)
  • Order reads expose expire_at for GTD and omit it otherwise

Changed

  • Generated Connect/protobuf bindings now include ClaimsService.GetDailyClaimStatus and ClaimDailyReward. Those RPCs stay JWT/session-only and are not wrapped in this API-key SDK.

v0.1.0a53

Choose a tag to compare

@AnthonyArena AnthonyArena released this 15 Sep 02:11
d601f61

Breaking

  • POLYESTER_TESTNET_ENVIRONMENT is now public testnet (api-testnet.polyester.com, chain 888169). The previous preset is POLYESTER_DEVNET_ENVIRONMENT and remains the client default.

Added

  • Paginated order lineage history: Order.lineage / UserTrade.lineage, GetOrderResult.transfers / next_page_token, and UserTradesList.transfers
  • orders.get accepts include_execution_history, limit, and page_token
  • trades.list accepts mutually exclusive order_id / lineage_id, optional through_generation, and include_transfers
  • First-class PolyesterEnvironment presets, create_polyester_environment, environment.with_urls(...), and POLYESTER_ENV=devnet|testnet
  • CI rejects proto-relative Connect imports so gen drops remap to polyester.gen.*

Changed

  • Restored polyester.gen.* imports in the fees, VIP, and rate-limit Connect clients

v0.1.0a52

Choose a tag to compare

@AnthonyArena AnthonyArena released this 10 Sep 22:27
a8df268

Breaking

  • DepositWithdrawConfig.polyester_chain_id is removed. The zipper config no longer publishes a dedicated Polyester chain id.

Added

  • market_overview.get_currency_conversion_config and get_currency_conversion_rates
  • Fiat units_per_usd_e8 is currency units per 1 USD at 1e8 scale (USD identity is 100_000_000)
  • Stablecoin usd_per_unit_e8 is observed USD per unit at the same scale
  • A missing fiat snapshot or omitted stablecoin is unobserved, not zero

Changed

  • Restored polyester.gen.* imports in the fees, VIP, and rate-limit Connect clients
  • Document that a reused client_order_id on create is a conflict after the first admission (CONFLICT_DUPLICATE_CLIENT_ORDER_ID)

v0.1.0a51

Choose a tag to compare

@AnthonyArena AnthonyArena released this 08 Sep 15:19
c128e8a

Breaking

  • orders.cancel_all now sends repeated Connect symbol_ids instead of a single symbol_id. Callers can pass symbol, symbols, or symbol_ids (mutually exclusive).

Added

  • market_overview.get_spot_volume_history
  • Candle quote_volume; market overview optional 24h volume fields
  • Ladder executed_levels / executed_qty
  • TWAP market-IOC max_slippage_ticks or max_slippage_bps
  • Typed withdraw/transfer ErrorDetail
  • Discord social verification start without handle

Changed

  • Generated AuthService.AcceptTerms stays JWT-only and unwrapped
  • Restored polyester.gen.* imports in fees, VIP, and rate-limit Connect clients

v0.1.0a50

Choose a tag to compare

@AnthonyArena AnthonyArena released this 04 Sep 16:22
9644475

Changed

  • Generated Connect/protobuf bindings now include GetPortfolioEquityHistorySeries and GetPortfolioEquitySnapshot. Those LedgerRead RPCs stay JWT/session-only and are not wrapped in this API-key SDK.
  • Equity history decode maps the additive EquitySeries.portfolio_account grouping so the shared series type keeps portfolio identity instead of dropping it.
  • Trigger modify proto validation is stricter: trigger price and trailing distance must be positive, and slippage / trailing BPS stay in 1–10000.

v0.1.0a49

Choose a tag to compare

@AnthonyArena AnthonyArena released this 03 Sep 18:52
2882002

Fixed

  • Qty/price strings with trailing zeros past scale are accepted when the value is exact after trim. "1.500000000" at scale 8 matches "1.5"; "1.500000001" still rejects.

v0.1.0a48

Choose a tag to compare

@AnthonyArena AnthonyArena released this 03 Sep 04:00
54426f9

Breaking

  • MeResult.api_key_id is the public ak_ + 32-hex string from MeResponse.api_key_id, not a formatted numeric ID. It is empty when the call was not API-key authenticated.
  • Subaccount status is decoded from SubaccountStatus (active / disabled; unspecified is empty). Invite list/get filters encode incoming / outgoing onto SubaccountInviteDirection and reject unknown labels.
  • Cancel, cancel-all, cancel-all-after, and batch-cancel outcomes decode from closed proto enums onto the existing public labels. Unspecified or unknown values fail closed.

Changed

  • Generated bindings include GenerateUsernameOptions and ClaimGeneratedUsername. Those Profile RPCs stay JWT/session-only and are not wrapped in this API-key SDK.
  • Restored polyester.gen.* imports in the fees, VIP, and rate-limit Connect clients.

PyPI: https://pypi.org/project/polyester-sdk/0.1.0a48/

v0.1.0a47

Choose a tag to compare

@AnthonyArena AnthonyArena released this 01 Sep 16:04
f3b4048

Added

  • Order.attached_risk legs expose typed AttachedRiskLegState runtime status, armed/terminal timestamps, trigger ID, and child-order ID, including state-only wrappers.

Fixed

  • Trailing-stop basis-point fields validate within 1–10,000 before protobuf assignment.
  • Batch create rejects duplicate non-empty client order IDs.
  • Attached-risk decode preserves stop-loss and trailing-stop legs together.
  • Buffered stale orderbook resets no longer rewind newer snapshots.
  • Ladder trigger ranges require resolved minimum price ticks to be strictly less than maximum.

PyPI: https://pypi.org/project/polyester-sdk/0.1.0a47/

v0.1.0a46

Choose a tag to compare

@AnthonyArena AnthonyArena released this 31 Aug 18:08
e92bd34

Added

  • LedgerTransfer.source / destination (TransferSide) including Zipper chain_id on external-address sides.
  • trades.list(after_match_id=...) durable fill replay cursor.
  • Address-book get_view(minimum_view_revision=...) plus view_revision.

Changed

  • Order.orig_qty is the current accepted total after a successful modify.
  • Trigger modify omits activation_price / max_slippage_* to preserve values and sends explicit zero to clear. max_slippage_bps is 1–10000 (modify still accepts 0 to clear).

Removed

  • Unused handwritten Connect header and body helpers. Generated clients own unary requests, including application/proto for binary.

Breaking

  • Connect payloads are symbol_id-only except GetSpotConfig. Trigger modify / resume require symbol or symbol_id. Policy models drop perp rules.

PyPI: https://pypi.org/project/polyester-sdk/0.1.0a46/