unicex 0.17.10__py3-none-any.whl → 0.17.11__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.
unicex/_base/websocket.py CHANGED
@@ -113,7 +113,7 @@ class Websocket:
113
113
  self._logger.debug(f"Establishing connection with {self._url}")
114
114
  async for conn in websockets.connect(uri=self._url, **self._generate_ws_kwargs()):
115
115
  try:
116
- self._logger.debug(f"Websocket connection was established to {self._url}")
116
+ self._logger.info(f"Websocket connection was established to {self._url}")
117
117
  await self._after_connect(conn)
118
118
 
119
119
  # Цикл получения сообщений
@@ -151,7 +151,8 @@ class Websocket:
151
151
  # Проверяем размер очереди сообщений и выбрасываем ошибку, если он превышает максимальный размер
152
152
  self._check_queue_size()
153
153
  except QueueOverflowError:
154
- self._logger.error("Message queue is overflow")
154
+ cleaned_messages = self._clear_queue()
155
+ self._logger.error(f"Message queue is overflow, cleaned {cleaned_messages} messages")
155
156
  except orjson.JSONDecodeError as e:
156
157
  if message in ["ping", "pong"]:
157
158
  self._logger.debug(f"Received ping message: {message}")
@@ -166,6 +167,18 @@ class Websocket:
166
167
  if qsize >= self.MAX_QUEUE_SIZE:
167
168
  raise QueueOverflowError(f"Message queue is overflow: {qsize}")
168
169
 
170
+ def _clear_queue(self) -> int:
171
+ """Очищает очередь сообщений."""
172
+ cleared = 0
173
+ while True:
174
+ try:
175
+ self._queue.get_nowait()
176
+ self._queue.task_done()
177
+ cleared += 1
178
+ except asyncio.QueueEmpty:
179
+ break
180
+ return cleared
181
+
169
182
  async def _after_connect(self, conn: ClientConnection) -> None:
170
183
  """Вызывается после установки соединения."""
171
184
  # Подписываемся на топики
@@ -261,7 +274,9 @@ class Websocket:
261
274
 
262
275
  while self._running:
263
276
  if time.monotonic() - self._last_message_time > self._no_message_reconnect_timeout:
264
- self._logger.error("Websocket is not responding, restarting...")
277
+ self._logger.error(
278
+ f"No messages in {self._no_message_reconnect_timeout} seconds, restarting..."
279
+ )
265
280
  await self.restart()
266
281
  return
267
282
  await asyncio.sleep(1)
