From c2e4b0703bdb6e16b6a83a66a626d557bb96e75b Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:43:12 +0400 Subject: [PATCH 1/6] Migrate blocking client --- examples/cases/advanced/market_maker.py | 2 +- .../createorder/create_market_order_with_blocking_client.py | 2 +- examples/utils.py | 2 +- .../{test_trading_client.py => test_rest_api_client.py} | 0 tests/{perpetual => tools}/test_orderbook_price_impact.py | 2 +- x10/clients/blocking/__init__.py | 3 +++ .../blocking/blocking_trading_client.py} | 4 ++++ x10/perpetual/simple_client/__init__.py | 0 x10/{perpetual => tools}/__init__.py | 0 x10/{perpetual => tools}/orderbook.py | 0 10 files changed, 11 insertions(+), 4 deletions(-) rename tests/clients/{test_trading_client.py => test_rest_api_client.py} (100%) rename tests/{perpetual => tools}/test_orderbook_price_impact.py (99%) create mode 100644 x10/clients/blocking/__init__.py rename x10/{perpetual/simple_client/simple_trading_client.py => clients/blocking/blocking_trading_client.py} (99%) delete mode 100644 x10/perpetual/simple_client/__init__.py rename x10/{perpetual => tools}/__init__.py (100%) rename x10/{perpetual => tools}/orderbook.py (100%) diff --git a/examples/cases/advanced/market_maker.py b/examples/cases/advanced/market_maker.py index c6d7e65..536414d 100644 --- a/examples/cases/advanced/market_maker.py +++ b/examples/cases/advanced/market_maker.py @@ -7,7 +7,7 @@ from examples.utils import BTC_USD_MARKET, create_rest_client from x10.models.order import OrderSide -from x10.perpetual.orderbook import OrderBook, OrderBookEntry +from x10.tools.orderbook import OrderBook, OrderBookEntry LOGGER = logging.getLogger() MARKET_NAME = BTC_USD_MARKET diff --git a/examples/cases/createorder/create_market_order_with_blocking_client.py b/examples/cases/createorder/create_market_order_with_blocking_client.py index 3fe9223..590cff7 100644 --- a/examples/cases/createorder/create_market_order_with_blocking_client.py +++ b/examples/cases/createorder/create_market_order_with_blocking_client.py @@ -5,7 +5,7 @@ from x10.config import TESTNET_CONFIG from x10.errors import ValidationError from x10.models.order import OrderSide, OrderType, TimeInForce -from x10.perpetual.orderbook import OrderBook +from x10.tools.orderbook import OrderBook from x10.utils.order import get_price_with_slippage LOGGER = logging.getLogger() diff --git a/examples/utils.py b/examples/utils.py index 977b0c3..57b460f 100644 --- a/examples/utils.py +++ b/examples/utils.py @@ -10,12 +10,12 @@ import yaml from dotenv import load_dotenv +from x10.clients.blocking import BlockingTradingClient from x10.clients.rest import RestApiClient from x10.clients.stream import StreamClient from x10.config import TESTNET_CONFIG, Config from x10.core.stark_account import StarkPerpetualAccount from x10.models.market import TradingConfigModel -from x10.perpetual.simple_client.simple_trading_client import BlockingTradingClient from x10.utils.string import is_hex_string BTC_USD_MARKET = "BTC-USD" diff --git a/tests/clients/test_trading_client.py b/tests/clients/test_rest_api_client.py similarity index 100% rename from tests/clients/test_trading_client.py rename to tests/clients/test_rest_api_client.py diff --git a/tests/perpetual/test_orderbook_price_impact.py b/tests/tools/test_orderbook_price_impact.py similarity index 99% rename from tests/perpetual/test_orderbook_price_impact.py rename to tests/tools/test_orderbook_price_impact.py index 504f282..d6cdda1 100644 --- a/tests/perpetual/test_orderbook_price_impact.py +++ b/tests/tools/test_orderbook_price_impact.py @@ -6,7 +6,7 @@ from x10.config import TESTNET_CONFIG from x10.models.orderbook import OrderbookQuantityModel, OrderbookUpdateModel -from x10.perpetual.orderbook import OrderBook +from x10.tools.orderbook import OrderBook async def populate_dummy_data(market_name: str, orderbook: OrderBook): diff --git a/x10/clients/blocking/__init__.py b/x10/clients/blocking/__init__.py new file mode 100644 index 0000000..b38f339 --- /dev/null +++ b/x10/clients/blocking/__init__.py @@ -0,0 +1,3 @@ +from x10.clients.blocking.blocking_trading_client import ( # noqa: F401 + BlockingTradingClient, +) diff --git a/x10/perpetual/simple_client/simple_trading_client.py b/x10/clients/blocking/blocking_trading_client.py similarity index 99% rename from x10/perpetual/simple_client/simple_trading_client.py rename to x10/clients/blocking/blocking_trading_client.py index 19be7b1..43d80dd 100644 --- a/x10/perpetual/simple_client/simple_trading_client.py +++ b/x10/clients/blocking/blocking_trading_client.py @@ -72,6 +72,10 @@ class CancelWaiter: class BlockingTradingClient: + """ + Blocking Trading Client. Waits for order fills and updates. + """ + def __init__(self, config: Config, account: StarkPerpetualAccount): if not asyncio.get_event_loop().is_running(): raise SdkError( diff --git a/x10/perpetual/simple_client/__init__.py b/x10/perpetual/simple_client/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/x10/perpetual/__init__.py b/x10/tools/__init__.py similarity index 100% rename from x10/perpetual/__init__.py rename to x10/tools/__init__.py diff --git a/x10/perpetual/orderbook.py b/x10/tools/orderbook.py similarity index 100% rename from x10/perpetual/orderbook.py rename to x10/tools/orderbook.py From 742684782b6045fd59533d81464dc3a35769af4a Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:47:43 +0400 Subject: [PATCH 2/6] Migrate blocking client --- x10/clients/blocking/blocking_trading_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x10/clients/blocking/blocking_trading_client.py b/x10/clients/blocking/blocking_trading_client.py index 43d80dd..fbd49cc 100644 --- a/x10/clients/blocking/blocking_trading_client.py +++ b/x10/clients/blocking/blocking_trading_client.py @@ -73,7 +73,8 @@ class CancelWaiter: class BlockingTradingClient: """ - Blocking Trading Client. Waits for order fills and updates. + A client for placing orders and receiving updates in a blocking manner. + Waits for the confirmation from the WS stream after placing or canceling an order. """ def __init__(self, config: Config, account: StarkPerpetualAccount): From fffc3ccfd43bff24ce51080c0879b6bf1a133334 Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:49:34 +0400 Subject: [PATCH 3/6] Migrate blocking client --- MIGRATION.md | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MIGRATION.md b/MIGRATION.md index 4b296b4..5ff0e07 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,6 +1,6 @@ # Migration Guide -## 1.4.x -> 1.5.0 (REST / Onboarding / Stream clients) +## 1.4.x -> 2.0.0 (new project structure) - `x10.perpetual.trading_client.PerpetualTradingClient` has been replaced with `x10.clients.rest.RestApiClient` (client has the same interface but new name reflects its purpose better). diff --git a/pyproject.toml b/pyproject.toml index 6f956e1..1a97b10 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "x10-python-trading-starknet" -version = "1.5.0" +version = "2.0.0" description = "Python client for X10 API" authors = ["X10 "] repository = "https://github.com/x10xchange/python_sdk" From 9cd2a5f45fd0dbf49ac248ef13d43eb224e1d139 Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:51:21 +0400 Subject: [PATCH 4/6] Migrate blocking client --- MIGRATION.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MIGRATION.md b/MIGRATION.md index 5ff0e07..50d997b 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -12,6 +12,8 @@ - `UserClient` replaced by `OnboardingClient`, which accepts an account address and a sign-message callback instead of a raw L1 private key. - `onboard_subaccount` error handling has changed. Previously, it silently recovered an existing sub-account (HTTP 409) by fetching it from `get_accounts()`. Now it raises `ValidationError` on conflict. Handle duplicates explicitly if you relied on the automatic recovery. - Signing-related modules have been extracted from `x10.perpetual` into a dedicated `x10.signing` package. The old paths no longer exist — there are no backwards-compatible re-exports. +- `x10.perpetual.orderbook` has moved to `x10.tools.orderbook`. +- `x10.perpetual.simple_client.simple_trading_client.BlockingTradingClient` has moved to `x10.clients.blocking.BlockingTradingClient`. The class is also re-exported from `x10.clients.blocking` directly for convenience (aligned with other clients). - Fixes https://github.com/x10xchange/python_sdk/issues/99. --- From 06e3ac734edac22f78a0ac02a89d8e434919ce76 Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:53:26 +0400 Subject: [PATCH 5/6] Migrate blocking client --- examples/cases/advanced/market_maker.py | 2 +- x10/tools/orderbook.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/cases/advanced/market_maker.py b/examples/cases/advanced/market_maker.py index 536414d..9e76f5d 100644 --- a/examples/cases/advanced/market_maker.py +++ b/examples/cases/advanced/market_maker.py @@ -145,7 +145,7 @@ async def on_best_bid_change(best_bid: OrderBookEntry | None): orderbook = await OrderBook.create( rest_client.config, - market.name, + market_name=market.name, start=True, best_ask_change_callback=on_best_ask_change, best_bid_change_callback=on_best_bid_change, diff --git a/x10/tools/orderbook.py b/x10/tools/orderbook.py index dc87a2c..6aea624 100644 --- a/x10/tools/orderbook.py +++ b/x10/tools/orderbook.py @@ -31,6 +31,7 @@ class OrderBook: @staticmethod async def create( config: Config, + *, market_name: str, best_ask_change_callback: Callable[[OrderBookEntry | None], Awaitable[None]] | None = None, best_bid_change_callback: Callable[[OrderBookEntry | None], Awaitable[None]] | None = None, From 259db8d869b4886bd8c130abf5a9b2c9752f3ca6 Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 26 May 2026 12:59:05 +0400 Subject: [PATCH 6/6] Migrate blocking client --- poetry.lock | 40 +--------------------------------------- pyproject.toml | 8 ++++---- 2 files changed, 5 insertions(+), 43 deletions(-) diff --git a/poetry.lock b/poetry.lock index 390bc4e..8afb0b3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -700,9 +700,6 @@ groups = ["main"] files = [ {file = "ckzg-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49ee4c830de89764bfd9e8188446f3020f14d32bd4486fcbc5a4a5afad775ac0"}, {file = "ckzg-2.1.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3b4f0c6c2f1a629d4d64e900c65633595c63d208001d588c61b6c8bc1b189dec"}, - {file = "ckzg-2.1.5-cp310-cp310-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:10c8bc524267a40fe7c4fabd4c23f131ea18fcabd6016cdc4ddcb95cc757faf5"}, - {file = "ckzg-2.1.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ea589e60db460ee9ebb678f20e74cc9289e912ccad66693b3263459933aaffc"}, - {file = "ckzg-2.1.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97769b53f7d8c46e794d5c8aa609a4c00ec1fb050e69b6833b45dbb23a7b6501"}, {file = "ckzg-2.1.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a45aaea4a42babea48bb27e387fb209f2aaaaaa16abea25a4a92a056b616f9af"}, {file = "ckzg-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:060562273057911c39a1491e9b76055c095c10cfff1704ed70011e38b53f83d8"}, {file = "ckzg-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f12a90277b17e1cb5c326c5c261dad2ebb14a7136e754593e3a0a92c94799fc1"}, @@ -712,9 +709,6 @@ files = [ {file = "ckzg-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:2b7ef12896e2afff613f058e3bc8e3478ff626ae8a6f2d3200950304a536935f"}, {file = "ckzg-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cead4ba760a49eaa4d7a50a0483aad9727d6103fc00c408aef15f2cd8f8dec7b"}, {file = "ckzg-2.1.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3156983ba598fa05f0136325125e75197e4cf24ded255aaa6ace068cede92932"}, - {file = "ckzg-2.1.5-cp311-cp311-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:cac601a9690f133dd9d8e85f7a96578496427d42cdea771e0e07785b1cbbe9dc"}, - {file = "ckzg-2.1.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:05860f1477880376106a6934becdcb3a2c6330fc2386fed0d7e8f3b0ce5df81c"}, - {file = "ckzg-2.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92b18b0ec177b9e2b4238936a8bffcfdaee7626a58f8d0c7c2ac554b8a05c9b6"}, {file = "ckzg-2.1.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d05e2c9466b2a4214dc19da35ea4cae636e033f3434768b982d37317a0f9c520"}, {file = "ckzg-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c754bbc253cfce8814d633f135be4891e6f83a50125f418fee01323ba306f59a"}, {file = "ckzg-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2b766d4aed52c8c717322f2af935da0b916bf59fbba771adb822499b45e491"}, @@ -724,9 +718,6 @@ files = [ {file = "ckzg-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:ce2047071353ee099d44aa6575974648663204eb9b42354bfa5ac6f9b8fb63e9"}, {file = "ckzg-2.1.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:edead535bd9afef27b8650bba09659debd4f52638aee5ec1ab7d2c9d7e86953c"}, {file = "ckzg-2.1.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc78622855de3d47767cdeecfdf58fd58911f43a0fa783524e414b7e75149020"}, - {file = "ckzg-2.1.5-cp312-cp312-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:e5639064b0dd147b73f2ce2c2506844b0c625b232396ac852dc52eced04bd529"}, - {file = "ckzg-2.1.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0864813902b96cde171e65334ce8d13c5ff5b6855f2e71a2272ae268fa07e8"}, - {file = "ckzg-2.1.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e6f13f673a24c01e681eb66aed8f8e4ce191f009dd2149f3e1b9ad0dd59b4cd"}, {file = "ckzg-2.1.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094add5f197a3d278924ec1480d258f3b8b0e9f8851ae409eec83a21a738bffe"}, {file = "ckzg-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b4b05f798784400e8c4dedaf1a1d57bbbc54de790855855add876fff3c9f629"}, {file = "ckzg-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64aef50a1cf599041b9af018bc885a3fad6a20bbaf443fc45f0457cb47914610"}, @@ -736,9 +727,6 @@ files = [ {file = "ckzg-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:827be2aeffc8a10bfb39b8dad45def82164dfcde735818c4053f5064474ae1b4"}, {file = "ckzg-2.1.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d955f4e18bb9a9b3a6f55114052edd41650c29edd5f81e417c8f01abace8207"}, {file = "ckzg-2.1.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c0961a685761196264aa49b1cf06e8a2b2add4d57987853d7dd7a7240dc5de7"}, - {file = "ckzg-2.1.5-cp313-cp313-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:026ef3bba0637032c21f6bdb8e92aefeae7c67003bf631a4ee80c515a36a9dbd"}, - {file = "ckzg-2.1.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf031139a86e4ff00a717f9539331ef148ae9013b58848f2a7ac14596d812915"}, - {file = "ckzg-2.1.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f51339d58541ae450c78a509b32822eec643595d8b96949fb1963fba802dc78b"}, {file = "ckzg-2.1.5-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:badb1c7dc6b932bed2c3f7695e1ce3e4bcc9601706136957408ac2bde5dd0892"}, {file = "ckzg-2.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58d92816b9babaee87bd9f23be10c07d5d07c709be184aa7ea08ddb2bcf2541c"}, {file = "ckzg-2.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cf39f9abe8b3f1a71188fb601a8589672ee40eb0671fc36d8cdf4e78f00f43f"}, @@ -746,24 +734,6 @@ files = [ {file = "ckzg-2.1.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c39a1c7b32ac345cc44046076fd069ad6b7e6f7bef230ef9be414c712c4453b8"}, {file = "ckzg-2.1.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4564765b0cc65929eca057241b9c030afac1dbae015f129cb60ca6abd6ff620"}, {file = "ckzg-2.1.5-cp313-cp313-win_amd64.whl", hash = "sha256:55013b36514b8176197655b929bc53f020aa51a144331720dead2efc3793ed85"}, - {file = "ckzg-2.1.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a0cab7deaed093898a92d3644d4ca8621b63cb49296833e2d8b3edac456656d5"}, - {file = "ckzg-2.1.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:caedc9eba3d28584be9b6051585f20745f6abfec0d0657cce3dd45edb7f28586"}, - {file = "ckzg-2.1.5-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:2f67e545d41ba960189b1011d078953311259674620c485e619c933494b88fd9"}, - {file = "ckzg-2.1.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d6f65ff296033c259d0829093d2c55bb45651e001e0269b8b88d072fdc86ecc6"}, - {file = "ckzg-2.1.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d66d34ff33be94c8a1f0da86483cd5bfdc15842998f3654ed91b8fdbffa2a81"}, - {file = "ckzg-2.1.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:25cf954bae3e2b2db6fa5e811d9800f89199d3eb4fa906c96a1c03434d4893c9"}, - {file = "ckzg-2.1.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:34d7128735e0bcfcac876bff47d0f85e674f1e24f99014e326ec266abed7a82c"}, - {file = "ckzg-2.1.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1dec3efae8679f7b8e26263b8bb0d3061ef4c9c6fe395e55b71f8f0df90ca8a0"}, - {file = "ckzg-2.1.5-cp314-cp314-win_amd64.whl", hash = "sha256:ce37c0ee0effe55d4ceed1735a2d85a3556a86238f3c89b7b7d1ca4ce4e92358"}, - {file = "ckzg-2.1.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:db804d27f4b08e3aea440cdc6558af4ceb8256b18ea2b83681d80cc654a4085b"}, - {file = "ckzg-2.1.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d472e3beeb95a110275b4d27e51d1c2b26ab99ddb91ac1c5587d710080c39c5e"}, - {file = "ckzg-2.1.5-cp314-cp314t-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:4b44a018124a79138fab8fde25221083574c181c324519be51eab09b1e43ae27"}, - {file = "ckzg-2.1.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6a91d7b444300cf8ecae4f55983726630530cdde15cab92023026230a30d094e"}, - {file = "ckzg-2.1.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8674c64efbf2a12edf6d776061847bbe182997737e7690a69af932ce61a9c2a"}, - {file = "ckzg-2.1.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4290aa17c6402c98f16017fd6ee0bff8aeb5c97be5c3cee7c72aea1b7d176f3a"}, - {file = "ckzg-2.1.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a0f82b8958ea97df12e29094f0a672cbe7532399724ea61b2399545991ed6017"}, - {file = "ckzg-2.1.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:22300bf0d717a083c388de5cfafec08443c9938b3abde2e89f9d5d1fffde1c51"}, - {file = "ckzg-2.1.5-cp314-cp314t-win_amd64.whl", hash = "sha256:aa8228206c3e3729fc117ca38e27588c079b0928a5ab628ee4d9fccaa2b8467d"}, {file = "ckzg-2.1.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:44d585f756ab223e34ac80ae04be7969cb364ee250a91f9b2b1dae37e1f3020a"}, {file = "ckzg-2.1.5-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecade6a3aee63dffc8e8d4adba838460b40f9b29d46ffd9f4d4502261fbcddff"}, {file = "ckzg-2.1.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8548de14e6e53271b246c7dc0bf843030b7f2144edb9ea73c68f46174a2bacd6"}, @@ -782,9 +752,6 @@ files = [ {file = "ckzg-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:d2fed86e47399b06b564c8d3715a3ccec5d3a0a63326227a34e15515b8c514db"}, {file = "ckzg-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b1b52d359013b551b85fff538d2ef12763abd87efbc544d6f2808b9dd6bf0a4b"}, {file = "ckzg-2.1.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cfe1cacea729c06196dcecec9c38f9b59bb7eadce51145e7ee27de10854dd59"}, - {file = "ckzg-2.1.5-cp38-cp38-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:86233ccbb0bcaf353990ce2a8e24f1aa37782272e64ca9b55dd45895829e4980"}, - {file = "ckzg-2.1.5-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3449126ee416b438c22cd7b7620e8f030c9ba7e030a80ebbd5924f04bc95905"}, - {file = "ckzg-2.1.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a687c0609de11d4eba5a982036fd77d21d35841effb468a41004c68ad13a7438"}, {file = "ckzg-2.1.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d22cef6551dee8d05151cc5184c37b190101b2027c0851301393561c559c669"}, {file = "ckzg-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2867e4a49f19248644206e82f5b8795e22096722dcd1e21acdad133e87632d5c"}, {file = "ckzg-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e7fd0c4b4d2af5661e3d54648c0447d33f17cbafa5dd1b0576899864b5b7da"}, @@ -794,9 +761,6 @@ files = [ {file = "ckzg-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:15e0f7342a451569fa427c6ad3cb992975462c52c3ecdc2bd7c3ed35847bbb8b"}, {file = "ckzg-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3773ccdb3501ff3779988aa97e5b15629d58ac02281f186030f66d2fc2b4b7ec"}, {file = "ckzg-2.1.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c9b798c6eb4db9cf82272e5a5c62be86f0d435206c6c49cc078cbb67ebd51bd"}, - {file = "ckzg-2.1.5-cp39-cp39-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:13c0630363a65182e99d064f7eb173195dcbdddc4048fd5b45cd0a3cd0c740f9"}, - {file = "ckzg-2.1.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:165efe1fac474ae58a26b742f910c0c90c01fc356aac8b680db2e02e44005adf"}, - {file = "ckzg-2.1.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fa231a1965be1a9c6fa50528132b71f1bc486335564baf6ab6d98aebedfb03d7"}, {file = "ckzg-2.1.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ea32c21f71b786ea04b62cbe982b600da5e6f180b1d256fc9e397074041a6d"}, {file = "ckzg-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10455cc15e769a749c19fd3031dd0149eb92c2f9b4a054117cb20327242fd920"}, {file = "ckzg-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b21c38740aa5fcdc0cacfe9eda82cbf7bdffc743fa85344495bfecc18619d7d6"}, @@ -3212,8 +3176,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.14-cp39-cp39-win32.whl", hash = "sha256:6d5472f63a31b042aadf5ed28dd3ef0523da49ac17f0463e10fda9c4a2773352"}, {file = "ruamel.yaml.clib-0.2.14-cp39-cp39-win_amd64.whl", hash = "sha256:8dd3c2cc49caa7a8d64b67146462aed6723a0495e44bf0aa0a2e94beaa8432f6"}, {file = "ruamel.yaml.clib-0.2.14.tar.gz", hash = "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e"}, - {file = "ruamel_yaml_clib-0.2.14-cp314-cp314-win32.whl", hash = "sha256:9b4104bf43ca0cd4e6f738cb86326a3b2f6eef00f417bd1e7efb7bdffe74c539"}, - {file = "ruamel_yaml_clib-0.2.14-cp314-cp314-win_amd64.whl", hash = "sha256:13997d7d354a9890ea1ec5937a219817464e5cc344805b37671562a401ca3008"}, ] [[package]] @@ -3812,4 +3774,4 @@ propcache = ">=0.2.1" [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "51375b7d8828035c806376700c40866e63323c1a123b21eff9c130e1922abdb1" +content-hash = "b24e7f67829148487f5cfb1029d40d2ebf3d2508c344230cf164c48fe3c6fc59" diff --git a/pyproject.toml b/pyproject.toml index 1a97b10..9652dd8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,9 +29,9 @@ pydantic = ">=2.9.0" python = "^3.10" pyyaml = ">=6.0.1" sortedcontainers = ">=2.4.0" -strenum = "^0.4.15" -tenacity = "^9.1.2" -websockets = ">=12.0,<14.0" +strenum = ">=0.4.15" +tenacity = ">=9.1.2" +websockets = ">=12.0" [tool.poetry.group.dev.dependencies] black = "==23.12.0" @@ -52,7 +52,7 @@ python-dotenv = "==1.0.1" safety = "==3.5.1" tox = "==4.11.4" types-pyyaml = "==6.0.12.12" -typing-extensions = ">=4.9.0" +typing-extensions = "==4.15.0" [tool.mypy]