unicex 0.13.3__tar.gz → 0.13.4__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.
Files changed (98) hide show
  1. {unicex-0.13.3/unicex.egg-info → unicex-0.13.4}/PKG-INFO +1 -1
  2. {unicex-0.13.3 → unicex-0.13.4}/pyproject.toml +1 -1
  3. {unicex-0.13.3 → unicex-0.13.4}/unicex/_base/websocket.py +22 -20
  4. {unicex-0.13.3 → unicex-0.13.4/unicex.egg-info}/PKG-INFO +1 -1
  5. {unicex-0.13.3 → unicex-0.13.4}/LICENSE +0 -0
  6. {unicex-0.13.3 → unicex-0.13.4}/README.md +0 -0
  7. {unicex-0.13.3 → unicex-0.13.4}/setup.cfg +0 -0
  8. {unicex-0.13.3 → unicex-0.13.4}/unicex/__init__.py +0 -0
  9. {unicex-0.13.3 → unicex-0.13.4}/unicex/_abc/__init__.py +0 -0
  10. {unicex-0.13.3 → unicex-0.13.4}/unicex/_abc/exchange_info.py +0 -0
  11. {unicex-0.13.3 → unicex-0.13.4}/unicex/_abc/uni_client.py +0 -0
  12. {unicex-0.13.3 → unicex-0.13.4}/unicex/_abc/uni_websocket_manager.py +0 -0
  13. {unicex-0.13.3 → unicex-0.13.4}/unicex/_base/__init__.py +0 -0
  14. {unicex-0.13.3 → unicex-0.13.4}/unicex/_base/client.py +0 -0
  15. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/__init__.py +0 -0
  16. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/adapter.py +0 -0
  17. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/client.py +0 -0
  18. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/exchange_info.py +0 -0
  19. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/uni_client.py +0 -0
  20. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/uni_websocket_manager.py +0 -0
  21. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/user_websocket.py +0 -0
  22. {unicex-0.13.3 → unicex-0.13.4}/unicex/binance/websocket_manager.py +0 -0
  23. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/__init__.py +0 -0
  24. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/adapter.py +0 -0
  25. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/client.py +0 -0
  26. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/exchange_info.py +0 -0
  27. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/uni_client.py +0 -0
  28. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/uni_websocket_manager.py +0 -0
  29. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/user_websocket.py +0 -0
  30. {unicex-0.13.3 → unicex-0.13.4}/unicex/bitget/websocket_manager.py +0 -0
  31. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/__init__.py +0 -0
  32. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/adapter.py +0 -0
  33. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/client.py +0 -0
  34. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/exchange_info.py +0 -0
  35. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/uni_client.py +0 -0
  36. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/uni_websocket_manager.py +0 -0
  37. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/user_websocket.py +0 -0
  38. {unicex-0.13.3 → unicex-0.13.4}/unicex/bybit/websocket_manager.py +0 -0
  39. {unicex-0.13.3 → unicex-0.13.4}/unicex/enums.py +0 -0
  40. {unicex-0.13.3 → unicex-0.13.4}/unicex/exceptions.py +0 -0
  41. {unicex-0.13.3 → unicex-0.13.4}/unicex/extra.py +0 -0
  42. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/__init__.py +0 -0
  43. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/adapter.py +0 -0
  44. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/client.py +0 -0
  45. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/exchange_info.py +0 -0
  46. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/uni_client.py +0 -0
  47. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/uni_websocket_manager.py +0 -0
  48. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/user_websocket.py +0 -0
  49. {unicex-0.13.3 → unicex-0.13.4}/unicex/gate/websocket_manager.py +0 -0
  50. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/__init__.py +0 -0
  51. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/adapter.py +0 -0
  52. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/client.py +0 -0
  53. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/exchange_info.py +0 -0
  54. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/uni_client.py +0 -0
  55. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/uni_websocket_manager.py +0 -0
  56. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/user_websocket.py +0 -0
  57. {unicex-0.13.3 → unicex-0.13.4}/unicex/hyperliquid/websocket_manager.py +0 -0
  58. {unicex-0.13.3 → unicex-0.13.4}/unicex/mapper.py +0 -0
  59. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/__init__.py +0 -0
  60. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PrivateAccountV3Api_pb2.py +0 -0
  61. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PrivateDealsV3Api_pb2.py +0 -0
  62. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PrivateOrdersV3Api_pb2.py +0 -0
  63. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicAggreBookTickerV3Api_pb2.py +0 -0
  64. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicAggreDealsV3Api_pb2.py +0 -0
  65. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicAggreDepthsV3Api_pb2.py +0 -0
  66. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicBookTickerBatchV3Api_pb2.py +0 -0
  67. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicBookTickerV3Api_pb2.py +0 -0
  68. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicDealsV3Api_pb2.py +0 -0
  69. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicFuture_pb2.py +0 -0
  70. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsBatchV3Api_pb2.py +0 -0
  71. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicIncreaseDepthsV3Api_pb2.py +0 -0
  72. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicLimitDepthsV3Api_pb2.py +0 -0
  73. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicMiniTickerV3Api_pb2.py +0 -0
  74. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicMiniTickersV3Api_pb2.py +0 -0
  75. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PublicSpotKlineV3Api_pb2.py +0 -0
  76. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/PushDataV3ApiWrapper_pb2.py +0 -0
  77. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/_spot_ws_proto/__init__.py +0 -0
  78. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/adapter.py +0 -0
  79. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/client.py +0 -0
  80. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/exchange_info.py +0 -0
  81. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/uni_client.py +0 -0
  82. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/uni_websocket_manager.py +0 -0
  83. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/user_websocket.py +0 -0
  84. {unicex-0.13.3 → unicex-0.13.4}/unicex/mexc/websocket_manager.py +0 -0
  85. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/__init__.py +0 -0
  86. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/adapter.py +0 -0
  87. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/client.py +0 -0
  88. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/exchange_info.py +0 -0
  89. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/uni_client.py +0 -0
  90. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/uni_websocket_manager.py +0 -0
  91. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/user_websocket.py +0 -0
  92. {unicex-0.13.3 → unicex-0.13.4}/unicex/okx/websocket_manager.py +0 -0
  93. {unicex-0.13.3 → unicex-0.13.4}/unicex/types.py +0 -0
  94. {unicex-0.13.3 → unicex-0.13.4}/unicex/utils.py +0 -0
  95. {unicex-0.13.3 → unicex-0.13.4}/unicex.egg-info/SOURCES.txt +0 -0
  96. {unicex-0.13.3 → unicex-0.13.4}/unicex.egg-info/dependency_links.txt +0 -0
  97. {unicex-0.13.3 → unicex-0.13.4}/unicex.egg-info/requires.txt +0 -0
  98. {unicex-0.13.3 → unicex-0.13.4}/unicex.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.13.3