@@ -1,335 +1,335 @@
1
- from __future__ import annotations
2
- from typing import Any, Literal, Optional, Self, Union
3
-
4
-
5
- # from proto import PublicDealsV3Api_pb2 as PublicDealsV3Api__pb2
6
- # from proto import PublicIncreaseDepthsV3Api_pb2 as PublicIncreaseDepthsV3Api__pb2
7
- # from proto import PublicLimitDepthsV3Api_pb2 as PublicLimitDepthsV3Api__pb2
8
- # from proto import PrivateOrdersV3Api_pb2 as PrivateOrdersV3Api__pb2
9
- # from proto import PublicBookTickerV3Api_pb2 as PublicBookTickerV3Api__pb2
10
- # from proto import PrivateDealsV3Api_pb2 as PrivateDealsV3Api__pb2
11
- # from proto import PrivateAccountV3Api_pb2 as PrivateAccountV3Api__pb2
12
- # from proto import PublicSpotKlineV3Api_pb2 as PublicSpotKlineV3Api__pb2
13
- # from proto import PublicMiniTickerV3Api_pb2 as PublicMiniTickerV3Api__pb2
14
- # from proto import PublicMiniTickersV3Api_pb2 as PublicMiniTickersV3Api__pb2
15
- # from proto import PublicBookTickerBatchV3Api_pb2 as PublicBookTickerBatchV3Api__pb2
16
- # from proto import PublicIncreaseDepthsBatchV3Api_pb2 as PublicIncreaseDepthsBatchV3Api__pb2
17
- # from proto import PublicAggreDepthsV3Api_pb2 as PublicAggreDepthsV3Api__pb2
18
- # from proto import PublicAggreDealsV3Api_pb2 as PublicAggreDealsV3Api__pb2
19
- # from proto import PublicAggreBookTickerV3Api_pb2 as PublicAggreBookTickerV3Api__pb2
20
- # from proto import PushDataV3ApiWrapper_pb2 as PushDataV3ApiWrapper__pb2
21
-
22
- from . import PublicDealsV3Api_pb2 as PublicDealsV3Api__pb2
23
- from . import PublicIncreaseDepthsV3Api_pb2 as PublicIncreaseDepthsV3Api__pb2
24
- from . import PublicLimitDepthsV3Api_pb2 as PublicLimitDepthsV3Api__pb2
25
- from . import PrivateOrdersV3Api_pb2 as PrivateOrdersV3Api__pb2
26
- from . import PublicBookTickerV3Api_pb2 as PublicBookTickerV3Api__pb2
27
- from . import PrivateDealsV3Api_pb2 as PrivateDealsV3Api__pb2
28
- from . import PrivateAccountV3Api_pb2 as PrivateAccountV3Api__pb2
29
- from . import PublicSpotKlineV3Api_pb2 as PublicSpotKlineV3Api__pb2
30
- from . import PublicMiniTickerV3Api_pb2 as PublicMiniTickerV3Api__pb2
31
- from . import PublicMiniTickersV3Api_pb2 as PublicMiniTickersV3Api__pb2
32
- from . import PublicBookTickerBatchV3Api_pb2 as PublicBookTickerBatchV3Api__pb2
33
- from . import PublicIncreaseDepthsBatchV3Api_pb2 as PublicIncreaseDepthsBatchV3Api__pb2
34
- from . import PublicAggreDepthsV3Api_pb2 as PublicAggreDepthsV3Api__pb2
35
- from . import PublicAggreDealsV3Api_pb2 as PublicAggreDealsV3Api__pb2
36
- from . import PublicAggreBookTickerV3Api_pb2 as PublicAggreBookTickerV3Api__pb2
37
- from . import PushDataV3ApiWrapper_pb2 as PushDataV3ApiWrapper__pb2
38
-
39
-
40
- class ProtoTyping:
41
- class protoc:
42
- def __call__(self, *args: Any, **kwds: Any) -> Self: ...
43
- def ParseFromString(self, data: bytes) -> Self: ...
44
-
45
- # PublicDealsV3Api__pb2
46
-
47
- class PublicDealsV3ApiItem:
48
- price: str
49
- quantity: str
50
- tradeType: int
51
- time: int
52
-
53
- class PublicDealsV3Api(protoc):
54
- deals: list[ProtoTyping.PublicDealsV3ApiItem]
55
- eventType: str
56
-
57
- # PublicIncreaseDepthsV3Api__pb2
58
-
59
- class PublicIncreaseDepthV3ApiItem(protoc):
60
- price: str
61
- quantity: str
62
-
63
- class PublicIncreaseDepthsV3Api(protoc):
64
- asks: list[ProtoTyping.PublicIncreaseDepthV3ApiItem]
65
- bids: list[ProtoTyping.PublicIncreaseDepthV3ApiItem]
66
- eventType: str
67
- version: str
68
-
69
- # PublicLimitDepthsV3Api__pb2
70
-
71
- class PublicLimitDepthV3ApiItem(protoc):
72
- price: str
73
- quantity: str
74
-
75
- class PublicLimitDepthsV3Api(protoc):
76
- asks: list[ProtoTyping.PublicLimitDepthV3ApiItem]
77
- bids: list[ProtoTyping.PublicLimitDepthV3ApiItem]
78
- eventType: str
79
- version: str
80
-
81
- # PrivateOrdersV3Api__pb2
82
-
83
- class PrivateOrdersV3Api(protoc):
84
- id: str
85
- clientId: str
86
- price: str
87
- quantity: str
88
- amount: str
89
- avgPrice: str
90
- orderType: int
91
- tradeType: int
92
- isMaker: bool
93
- remainAmount: str
94
- remainQuantity: str
95
- lastDealQuantity: Optional[str]
96
- cumulativeQuantity: str
97
- cumulativeAmount: str
98
- status: int
99
- createTime: int
100
- market: Optional[str]
101
- triggerType: Optional[int]
102
- triggerPrice: Optional[str]
103
- state: Optional[int]
104
- ocoId: Optional[str]
105
- routeFactor: Optional[str]
106
- symbolId: Optional[str]
107
- marketId: Optional[str]
108
- marketCurrencyId: Optional[str]
109
- currencyId: Optional[str]
110
-
111
- # PublicBookTickerV3Api__pb2
112
-
113
- class PublicBookTickerV3Api(protoc):
114
- bidPrice: str
115
- bidQuantity: str
116
- askPrice: str
117
- askQuantity: str
118
-
119
- # PrivateDealsV3Api__pb2
120
-
121
- class PrivateDealsV3Api(protoc):
122
- price: str
123
- quantity: str
124
- amount: str
125
- tradeType: int
126
- isMaker: bool
127
- isSelfTrade: bool
128
- tradeId: str
129
- clientOrderId: str
130
- orderId: str
131
- feeAmount: str
132
- feeCurrency: str
133
- time: int
134
-
135
- # PrivateAccountV3Api__pb2
136
-
137
- class PrivateAccountV3Api(protoc):
138
- vcoinName: str
139
- coinId: str
140
- balanceAmount: str
141
- balanceAmountChange: str
142
- frozenAmount: str
143
- frozenAmountChange: str
144
- type: str
145
- time: int
146
-
147
- # PublicSpotKlineV3Api__pb2
148
-
149
- class PublicSpotKlineV3Api(protoc):
150
- interval: Literal[
151
- "Min1",
152
- "Min5",
153
- "Min15",
154
- "Min30",
155
- "Min60",
156
- "Hour4",
157
- "Hour8",
158
- "Day1",
159
- "Week1",
160
- "Month1",
161
- ]
162
- windowStart: int
163
- openingPrice: str
164
- closingPrice: str
165
- highestPrice: str
166
- lowestPrice: str
167
- volume: str
168
- amount: str
169
- windowEnd: int
170
-
171
- # PublicMiniTickerV3Api__pb2
172
-
173
- class PublicMiniTickerV3Api(protoc):
174
- symbol: str
175
- price: str
176
- rate: str
177
- zonedRate: str
178
- high: str
179
- low: str
180
- volume: str
181
- quantity: str
182
- lastCloseRate: str
183
- lastCloseZonedRate: str
184
- lastCloseHigh: str
185
- lastCloseLow: str
186
-
187
- # PublicMiniTickersV3Api__pb2
188
-
189
- class PublicMiniTickersV3Api(protoc):
190
- items: list[ProtoTyping.PublicMiniTickerV3Api]
191
-
192
- # PublicBookTickerBatchV3Api__pb2
193
-
194
- class PublicBookTickerBatchV3Api(protoc):
195
- items: list[ProtoTyping.PublicBookTickerV3Api]
196
-
197
- # PublicIncreaseDepthsBatchV3Api__pb2
198
-
199
- class PublicIncreaseDepthsBatchV3Api(protoc):
200
- items: list[ProtoTyping.PublicIncreaseDepthsV3Api]
201
- eventType: str
202
-
203
- # PublicAggreDepthsV3Api__pb2
204
-
205
- class PublicAggreDepthV3ApiItem(protoc):
206
- price: str
207
- quantity: str
208
-
209
- class PublicAggreDepthsV3Api(protoc):
210
- asks: list[ProtoTyping.PublicAggreDepthV3ApiItem]
211
- bids: list[ProtoTyping.PublicAggreDepthV3ApiItem]
212
- eventType: str
213
- fromVersion: str
214
- toVersion: str
215
-
216
- # PublicAggreDealsV3Api__pb2
217
-
218
- class PublicAggreDealsV3ApiItem(protoc):
219
- price: str
220
- quantity: str
221
- tradeType: int
222
- time: int
223
-
224
- class PublicAggreDealsV3Api(protoc):
225
- deals: list[ProtoTyping.PublicAggreDealsV3ApiItem]
226
- eventType: str
227
-
228
- # PublicAggreBookTickerV3Api__pb2
229
-
230
- class PublicAggreBookTickerV3Api(protoc):
231
- bidPrice: str
232
- bidQuantity: str
233
- askPrice: str
234
- askQuantity: str
235
-
236
- class PushDataV3ApiWrapper(protoc):
237
- channel: str
238
-
239
- publicDeals: ProtoTyping.PublicDealsV3Api
240
- publicIncreaseDepths: ProtoTyping.PublicIncreaseDepthsV3Api
241
- publicLimitDepths: ProtoTyping.PublicLimitDepthsV3Api
242
- privateOrders: ProtoTyping.PrivateOrdersV3Api
243
- publicBookTicker: ProtoTyping.PublicBookTickerV3Api
244
- privateDeals: ProtoTyping.PrivateDealsV3Api
245
- privateAccount: ProtoTyping.PrivateAccountV3Api
246
- publicSpotKline: ProtoTyping.PublicSpotKlineV3Api
247
- publicMiniTicker: ProtoTyping.PublicMiniTickerV3Api
248
- publicMiniTickers: ProtoTyping.PublicMiniTickersV3Api
249
- publicBookTickerBatch: ProtoTyping.PublicBookTickerBatchV3Api
250
- publicIncreaseDepthsBatch: ProtoTyping.PublicIncreaseDepthsBatchV3Api
251
- publicAggreDepths: ProtoTyping.PublicAggreDepthsV3Api
252
- publicAggreDeals: ProtoTyping.PublicAggreDealsV3Api
253
- publicAggreBookTicker: ProtoTyping.PublicAggreBookTickerV3Api
254
-
255
- symbol: Optional[str]
256
- symbolId: Optional[str]
257
- createTime: Optional[int]
258
- sendTime: Optional[int]
259
-
260
-
261
- PublicSpotKlineV3Api: ProtoTyping.PublicSpotKlineV3Api = (
262
- PublicSpotKlineV3Api__pb2.PublicSpotKlineV3Api
263
- )
264
- PublicDealsV3Api: ProtoTyping.PublicDealsV3Api = PublicDealsV3Api__pb2.PublicDealsV3Api
265
- PublicIncreaseDepthV3ApiItem: ProtoTyping.PublicIncreaseDepthV3ApiItem = (
266
- PublicIncreaseDepthsV3Api__pb2.PublicIncreaseDepthV3ApiItem
267
- )
268
- PublicIncreaseDepthsV3Api: ProtoTyping.PublicIncreaseDepthsV3Api = (
269
- PublicIncreaseDepthsV3Api__pb2.PublicIncreaseDepthsV3Api
270
- )
271
- PublicLimitDepthV3ApiItem: ProtoTyping.PublicLimitDepthV3ApiItem = (
272
- PublicLimitDepthsV3Api__pb2.PublicLimitDepthV3ApiItem
273
- )
274
- PublicLimitDepthsV3Api: ProtoTyping.PublicLimitDepthsV3Api = (
275
- PublicLimitDepthsV3Api__pb2.PublicLimitDepthsV3Api
276
- )
277
- PrivateOrdersV3Api: ProtoTyping.PrivateOrdersV3Api = (
278
- PrivateOrdersV3Api__pb2.PrivateOrdersV3Api
279
- )
280
- PublicBookTickerV3Api: ProtoTyping.PublicBookTickerV3Api = (
281
- PublicBookTickerV3Api__pb2.PublicBookTickerV3Api
282
- )
283
- PrivateDealsV3Api: ProtoTyping.PrivateDealsV3Api = (
284
- PrivateDealsV3Api__pb2.PrivateDealsV3Api
285
- )
286
- PrivateAccountV3Api: ProtoTyping.PrivateAccountV3Api = (
287
- PrivateAccountV3Api__pb2.PrivateAccountV3Api
288
- )
289
- PublicMiniTickerV3Api: ProtoTyping.PublicMiniTickerV3Api = (
290
- PublicMiniTickerV3Api__pb2.PublicMiniTickerV3Api
291
- )
292
- PublicMiniTickersV3Api: ProtoTyping.PublicMiniTickersV3Api = (
293
- PublicMiniTickersV3Api__pb2.PublicMiniTickersV3Api
294
- )
295
- PublicBookTickerBatchV3Api: ProtoTyping.PublicBookTickerBatchV3Api = (
296
- PublicBookTickerBatchV3Api__pb2.PublicBookTickerBatchV3Api
297
- )
298
- PublicIncreaseDepthsBatchV3Api: ProtoTyping.PublicIncreaseDepthsBatchV3Api = (
299
- PublicIncreaseDepthsBatchV3Api__pb2.PublicIncreaseDepthsBatchV3Api
300
- )
301
- PublicAggreDepthsV3Api: ProtoTyping.PublicAggreDepthsV3Api = (
302
- PublicAggreDepthsV3Api__pb2.PublicAggreDepthsV3Api
303
- )
304
- PublicAggreDealsV3Api: ProtoTyping.PublicAggreDealsV3Api = (
305
- PublicAggreDealsV3Api__pb2.PublicAggreDealsV3Api
306
- )
307
- PublicAggreBookTickerV3Api: ProtoTyping.PublicAggreBookTickerV3Api = (
308
- PublicAggreBookTickerV3Api__pb2.PublicAggreBookTickerV3Api
309
- )
310
- PushDataV3ApiWrapper: ProtoTyping.PushDataV3ApiWrapper = (
311
- PushDataV3ApiWrapper__pb2.PushDataV3ApiWrapper
312
- )
313
-
314
-
315
- __all__ = [
316
- "PublicSpotKlineV3Api",
317
- "PublicDealsV3Api",
318
- "PublicIncreaseDepthV3ApiItem",
319
- "PublicIncreaseDepthsV3Api",
320
- "PublicLimitDepthV3ApiItem",
321
- "PublicLimitDepthsV3Api",
322
- "PrivateOrdersV3Api",
323
- "PublicBookTickerV3Api",
324
- "PrivateDealsV3Api",
325
- "PrivateAccountV3Api",
326
- "PublicMiniTickerV3Api",
327
- "PublicMiniTickersV3Api",
328
- "PublicBookTickerBatchV3Api",
329
- "PublicIncreaseDepthsBatchV3Api",
330
- "PublicAggreDepthsV3Api",
331
- "PublicAggreDealsV3Api",
332
- "PublicAggreBookTickerV3Api",
333
- "PushDataV3ApiWrapper",
334
- "ProtoTyping",
335
- ]
1
+ from __future__ import annotations
2
+ from typing import Any, Literal, Optional, Self, Union
3
+
4
+
5
+ # from proto import PublicDealsV3Api_pb2 as PublicDealsV3Api__pb2
6
+ # from proto import PublicIncreaseDepthsV3Api_pb2 as PublicIncreaseDepthsV3Api__pb2
7
+ # from proto import PublicLimitDepthsV3Api_pb2 as PublicLimitDepthsV3Api__pb2
8
+ # from proto import PrivateOrdersV3Api_pb2 as PrivateOrdersV3Api__pb2
9
+ # from proto import PublicBookTickerV3Api_pb2 as PublicBookTickerV3Api__pb2
10
+ # from proto import PrivateDealsV3Api_pb2 as PrivateDealsV3Api__pb2
11
+ # from proto import PrivateAccountV3Api_pb2 as PrivateAccountV3Api__pb2
12
+ # from proto import PublicSpotKlineV3Api_pb2 as PublicSpotKlineV3Api__pb2
13
+ # from proto import PublicMiniTickerV3Api_pb2 as PublicMiniTickerV3Api__pb2
14
+ # from proto import PublicMiniTickersV3Api_pb2 as PublicMiniTickersV3Api__pb2
15
+ # from proto import PublicBookTickerBatchV3Api_pb2 as PublicBookTickerBatchV3Api__pb2
16
+ # from proto import PublicIncreaseDepthsBatchV3Api_pb2 as PublicIncreaseDepthsBatchV3Api__pb2
17
+ # from proto import PublicAggreDepthsV3Api_pb2 as PublicAggreDepthsV3Api__pb2
18
+ # from proto import PublicAggreDealsV3Api_pb2 as PublicAggreDealsV3Api__pb2
19
+ # from proto import PublicAggreBookTickerV3Api_pb2 as PublicAggreBookTickerV3Api__pb2
20
+ # from proto import PushDataV3ApiWrapper_pb2 as PushDataV3ApiWrapper__pb2
21
+
22
+ from . import PublicDealsV3Api_pb2 as PublicDealsV3Api__pb2
23
+ from . import PublicIncreaseDepthsV3Api_pb2 as PublicIncreaseDepthsV3Api__pb2
24
+ from . import PublicLimitDepthsV3Api_pb2 as PublicLimitDepthsV3Api__pb2
25
+ from . import PrivateOrdersV3Api_pb2 as PrivateOrdersV3Api__pb2
26
+ from . import PublicBookTickerV3Api_pb2 as PublicBookTickerV3Api__pb2
27
+ from . import PrivateDealsV3Api_pb2 as PrivateDealsV3Api__pb2
28
+ from . import PrivateAccountV3Api_pb2 as PrivateAccountV3Api__pb2
29
+ from . import PublicSpotKlineV3Api_pb2 as PublicSpotKlineV3Api__pb2
30
+ from . import PublicMiniTickerV3Api_pb2 as PublicMiniTickerV3Api__pb2
31
+ from . import PublicMiniTickersV3Api_pb2 as PublicMiniTickersV3Api__pb2
32
+ from . import PublicBookTickerBatchV3Api_pb2 as PublicBookTickerBatchV3Api__pb2
33
+ from . import PublicIncreaseDepthsBatchV3Api_pb2 as PublicIncreaseDepthsBatchV3Api__pb2
34
+ from . import PublicAggreDepthsV3Api_pb2 as PublicAggreDepthsV3Api__pb2
35
+ from . import PublicAggreDealsV3Api_pb2 as PublicAggreDealsV3Api__pb2
36
+ from . import PublicAggreBookTickerV3Api_pb2 as PublicAggreBookTickerV3Api__pb2
37
+ from . import PushDataV3ApiWrapper_pb2 as PushDataV3ApiWrapper__pb2
38
+
39
+
40
+ class ProtoTyping:
41
+ class protoc:
42
+ def __call__(self, *args: Any, **kwds: Any) -> Self: ...
43
+ def ParseFromString(self, data: bytes) -> Self: ...
44
+
45
+ # PublicDealsV3Api__pb2
46
+
47
+ class PublicDealsV3ApiItem:
48
+ price: str
49
+ quantity: str
50
+ tradeType: int
51
+ time: int
52
+
53
+ class PublicDealsV3Api(protoc):
54
+ deals: list[ProtoTyping.PublicDealsV3ApiItem]
55
+ eventType: str
56
+
57
+ # PublicIncreaseDepthsV3Api__pb2
58
+
59
+ class PublicIncreaseDepthV3ApiItem(protoc):
60
+ price: str
61
+ quantity: str
62
+
63
+ class PublicIncreaseDepthsV3Api(protoc):
64
+ asks: list[ProtoTyping.PublicIncreaseDepthV3ApiItem]
65
+ bids: list[ProtoTyping.PublicIncreaseDepthV3ApiItem]
66
+ eventType: str
67
+ version: str
68
+
69
+ # PublicLimitDepthsV3Api__pb2
70
+
71
+ class PublicLimitDepthV3ApiItem(protoc):
72
+ price: str
73
+ quantity: str
74
+
75
+ class PublicLimitDepthsV3Api(protoc):
76
+ asks: list[ProtoTyping.PublicLimitDepthV3ApiItem]
77
+ bids: list[ProtoTyping.PublicLimitDepthV3ApiItem]
78
+ eventType: str
79
+ version: str
80
+
81
+ # PrivateOrdersV3Api__pb2
82
+
83
+ class PrivateOrdersV3Api(protoc):
84
+ id: str
85
+ clientId: str
86
+ price: str
87
+ quantity: str
88
+ amount: str
89
+ avgPrice: str
90
+ orderType: int
91
+ tradeType: int
92
+ isMaker: bool
93
+ remainAmount: str
94
+ remainQuantity: str
95
+ lastDealQuantity: Optional[str]
96
+ cumulativeQuantity: str
97
+ cumulativeAmount: str
98
+ status: int
99
+ createTime: int
100
+ market: Optional[str]
101
+ triggerType: Optional[int]
102
+ triggerPrice: Optional[str]
103
+ state: Optional[int]
104
+ ocoId: Optional[str]
105
+ routeFactor: Optional[str]
106
+ symbolId: Optional[str]
107
+ marketId: Optional[str]
108
+ marketCurrencyId: Optional[str]
109
+ currencyId: Optional[str]
110
+
111
+ # PublicBookTickerV3Api__pb2
112
+
113
+ class PublicBookTickerV3Api(protoc):
114
+ bidPrice: str
115
+ bidQuantity: str
116
+ askPrice: str
117
+ askQuantity: str
118
+
119
+ # PrivateDealsV3Api__pb2
120
+
121
+ class PrivateDealsV3Api(protoc):
122
+ price: str
123
+ quantity: str
124
+ amount: str
125
+ tradeType: int
126
+ isMaker: bool
127
+ isSelfTrade: bool
128
+ tradeId: str
129
+ clientOrderId: str
130
+ orderId: str
131
+ feeAmount: str
132
+ feeCurrency: str
133
+ time: int
134
+
135
+ # PrivateAccountV3Api__pb2
136
+
137
+ class PrivateAccountV3Api(protoc):
138
+ vcoinName: str
139
+ coinId: str
140
+ balanceAmount: str
141
+ balanceAmountChange: str
142
+ frozenAmount: str
143
+ frozenAmountChange: str
144
+ type: str
145
+ time: int
146
+
147
+ # PublicSpotKlineV3Api__pb2
148
+
149
+ class PublicSpotKlineV3Api(protoc):
150
+ interval: Literal[
151
+ "Min1",
152
+ "Min5",
153
+ "Min15",
154
+ "Min30",
155
+ "Min60",
156
+ "Hour4",
157
+ "Hour8",
158
+ "Day1",
159
+ "Week1",
160
+ "Month1",
161
+ ]
162
+ windowStart: int
163
+ openingPrice: str
164
+ closingPrice: str
165
+ highestPrice: str
166
+ lowestPrice: str
167
+ volume: str
168
+ amount: str
169
+ windowEnd: int
170
+
171
+ # PublicMiniTickerV3Api__pb2
172
+
173
+ class PublicMiniTickerV3Api(protoc):
174
+ symbol: str
175
+ price: str
176
+ rate: str
177
+ zonedRate: str
178
+ high: str
179
+ low: str
180
+ volume: str
181
+ quantity: str
182
+ lastCloseRate: str
183
+ lastCloseZonedRate: str
184
+ lastCloseHigh: str
185
+ lastCloseLow: str
186
+
187
+ # PublicMiniTickersV3Api__pb2
188
+
189
+ class PublicMiniTickersV3Api(protoc):
190
+ items: list[ProtoTyping.PublicMiniTickerV3Api]
191
+
192
+ # PublicBookTickerBatchV3Api__pb2
193
+
194
+ class PublicBookTickerBatchV3Api(protoc):
195
+ items: list[ProtoTyping.PublicBookTickerV3Api]
196
+
197
+ # PublicIncreaseDepthsBatchV3Api__pb2
198
+
199
+ class PublicIncreaseDepthsBatchV3Api(protoc):
200
+ items: list[ProtoTyping.PublicIncreaseDepthsV3Api]
201
+ eventType: str
202
+
203
+ # PublicAggreDepthsV3Api__pb2
204
+
205
+ class PublicAggreDepthV3ApiItem(protoc):
206
+ price: str
207
+ quantity: str
208
+
209
+ class PublicAggreDepthsV3Api(protoc):
210
+ asks: list[ProtoTyping.PublicAggreDepthV3ApiItem]
211
+ bids: list[ProtoTyping.PublicAggreDepthV3ApiItem]
212
+ eventType: str
213
+ fromVersion: str
214
+ toVersion: str
215
+
216
+ # PublicAggreDealsV3Api__pb2
217
+
218
+ class PublicAggreDealsV3ApiItem(protoc):
219
+ price: str
220
+ quantity: str
221
+ tradeType: int
222
+ time: int
223
+
224
+ class PublicAggreDealsV3Api(protoc):
225
+ deals: list[ProtoTyping.PublicAggreDealsV3ApiItem]
226
+ eventType: str
227
+
228
+ # PublicAggreBookTickerV3Api__pb2
229
+
230
+ class PublicAggreBookTickerV3Api(protoc):
231
+ bidPrice: str
232
+ bidQuantity: str
233
+ askPrice: str
234
+ askQuantity: str
235
+
236
+ class PushDataV3ApiWrapper(protoc):
237
+ channel: str
238
+
239
+ publicDeals: ProtoTyping.PublicDealsV3Api
240
+ publicIncreaseDepths: ProtoTyping.PublicIncreaseDepthsV3Api
241
+ publicLimitDepths: ProtoTyping.PublicLimitDepthsV3Api
242
+ privateOrders: ProtoTyping.PrivateOrdersV3Api
243
+ publicBookTicker: ProtoTyping.PublicBookTickerV3Api
244
+ privateDeals: ProtoTyping.PrivateDealsV3Api
245
+ privateAccount: ProtoTyping.PrivateAccountV3Api
246
+ publicSpotKline: ProtoTyping.PublicSpotKlineV3Api
247
+ publicMiniTicker: ProtoTyping.PublicMiniTickerV3Api
248
+ publicMiniTickers: ProtoTyping.PublicMiniTickersV3Api
249
+ publicBookTickerBatch: ProtoTyping.PublicBookTickerBatchV3Api
250
+ publicIncreaseDepthsBatch: ProtoTyping.PublicIncreaseDepthsBatchV3Api
251
+ publicAggreDepths: ProtoTyping.PublicAggreDepthsV3Api
252
+ publicAggreDeals: ProtoTyping.PublicAggreDealsV3Api
253
+ publicAggreBookTicker: ProtoTyping.PublicAggreBookTickerV3Api
254
+
255
+ symbol: Optional[str]
256
+ symbolId: Optional[str]
257
+ createTime: Optional[int]
258
+ sendTime: Optional[int]
259
+
260
+
261
+ PublicSpotKlineV3Api: ProtoTyping.PublicSpotKlineV3Api = (
262
+ PublicSpotKlineV3Api__pb2.PublicSpotKlineV3Api
263
+ )
264
+ PublicDealsV3Api: ProtoTyping.PublicDealsV3Api = PublicDealsV3Api__pb2.PublicDealsV3Api
265
+ PublicIncreaseDepthV3ApiItem: ProtoTyping.PublicIncreaseDepthV3ApiItem = (
266
+ PublicIncreaseDepthsV3Api__pb2.PublicIncreaseDepthV3ApiItem
267
+ )
268
+ PublicIncreaseDepthsV3Api: ProtoTyping.PublicIncreaseDepthsV3Api = (
269
+ PublicIncreaseDepthsV3Api__pb2.PublicIncreaseDepthsV3Api
270
+ )
271
+ PublicLimitDepthV3ApiItem: ProtoTyping.PublicLimitDepthV3ApiItem = (
272
+ PublicLimitDepthsV3Api__pb2.PublicLimitDepthV3ApiItem
273
+ )
274
+ PublicLimitDepthsV3Api: ProtoTyping.PublicLimitDepthsV3Api = (
275
+ PublicLimitDepthsV3Api__pb2.PublicLimitDepthsV3Api
276
+ )
277
+ PrivateOrdersV3Api: ProtoTyping.PrivateOrdersV3Api = (
278
+ PrivateOrdersV3Api__pb2.PrivateOrdersV3Api
279
+ )
280
+ PublicBookTickerV3Api: ProtoTyping.PublicBookTickerV3Api = (
281
+ PublicBookTickerV3Api__pb2.PublicBookTickerV3Api
282
+ )
283
+ PrivateDealsV3Api: ProtoTyping.PrivateDealsV3Api = (
284
+ PrivateDealsV3Api__pb2.PrivateDealsV3Api
285
+ )
286
+ PrivateAccountV3Api: ProtoTyping.PrivateAccountV3Api = (
287
+ PrivateAccountV3Api__pb2.PrivateAccountV3Api
288
+ )
289
+ PublicMiniTickerV3Api: ProtoTyping.PublicMiniTickerV3Api = (
290
+ PublicMiniTickerV3Api__pb2.PublicMiniTickerV3Api
291
+ )
292
+ PublicMiniTickersV3Api: ProtoTyping.PublicMiniTickersV3Api = (
293
+ PublicMiniTickersV3Api__pb2.PublicMiniTickersV3Api
294
+ )
295
+ PublicBookTickerBatchV3Api: ProtoTyping.PublicBookTickerBatchV3Api = (
296
+ PublicBookTickerBatchV3Api__pb2.PublicBookTickerBatchV3Api
297
+ )
298
+ PublicIncreaseDepthsBatchV3Api: ProtoTyping.PublicIncreaseDepthsBatchV3Api = (
299
+ PublicIncreaseDepthsBatchV3Api__pb2.PublicIncreaseDepthsBatchV3Api
300
+ )
301
+ PublicAggreDepthsV3Api: ProtoTyping.PublicAggreDepthsV3Api = (
302
+ PublicAggreDepthsV3Api__pb2.PublicAggreDepthsV3Api
303
+ )
304
+ PublicAggreDealsV3Api: ProtoTyping.PublicAggreDealsV3Api = (
305
+ PublicAggreDealsV3Api__pb2.PublicAggreDealsV3Api
306
+ )
307
+ PublicAggreBookTickerV3Api: ProtoTyping.PublicAggreBookTickerV3Api = (
308
+ PublicAggreBookTickerV3Api__pb2.PublicAggreBookTickerV3Api
309
+ )
310
+ PushDataV3ApiWrapper: ProtoTyping.PushDataV3ApiWrapper = (
311
+ PushDataV3ApiWrapper__pb2.PushDataV3ApiWrapper
312
+ )
313
+
314
+
315
+ __all__ = [
316
+ "PublicSpotKlineV3Api",
317
+ "PublicDealsV3Api",
318
+ "PublicIncreaseDepthV3ApiItem",
319
+ "PublicIncreaseDepthsV3Api",
320
+ "PublicLimitDepthV3ApiItem",
321
+ "PublicLimitDepthsV3Api",
322
+ "PrivateOrdersV3Api",
323
+ "PublicBookTickerV3Api",
324
+ "PrivateDealsV3Api",
325
+ "PrivateAccountV3Api",
326
+ "PublicMiniTickerV3Api",
327
+ "PublicMiniTickersV3Api",
328
+ "PublicBookTickerBatchV3Api",
329
+ "PublicIncreaseDepthsBatchV3Api",
330
+ "PublicAggreDepthsV3Api",
331
+ "PublicAggreDealsV3Api",
332
+ "PublicAggreBookTickerV3Api",
333
+ "PushDataV3ApiWrapper",
334
+ "ProtoTyping",
335
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.17.10
3
+ Version: 0.17.11
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
@@ -11,7 +11,7 @@ unicex/_abc/uni_client.py,sha256=-kFVA2W2Nm50ZbTzxzrRqbh_To3vSrPNE9IxdfxCCVI,149
11
11
  unicex/_abc/uni_websocket_manager.py,sha256=SmaPWYuHTcFyhPPIHFKqotUfPm9AO5p9afJydQPzuaM,10742
12
12
  unicex/_base/__init__.py,sha256=0TmevATGnRB3qow6tkCR8dQKNZCWKeib6YQjNJ4a1b0,236
13
13
  unicex/_base/client.py,sha256=GuWfNNO6jVLAN-YUNKLmd-W5AfRelJIgKUe7vIQ12Qk,9318
14
- unicex/_base/websocket.py,sha256=BQ44R2aFa65oJfqCrmQAfQNWZjVJEFVzdfmqBgYPGF0,13423
14
+ unicex/_base/websocket.py,sha256=9al-crf0sc5v3yhYq-YQxP3JroF-B-818dny95MhgfA,13933
15
15
  unicex/aster/__init__.py,sha256=guSsZ9AF9IR7nOLjMnhYf_zCWm0cfqw8FcOi-GEOo6U,926
16
16
  unicex/aster/adapter.py,sha256=CwT1vhWRGBZ5JE5B28wV4LaUbDy70IUaVljxhKPg8Is,7189
17
17
  unicex/aster/client.py,sha256=ZnnE4apFP4GjSvd7bPoReWIpLsgYbKTA3oGDW2nfMjk,31123
@@ -101,7 +101,7 @@ unicex/mexc/_spot_ws_proto/PublicMiniTickerV3Api_pb2.py,sha256=-58JJVYtPJxwMdmHW
101
101
  unicex/mexc/_spot_ws_proto/PublicMiniTickersV3Api_pb2.py,sha256=jSN0IgXGJ2AS3Otv2GAdu0a0zUVW1gvZ4_PRCg9BlWY,1657
102
102
  unicex/mexc/_spot_ws_proto/PublicSpotKlineV3Api_pb2.py,sha256=0FOMsSO4jzMQ6446yZRF69KHCj9Kd4N0J8UPN9CYwnI,1913
103
103
  unicex/mexc/_spot_ws_proto/PushDataV3ApiWrapper_pb2.py,sha256=_V0StMrDE7-bsdRPQdTC2XLGDGqJ5U_scx8ZjcyCGgk,3735
104
- unicex/mexc/_spot_ws_proto/__init__.py,sha256=GaTX5Uys7uhFYp--_YpVOmBO5YuEyHdv1i0i0qwUvYg,11096
104
+ unicex/mexc/_spot_ws_proto/__init__.py,sha256=L8Jft1713_M8CLR9drgSjLBdY_46sPT3O9zDFlxYvgc,11431
105
105
  unicex/okx/__init__.py,sha256=Ljbw3AP0YrPF5bIPJi_3JP3B_czR9xurYHI24rgWk9M,920
106
106
  unicex/okx/adapter.py,sha256=4MpQh12nzlzB0HbOCHItYoWNFXbFCe9DntVC0smm-PY,7609
107
107
  unicex/okx/client.py,sha256=N7ma49ToMGjYiTvuoV52-NaG-vLx3s087KF67dQCRBs,91079
@@ -110,8 +110,8 @@ unicex/okx/uni_client.py,sha256=fQVR4kz_2UvWD6V-MRlVVyAfaNIh2Q3PxpIgJrXY5hc,8702
110
110
  unicex/okx/uni_websocket_manager.py,sha256=7sDkZgmAyiWj3_3SfEHcPlFSVBhxSOuhOXTZlb0h3eY,11934
111
111
  unicex/okx/user_websocket.py,sha256=8c9kpm-xVa729pW93OKUGLHaE9MY0uzEpjIgNIFRF80,126
112
112
  unicex/okx/websocket_manager.py,sha256=Rk1GM_zdX5wRa92KCizduHnAGi2shXB9oEZFQJUbeAc,26070
113
- unicex-0.17.10.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
114
- unicex-0.17.10.dist-info/METADATA,sha256=0JLlZTw_Q4IgzY9bF9rk4LPrbUuKM5-7R6K9N5AZ9d0,12091
115
- unicex-0.17.10.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
116
- unicex-0.17.10.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
117
- unicex-0.17.10.dist-info/RECORD,,
113
+ unicex-0.17.11.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
114
+ unicex-0.17.11.dist-info/METADATA,sha256=aymT-tV9p60cf_oGFiqw_ys0gsbFX9nwX15TZV8V88U,12091
115
+ unicex-0.17.11.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
116
+ unicex-0.17.11.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
117
+ unicex-0.17.11.dist-info/RECORD,,