unicex 0.13.1__tar.gz → 0.13.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.
- {unicex-0.13.1/unicex.egg-info → unicex-0.13.3}/PKG-INFO +1 -1
- {unicex-0.13.1 → unicex-0.13.3}/pyproject.toml +1 -1
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_base/websocket.py +20 -18
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/client.py +4 -2
- {unicex-0.13.1 → unicex-0.13.3/unicex.egg-info}/PKG-INFO +1 -1
- {unicex-0.13.1 → unicex-0.13.3}/LICENSE +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/README.md +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/setup.cfg +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_abc/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_abc/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_abc/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_abc/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_base/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/_base/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/binance/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bitget/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/bybit/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/enums.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/exceptions.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/extra.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/gate/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/hyperliquid/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mapper.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PrivateAccountV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PrivateDealsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PrivateOrdersV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicAggreBookTickerV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicAggreDealsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicAggreDepthsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicBookTickerBatchV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicBookTickerV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicDealsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicFuture_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsBatchV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicLimitDepthsV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicMiniTickerV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicMiniTickersV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicSpotKlineV3Api_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PushDataV3ApiWrapper_pb2.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/__init__.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/adapter.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/exchange_info.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/uni_client.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/uni_websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/user_websocket.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/okx/websocket_manager.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/types.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex/utils.py +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex.egg-info/SOURCES.txt +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex.egg-info/dependency_links.txt +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex.egg-info/requires.txt +0 -0
- {unicex-0.13.1 → unicex-0.13.3}/unicex.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ name = "unicex"
|
|
|
4
4
|
# • PATCH (x.y.Z) → увеличивается при багфиксе, который не ломает совместимость.
|
|
5
5
|
# • MINOR (x.Y.z) → увеличивается при добавлении новой функциональности, но без ломающих изменений (backward-compatible).
|
|
6
6
|
# • MAJOR (X.y.z) → увеличивается при изменениях, которые ломают обратную совместимость.
|
|
7
|
-
version = "0.13.
|
|
7
|
+
version = "0.13.3"
|
|
8
8
|
|
|
9
9
|
description = "Unified Crypto Exchange API "
|
|
10
10
|
readme = "README.md"
|
|
@@ -110,24 +110,26 @@ class Websocket:
|
|
|
110
110
|
|
|
111
111
|
async def _connect(self) -> None:
|
|
112
112
|
"""Подключается к вебсокету и настраивает соединение."""
|
|
113
|
-
self._logger.debug(f"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
113
|
+
self._logger.debug(f"Establishing connection with {self._url}")
|
|
114
|
+
while self._running:
|
|
115
|
+
async with websockets.connect(uri=self._url, **self._generate_ws_kwargs()) as conn:
|
|
116
|
+
try:
|
|
117
|
+
self._logger.info(f"Websocket connection was established to {self._url}")
|
|
118
|
+
await self._after_connect(conn)
|
|
119
|
+
|
|
120
|
+
# Цикл получения сообщений
|
|
121
|
+
while self._running:
|
|
122
|
+
message = await conn.recv()
|
|
123
|
+
await self._handle_message(message)
|
|
124
|
+
|
|
125
|
+
except websockets.exceptions.ConnectionClosed as e:
|
|
126
|
+
self._logger.error(f"Websocket connection was closed unexpectedly: {e}")
|
|
127
|
+
except Exception as e:
|
|
128
|
+
self._logger.error(f"Unexpected error in websosocket connection: {e}")
|
|
129
|
+
finally:
|
|
130
|
+
if self._running:
|
|
131
|
+
await asyncio.sleep(self._reconnect_timeout)
|
|
132
|
+
await self._after_disconnect()
|
|
131
133
|
|
|
132
134
|
async def _handle_message(self, message: str | bytes) -> None:
|
|
133
135
|
"""Обрабатывает входящее сообщение вебсокета."""
|
|
@@ -247,14 +247,16 @@ class Client(BaseClient):
|
|
|
247
247
|
"""
|
|
248
248
|
params = {"coin": coin}
|
|
249
249
|
|
|
250
|
-
return await self._make_request(
|
|
250
|
+
return await self._make_request(
|
|
251
|
+
"GET", "/api/v2/account/funding-assets", params=params, signed=True
|
|
252
|
+
)
|
|
251
253
|
|
|
252
254
|
async def all_account_balance(self) -> dict:
|
|
253
255
|
"""Получение балансов по всем типам аккаунтов.
|
|
254
256
|
|
|
255
257
|
https://www.bitget.com/api-doc/common/account/All-Account-Balance
|
|
256
258
|
"""
|
|
257
|
-
return await self._make_request("GET", "/api/v2/account/all-account-balance")
|
|
259
|
+
return await self._make_request("GET", "/api/v2/account/all-account-balance", signed=True)
|
|
258
260
|
|
|
259
261
|
# topic: market
|
|
260
262
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicAggreBookTickerV3Api_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicBookTickerBatchV3Api_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unicex-0.13.1 → unicex-0.13.3}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsBatchV3Api_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|