unicex 0.14.5__tar.gz → 0.14.7__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.14.5/unicex.egg-info → unicex-0.14.7}/PKG-INFO +1 -1
- {unicex-0.14.5 → unicex-0.14.7}/pyproject.toml +1 -1
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/uni_websocket_manager.py +2 -2
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/adapter.py +32 -11
- {unicex-0.14.5 → unicex-0.14.7/unicex.egg-info}/PKG-INFO +1 -1
- {unicex-0.14.5 → unicex-0.14.7}/LICENSE +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/README.md +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/setup.cfg +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_abc/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_abc/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_abc/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_abc/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_base/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_base/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/_base/websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/binance/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bitget/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/bybit/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/enums.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/exceptions.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/extra.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/gate/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/hyperliquid/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/kucoin/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mapper.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PrivateAccountV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PrivateDealsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PrivateOrdersV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicAggreBookTickerV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicAggreDealsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicAggreDepthsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicBookTickerBatchV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicBookTickerV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicDealsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicFuture_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsBatchV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicLimitDepthsV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicMiniTickerV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicMiniTickersV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicSpotKlineV3Api_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PushDataV3ApiWrapper_pb2.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/__init__.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/adapter.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/exchange_info.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/uni_client.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/uni_websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/user_websocket.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/okx/websocket_manager.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/types.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex/utils.py +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex.egg-info/SOURCES.txt +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex.egg-info/dependency_links.txt +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/unicex.egg-info/requires.txt +0 -0
- {unicex-0.14.5 → unicex-0.14.7}/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.14.
|
|
7
|
+
version = "0.14.7"
|
|
8
8
|
|
|
9
9
|
description = "Unified Crypto Exchange API "
|
|
10
10
|
readme = "README.md"
|
|
@@ -211,7 +211,7 @@ class UniWebsocketManager(IUniWebsocketManager):
|
|
|
211
211
|
Возвращает:
|
|
212
212
|
`Websocket`: Экземпляр вебсокета.
|
|
213
213
|
"""
|
|
214
|
-
|
|
214
|
+
return self.trades(callback=callback, symbol=symbol, symbols=symbols) # type: ignore
|
|
215
215
|
|
|
216
216
|
@overload
|
|
217
217
|
def futures_trades(
|
|
@@ -292,4 +292,4 @@ class UniWebsocketManager(IUniWebsocketManager):
|
|
|
292
292
|
Возвращает:
|
|
293
293
|
`Websocket`: Экземпляр вебсокета.
|
|
294
294
|
"""
|
|
295
|
-
|
|
295
|
+
return self.futures_trades(callback=callback, symbol=symbol, symbols=symbols) # type: ignore
|
|
@@ -62,18 +62,39 @@ class Adapter:
|
|
|
62
62
|
Возвращает:
|
|
63
63
|
TickerDailyDict: Словарь, где ключ - тикер, а значение - статистика за последние 24 часа.
|
|
64
64
|
"""
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
|
|
66
|
+
def safe_float(value: object, default: float = 0.0) -> float:
|
|
67
|
+
try:
|
|
68
|
+
if value is None:
|
|
69
|
+
return default
|
|
70
|
+
return float(value) # type: ignore
|
|
71
|
+
except (TypeError, ValueError):
|
|
72
|
+
return default
|
|
73
|
+
|
|
74
|
+
result: dict[str, TickerDailyItem] = {}
|
|
75
|
+
|
|
76
|
+
for item in raw_data["data"]["list"]:
|
|
77
|
+
symbol = item.get("symbol")
|
|
78
|
+
if not symbol:
|
|
79
|
+
continue
|
|
80
|
+
|
|
81
|
+
last_price = safe_float(item.get("lastPrice"))
|
|
82
|
+
open_price = safe_float(item.get("open"))
|
|
83
|
+
base_volume = safe_float(item.get("baseVolume"))
|
|
84
|
+
quote_volume = safe_float(item.get("quoteVolume"))
|
|
85
|
+
|
|
86
|
+
if open_price > 0:
|
|
87
|
+
p = round((last_price / open_price - 1) * 100, 2)
|
|
88
|
+
else:
|
|
89
|
+
p = 0.0
|
|
90
|
+
|
|
91
|
+
result[symbol] = TickerDailyItem(
|
|
92
|
+
p=p,
|
|
93
|
+
v=base_volume,
|
|
94
|
+
q=quote_volume,
|
|
74
95
|
)
|
|
75
|
-
|
|
76
|
-
|
|
96
|
+
|
|
97
|
+
return result
|
|
77
98
|
|
|
78
99
|
@staticmethod
|
|
79
100
|
def last_price(raw_data: dict) -> dict[str, float]:
|
|
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
|
|
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.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicAggreBookTickerV3Api_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unicex-0.14.5 → unicex-0.14.7}/unicex/mexc/_spot_ws_proto/PublicBookTickerBatchV3Api_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unicex-0.14.5 → unicex-0.14.7}/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
|