3
+ Version: 0.13.4
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
@@ -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.3"
7
+ version = "0.13.4"
8
8
 
9
9
  description = "Unified Crypto Exchange API "
10
10
  readme = "README.md"
@@ -17,7 +17,7 @@ from unicex.types import LoggerLike
17
17
  class Websocket:
18
18
  """Базовый класс асинхронного вебсокета."""
19
19
 
20
- MAX_QUEUE_SIZE: int = 100
20
+ MAX_QUEUE_SIZE: int = 500
21
21
  """Максимальная длина очереди."""
22
22
 
23
23
  class _DecoderProtocol(Protocol):
@@ -111,25 +111,27 @@ class Websocket:
111
111
  async def _connect(self) -> None:
112
112
  """Подключается к вебсокету и настраивает соединение."""
113
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()
114
+ async for conn in websockets.connect(uri=self._url, **self._generate_ws_kwargs()):
115
+ try:
116
+ self._logger.info(f"Websocket connection was established to {self._url}")
117
+ await self._after_connect(conn)
118
+
119
+ # Цикл получения сообщений
120
+ while self._running:
121
+ message = await conn.recv()
122
+ await self._handle_message(message)
123
+
124
+ except websockets.exceptions.ConnectionClosed as e:
125
+ self._logger.error(f"Websocket connection was closed unexpectedly: {e}")
126
+ except Exception as e:
127
+ self._logger.error(f"Unexpected error in websosocket connection: {e}")
128
+ finally:
129
+ # Делаем реконнект только если вебсокет активен, иначе выходим из итератора
130
+ if self._running:
131
+ await asyncio.sleep(self._reconnect_timeout)
132
+ await self._after_disconnect()
133
+ else:
134
+ return # Выходим из итератора, если вебсокет уже выключен
133
135
 
134
136
  async def _handle_message(self, message: str | bytes) -> None:
135
137
  """Обрабатывает входящее сообщение вебсокета."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.13.3
3
+ Version: 0.13.4
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
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