unicex 0.14.5__py3-none-any.whl → 0.14.7__py3-none-any.whl

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.
@@ -211,7 +211,7 @@ class UniWebsocketManager(IUniWebsocketManager):
211
211
  Возвращает:
212
212
  `Websocket`: Экземпляр вебсокета.
213
213
  """
214
- raise NotImplementedError()
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
- raise NotImplementedError()
295
+ return self.futures_trades(callback=callback, symbol=symbol, symbols=symbols) # type: ignore
unicex/kucoin/adapter.py CHANGED
@@ -62,18 +62,39 @@ class Adapter:
62
62
  Возвращает:
63
63
  TickerDailyDict: Словарь, где ключ - тикер, а значение - статистика за последние 24 часа.
64
64
  """
65
- return {
66
- item["symbol"]: TickerDailyItem(
67
- p=(
68
- round((float(item["lastPrice"]) / float(item["open"]) - 1) * 100, 2)
69
- if float(item["open"]) != 0
70
- else 0.0
71
- ),
72
- v=float(item["baseVolume"]),
73
- q=float(item["quoteVolume"]),
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
- for item in raw_data["data"]["list"]
76
- }
96
+
97
+ return result
77
98
 
78
99
  @staticmethod
79
100
  def last_price(raw_data: dict) -> dict[str, float]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.14.5
3
+ Version: 0.14.7
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
@@ -33,7 +33,7 @@ unicex/bybit/adapter.py,sha256=U6QP2eGefZqfXq7H4P1G9M23HieAjmylb5FnrHISn5s,8147
33
33
  unicex/bybit/client.py,sha256=XBIQ0ERQ1fZ53_8vPUHHQN0SqIx3ZbOTIoPQInit194,61789
34
34
  unicex/bybit/exchange_info.py,sha256=S5IrN5c-jW0QbuO4LGH5rluO6qo7ib-wL-8LJWNOZgI,2422
35
35
  unicex/bybit/uni_client.py,sha256=0wmIRRgofuJXWvZMB1gHwuIEfoWuPhLJXthmK1f9w40,8382
36
- unicex/bybit/uni_websocket_manager.py,sha256=9GPP3-yYBf_Ok97DEr5R8kx9aKLWYRFSPlrp2DqrbxA,10497
36
+ unicex/bybit/uni_websocket_manager.py,sha256=HhgFcGo2yQLT5knU3cFaKN85jJP0Z9EIwZ-zFlMQhDo,10621
37
37
  unicex/bybit/user_websocket.py,sha256=IGGEnwyWs5jOppgK_R7SisBDvsiF1_piTswBrdQOgDg,128
38
38
  unicex/bybit/websocket_manager.py,sha256=ePHvngoqoVPr6p-BayoEGhCuRK-cJ69CAPzF94qTalQ,15404
39
39
  unicex/gate/__init__.py,sha256=dsKvhQhDcw4_w0S4c9IjKkCoOg4DCUtSecEUOlfstug,929
@@ -53,7 +53,7 @@ unicex/hyperliquid/uni_websocket_manager.py,sha256=cGpIu3OMcCc07ATOt6-Fu10f4sc_8
53
53
  unicex/hyperliquid/user_websocket.py,sha256=BKD9ap2bx5DwpkkwwecfOTVedrZBR9eMAITgCBgg02w,134
54
54
  unicex/hyperliquid/websocket_manager.py,sha256=mlsQYykFHfQr-k6AZ3b6JfK7DnnhGtt4MRemZg4O9X4,17991
55
55
  unicex/kucoin/__init__.py,sha256=7RSMUDiqjmj8T1cvotlRu8LKH-Ok9UlajSrlXyq1mnc,929
56
- unicex/kucoin/adapter.py,sha256=A9oKBOMDIPjx12V2otWyQtuk1n5Ont4UYsRK0Uw3lEI,6623
56
+ unicex/kucoin/adapter.py,sha256=pswk93o6KuVt-j9-P9i5URqdhegQLR7h1Rh-KnZqXU0,7210
57
57
  unicex/kucoin/client.py,sha256=16WzbNZ9ZmepZfz7OHwbV5NkBnphIjjAvlAXZZXd71c,3789
58
58
  unicex/kucoin/exchange_info.py,sha256=DNraBMxgMiZVSZwDmgg7v7D11_cBnqMsO95u9ITFxFk,1933
59
59
  unicex/kucoin/uni_client.py,sha256=KBEAs-5B8mU4QmaCGKy87i2GimJklkvKaAH3_F-JEOg,9916
@@ -94,8 +94,8 @@ unicex/okx/uni_client.py,sha256=E_Wod0JSGt1K6k1mAIWnOv350pELbv-nic7g1KgOuos,8694
94
94
  unicex/okx/uni_websocket_manager.py,sha256=CR877hj4pKwJbYlmKJvETl1Zlezpd81ZdzHkAMCYIwA,9571
95
95
  unicex/okx/user_websocket.py,sha256=8c9kpm-xVa729pW93OKUGLHaE9MY0uzEpjIgNIFRF80,126
96
96
  unicex/okx/websocket_manager.py,sha256=wROXTUDqKzOE-wDnCtXso_MC4SzfPuPols5aPg_Z3y4,26027
97
- unicex-0.14.5.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
98
- unicex-0.14.5.dist-info/METADATA,sha256=S38UTEHg_kl9c_KkHiKpriQqHEzcveRmMI-LRwQruaQ,11858
99
- unicex-0.14.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- unicex-0.14.5.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
101
- unicex-0.14.5.dist-info/RECORD,,
97
+ unicex-0.14.7.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
98
+ unicex-0.14.7.dist-info/METADATA,sha256=30HlV0w9TFPBO42DKS-BqaE8ApYhn9D7J1hAg7kXoGE,11858
99
+ unicex-0.14.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ unicex-0.14.7.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
101
+ unicex-0.14.7.dist-info/RECORD,,