crypticorn 2.17.0rc4__py3-none-any.whl → 2.17.0rc5__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.
Files changed (137) hide show
  1. crypticorn/auth/client/api/admin_api.py +0 -2
  2. crypticorn/auth/client/api/auth_api.py +0 -4
  3. crypticorn/auth/client/api/service_api.py +0 -4
  4. crypticorn/auth/client/api/user_api.py +0 -4
  5. crypticorn/auth/client/api/wallet_api.py +0 -4
  6. crypticorn/auth/client/api_client.py +0 -5
  7. crypticorn/auth/client/models/add_wallet_request.py +1 -1
  8. crypticorn/auth/client/models/authorize_user_request.py +1 -1
  9. crypticorn/auth/client/models/create_api_key_request.py +1 -1
  10. crypticorn/auth/client/models/create_user_request.py +1 -1
  11. crypticorn/auth/client/models/get_api_keys200_response_inner.py +1 -1
  12. crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +1 -1
  13. crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +1 -1
  14. crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +1 -1
  15. crypticorn/auth/client/models/list_wallets200_response_data_inner.py +1 -1
  16. crypticorn/auth/client/models/logout_default_response.py +1 -1
  17. crypticorn/auth/client/models/oauth_callback200_response_user.py +1 -1
  18. crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +1 -1
  19. crypticorn/auth/client/models/rotate_tokens200_response.py +1 -1
  20. crypticorn/auth/client/models/token_info200_response.py +1 -1
  21. crypticorn/auth/client/models/update_user_request.py +1 -1
  22. crypticorn/auth/client/models/user_by_username200_response.py +1 -1
  23. crypticorn/auth/client/models/verify200_response.py +1 -1
  24. crypticorn/auth/client/models/verify_email200_response_auth.py +1 -1
  25. crypticorn/auth/client/models/verify_email200_response_auth_auth.py +1 -1
  26. crypticorn/auth/client/models/whoami200_response.py +1 -1
  27. crypticorn/cli/init.py +1 -1
  28. crypticorn/cli/templates/.env.docker.temp +3 -0
  29. crypticorn/cli/templates/.env.example.temp +4 -0
  30. crypticorn/client.py +0 -1
  31. crypticorn/common/auth.py +1 -4
  32. crypticorn/common/decorators.py +1 -2
  33. crypticorn/common/enums.py +0 -2
  34. crypticorn/common/metrics.py +1 -1
  35. crypticorn/common/middleware.py +0 -1
  36. crypticorn/common/pagination.py +116 -24
  37. crypticorn/common/utils.py +1 -2
  38. crypticorn/dex/__init__.py +6 -0
  39. crypticorn/dex/client/__init__.py +49 -0
  40. crypticorn/dex/client/api/__init__.py +6 -0
  41. crypticorn/dex/client/api/admin_api.py +3046 -0
  42. crypticorn/dex/client/api/signals_api.py +1821 -0
  43. crypticorn/dex/client/api/status_api.py +907 -0
  44. crypticorn/dex/client/api_client.py +753 -0
  45. crypticorn/dex/client/api_response.py +20 -0
  46. crypticorn/dex/client/configuration.py +620 -0
  47. crypticorn/dex/client/exceptions.py +220 -0
  48. crypticorn/dex/client/models/__init__.py +30 -0
  49. crypticorn/dex/client/models/api_error_identifier.py +121 -0
  50. crypticorn/dex/client/models/api_error_level.py +37 -0
  51. crypticorn/dex/client/models/api_error_type.py +37 -0
  52. crypticorn/dex/client/models/exception_detail.py +117 -0
  53. crypticorn/dex/client/models/log_level.py +38 -0
  54. crypticorn/dex/client/models/paginated_response_signal_with_token.py +134 -0
  55. crypticorn/dex/client/models/risk.py +86 -0
  56. crypticorn/dex/client/models/signal_overview_stats.py +156 -0
  57. crypticorn/dex/client/models/signal_volume.py +84 -0
  58. crypticorn/dex/client/models/signal_with_token.py +163 -0
  59. crypticorn/dex/client/models/token_data.py +127 -0
  60. crypticorn/dex/client/models/token_detail.py +116 -0
  61. crypticorn/dex/client/py.typed +0 -0
  62. crypticorn/dex/client/rest.py +217 -0
  63. crypticorn/dex/main.py +1 -0
  64. crypticorn/hive/client/api/admin_api.py +0 -3
  65. crypticorn/hive/client/api/data_api.py +0 -4
  66. crypticorn/hive/client/api/models_api.py +1 -4
  67. crypticorn/hive/client/api/status_api.py +0 -3
  68. crypticorn/hive/client/api_client.py +0 -5
  69. crypticorn/hive/client/models/coin_info.py +1 -1
  70. crypticorn/hive/client/models/exception_detail.py +1 -1
  71. crypticorn/hive/client/models/target_info.py +1 -1
  72. crypticorn/hive/utils.py +2 -2
  73. crypticorn/klines/client/api/admin_api.py +0 -3
  74. crypticorn/klines/client/api/change_in_timeframe_api.py +0 -4
  75. crypticorn/klines/client/api/funding_rates_api.py +0 -4
  76. crypticorn/klines/client/api/ohlcv_data_api.py +0 -4
  77. crypticorn/klines/client/api/status_api.py +0 -3
  78. crypticorn/klines/client/api/symbols_api.py +0 -4
  79. crypticorn/klines/client/api/udf_api.py +0 -2
  80. crypticorn/klines/client/api_client.py +0 -5
  81. crypticorn/klines/client/models/exception_detail.py +1 -1
  82. crypticorn/klines/client/models/ohlcv.py +1 -1
  83. crypticorn/klines/client/models/symbol_group.py +1 -1
  84. crypticorn/klines/client/models/udf_config.py +1 -1
  85. crypticorn/metrics/client/api/admin_api.py +0 -3
  86. crypticorn/metrics/client/api/exchanges_api.py +0 -4
  87. crypticorn/metrics/client/api/indicators_api.py +0 -4
  88. crypticorn/metrics/client/api/logs_api.py +0 -4
  89. crypticorn/metrics/client/api/marketcap_api.py +0 -4
  90. crypticorn/metrics/client/api/markets_api.py +0 -4
  91. crypticorn/metrics/client/api/quote_currencies_api.py +0 -4
  92. crypticorn/metrics/client/api/status_api.py +0 -3
  93. crypticorn/metrics/client/api/tokens_api.py +0 -2
  94. crypticorn/metrics/client/api_client.py +0 -5
  95. crypticorn/metrics/client/models/exception_detail.py +1 -1
  96. crypticorn/metrics/client/models/exchange_mapping.py +1 -1
  97. crypticorn/metrics/client/models/marketcap_ranking.py +1 -1
  98. crypticorn/metrics/client/models/marketcap_symbol_ranking.py +1 -1
  99. crypticorn/metrics/client/models/ohlcv.py +1 -1
  100. crypticorn/pay/client/api/admin_api.py +0 -3
  101. crypticorn/pay/client/api/now_payments_api.py +0 -4
  102. crypticorn/pay/client/api/payments_api.py +0 -4
  103. crypticorn/pay/client/api/products_api.py +0 -4
  104. crypticorn/pay/client/api/status_api.py +0 -3
  105. crypticorn/pay/client/api_client.py +0 -5
  106. crypticorn/pay/client/models/exception_detail.py +1 -1
  107. crypticorn/pay/client/models/now_create_invoice_req.py +1 -1
  108. crypticorn/pay/client/models/now_create_invoice_res.py +1 -1
  109. crypticorn/pay/client/models/product.py +1 -1
  110. crypticorn/pay/client/models/product_create.py +1 -1
  111. crypticorn/pay/client/models/product_update.py +1 -1
  112. crypticorn/trade/client/__init__.py +5 -0
  113. crypticorn/trade/client/api/admin_api.py +22 -23
  114. crypticorn/trade/client/api/bots_api.py +4712 -168
  115. crypticorn/trade/client/api/orders_api.py +220 -106
  116. crypticorn/trade/client/configuration.py +2 -2
  117. crypticorn/trade/client/models/__init__.py +5 -0
  118. crypticorn/trade/client/models/bot.py +7 -18
  119. crypticorn/trade/client/models/bot_create.py +17 -1
  120. crypticorn/trade/client/models/bot_update.py +17 -1
  121. crypticorn/trade/client/models/exchange_key_create.py +17 -1
  122. crypticorn/trade/client/models/exchange_key_update.py +17 -1
  123. crypticorn/trade/client/models/notification.py +17 -1
  124. crypticorn/trade/client/models/notification_create.py +17 -1
  125. crypticorn/trade/client/models/notification_update.py +17 -1
  126. crypticorn/trade/client/models/orders_count.py +88 -0
  127. crypticorn/trade/client/models/paginated_response_order.py +134 -0
  128. crypticorn/trade/client/models/pn_l.py +95 -0
  129. crypticorn/trade/client/models/strategy.py +17 -1
  130. crypticorn/trade/client/models/strategy_create.py +17 -1
  131. crypticorn/trade/client/models/strategy_update.py +17 -1
  132. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/METADATA +1 -1
  133. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/RECORD +137 -106
  134. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/WHEEL +0 -0
  135. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/entry_points.txt +0 -0
  136. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/licenses/LICENSE +0 -0
  137. {crypticorn-2.17.0rc4.dist-info → crypticorn-2.17.0rc5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1821 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ DEX AI API
5
+
6
+ API for DEX AI
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from crypticorn.dex.client.models.paginated_response_signal_with_token import (
19
+ PaginatedResponseSignalWithToken,
20
+ )
21
+ from crypticorn.dex.client.models.signal_overview_stats import SignalOverviewStats
22
+
23
+ from crypticorn.dex.client.api_client import ApiClient, RequestSerialized
24
+ from crypticorn.dex.client.api_response import ApiResponse
25
+ from crypticorn.dex.client.rest import RESTResponseType
26
+
27
+ # Import async_to_sync for sync methods
28
+ try:
29
+ from asgiref.sync import async_to_sync
30
+
31
+ _HAS_ASGIREF = True
32
+ except ImportError:
33
+ _HAS_ASGIREF = False
34
+
35
+ def async_to_sync(async_func):
36
+ """Fallback decorator that raises an error if asgiref is not available."""
37
+
38
+ def wrapper(*args, **kwargs):
39
+ raise ImportError(
40
+ "asgiref is required for sync methods. Install with: pip install asgiref"
41
+ )
42
+
43
+ return wrapper
44
+
45
+
46
+ class SignalsApi:
47
+ """NOTE: This class is auto generated by OpenAPI Generator
48
+ Ref: https://openapi-generator.tech
49
+
50
+ Do not edit the class manually.
51
+ """
52
+
53
+ def __init__(self, api_client=None, is_sync: bool = False) -> None:
54
+ if api_client is None:
55
+ api_client = ApiClient.get_default()
56
+ self.api_client = api_client
57
+ self.is_sync = is_sync
58
+
59
+ @validate_call
60
+ def get_signal_stats(
61
+ self,
62
+ _request_timeout: Union[
63
+ None,
64
+ Annotated[StrictFloat, Field(gt=0)],
65
+ Tuple[
66
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
67
+ ],
68
+ ] = None,
69
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
70
+ _content_type: Optional[StrictStr] = None,
71
+ _headers: Optional[Dict[StrictStr, Any]] = None,
72
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
73
+ ) -> SignalOverviewStats:
74
+ """Get Stats
75
+
76
+ This method can work in both sync and async modes based on the is_sync flag.
77
+ """
78
+ if self.is_sync:
79
+ return self._get_signal_stats_sync(
80
+ _request_timeout=_request_timeout,
81
+ _request_auth=_request_auth,
82
+ _content_type=_content_type,
83
+ _headers=_headers,
84
+ _host_index=_host_index,
85
+ )
86
+
87
+ else:
88
+ return self._get_signal_stats_async(
89
+ _request_timeout=_request_timeout,
90
+ _request_auth=_request_auth,
91
+ _content_type=_content_type,
92
+ _headers=_headers,
93
+ _host_index=_host_index,
94
+ )
95
+
96
+ @validate_call
97
+ def get_signal_stats_with_http_info(
98
+ self,
99
+ _request_timeout: Union[
100
+ None,
101
+ Annotated[StrictFloat, Field(gt=0)],
102
+ Tuple[
103
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
104
+ ],
105
+ ] = None,
106
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
107
+ _content_type: Optional[StrictStr] = None,
108
+ _headers: Optional[Dict[StrictStr, Any]] = None,
109
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
110
+ ) -> ApiResponse[SignalOverviewStats]:
111
+ """Get Stats with HTTP info
112
+
113
+ This method can work in both sync and async modes based on the is_sync flag.
114
+ """
115
+ if self.is_sync:
116
+ return self._get_signal_stats_sync_with_http_info(
117
+ _request_timeout=_request_timeout,
118
+ _request_auth=_request_auth,
119
+ _content_type=_content_type,
120
+ _headers=_headers,
121
+ _host_index=_host_index,
122
+ )
123
+
124
+ else:
125
+ return self._get_signal_stats_async_with_http_info(
126
+ _request_timeout=_request_timeout,
127
+ _request_auth=_request_auth,
128
+ _content_type=_content_type,
129
+ _headers=_headers,
130
+ _host_index=_host_index,
131
+ )
132
+
133
+ @validate_call
134
+ def get_signal_stats_without_preload_content(
135
+ self,
136
+ _request_timeout: Union[
137
+ None,
138
+ Annotated[StrictFloat, Field(gt=0)],
139
+ Tuple[
140
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
141
+ ],
142
+ ] = None,
143
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
144
+ _content_type: Optional[StrictStr] = None,
145
+ _headers: Optional[Dict[StrictStr, Any]] = None,
146
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
147
+ ) -> RESTResponseType:
148
+ """Get Stats without preloading content
149
+
150
+ This method can work in both sync and async modes based on the is_sync flag.
151
+ """
152
+ if self.is_sync:
153
+ return self._get_signal_stats_sync_without_preload_content(
154
+ _request_timeout=_request_timeout,
155
+ _request_auth=_request_auth,
156
+ _content_type=_content_type,
157
+ _headers=_headers,
158
+ _host_index=_host_index,
159
+ )
160
+
161
+ else:
162
+ return self._get_signal_stats_async_without_preload_content(
163
+ _request_timeout=_request_timeout,
164
+ _request_auth=_request_auth,
165
+ _content_type=_content_type,
166
+ _headers=_headers,
167
+ _host_index=_host_index,
168
+ )
169
+
170
+ # Private async implementation methods
171
+ @validate_call
172
+ async def _get_signal_stats_async(
173
+ self,
174
+ _request_timeout: Union[
175
+ None,
176
+ Annotated[StrictFloat, Field(gt=0)],
177
+ Tuple[
178
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
179
+ ],
180
+ ] = None,
181
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
182
+ _content_type: Optional[StrictStr] = None,
183
+ _headers: Optional[Dict[StrictStr, Any]] = None,
184
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
185
+ ) -> SignalOverviewStats:
186
+ """Get Stats
187
+
188
+ Get comprehensive statistics for all signals.
189
+
190
+ :param _request_timeout: timeout setting for this request. If one
191
+ number provided, it will be total request
192
+ timeout. It can also be a pair (tuple) of
193
+ (connection, read) timeouts.
194
+ :type _request_timeout: int, tuple(int, int), optional
195
+ :param _request_auth: set to override the auth_settings for an a single
196
+ request; this effectively ignores the
197
+ authentication in the spec for a single request.
198
+ :type _request_auth: dict, optional
199
+ :param _content_type: force content-type for the request.
200
+ :type _content_type: str, Optional
201
+ :param _headers: set to override the headers for a single
202
+ request; this effectively ignores the headers
203
+ in the spec for a single request.
204
+ :type _headers: dict, optional
205
+ :param _host_index: set to override the host_index for a single
206
+ request; this effectively ignores the host_index
207
+ in the spec for a single request.
208
+ :type _host_index: int, optional
209
+ :return: Returns the result object.
210
+ """ # noqa: E501
211
+
212
+ _param = self._get_signal_stats_serialize(
213
+ _request_auth=_request_auth,
214
+ _content_type=_content_type,
215
+ _headers=_headers,
216
+ _host_index=_host_index,
217
+ )
218
+
219
+ _response_types_map: Dict[str, Optional[str]] = {
220
+ "200": "SignalOverviewStats",
221
+ }
222
+ response_data = await self.api_client.call_api(
223
+ *_param, _request_timeout=_request_timeout
224
+ )
225
+ await response_data.read()
226
+ return self.api_client.response_deserialize(
227
+ response_data=response_data,
228
+ response_types_map=_response_types_map,
229
+ ).data
230
+
231
+ @validate_call
232
+ async def _get_signal_stats_async_with_http_info(
233
+ self,
234
+ _request_timeout: Union[
235
+ None,
236
+ Annotated[StrictFloat, Field(gt=0)],
237
+ Tuple[
238
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
239
+ ],
240
+ ] = None,
241
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
242
+ _content_type: Optional[StrictStr] = None,
243
+ _headers: Optional[Dict[StrictStr, Any]] = None,
244
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
245
+ ) -> ApiResponse[SignalOverviewStats]:
246
+ """Get Stats
247
+
248
+ Get comprehensive statistics for all signals.
249
+
250
+ :param _request_timeout: timeout setting for this request. If one
251
+ number provided, it will be total request
252
+ timeout. It can also be a pair (tuple) of
253
+ (connection, read) timeouts.
254
+ :type _request_timeout: int, tuple(int, int), optional
255
+ :param _request_auth: set to override the auth_settings for an a single
256
+ request; this effectively ignores the
257
+ authentication in the spec for a single request.
258
+ :type _request_auth: dict, optional
259
+ :param _content_type: force content-type for the request.
260
+ :type _content_type: str, Optional
261
+ :param _headers: set to override the headers for a single
262
+ request; this effectively ignores the headers
263
+ in the spec for a single request.
264
+ :type _headers: dict, optional
265
+ :param _host_index: set to override the host_index for a single
266
+ request; this effectively ignores the host_index
267
+ in the spec for a single request.
268
+ :type _host_index: int, optional
269
+ :return: Returns the result object.
270
+ """ # noqa: E501
271
+
272
+ _param = self._get_signal_stats_serialize(
273
+ _request_auth=_request_auth,
274
+ _content_type=_content_type,
275
+ _headers=_headers,
276
+ _host_index=_host_index,
277
+ )
278
+
279
+ _response_types_map: Dict[str, Optional[str]] = {
280
+ "200": "SignalOverviewStats",
281
+ }
282
+ response_data = await self.api_client.call_api(
283
+ *_param, _request_timeout=_request_timeout
284
+ )
285
+ await response_data.read()
286
+ return self.api_client.response_deserialize(
287
+ response_data=response_data, response_types_map=_response_types_map
288
+ )
289
+
290
+ @validate_call
291
+ async def _get_signal_stats_async_without_preload_content(
292
+ self,
293
+ _request_timeout: Union[
294
+ None,
295
+ Annotated[StrictFloat, Field(gt=0)],
296
+ Tuple[
297
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
298
+ ],
299
+ ] = None,
300
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
301
+ _content_type: Optional[StrictStr] = None,
302
+ _headers: Optional[Dict[StrictStr, Any]] = None,
303
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
304
+ ) -> RESTResponseType:
305
+ """Get Stats
306
+
307
+ Get comprehensive statistics for all signals.
308
+
309
+ :param _request_timeout: timeout setting for this request. If one
310
+ number provided, it will be total request
311
+ timeout. It can also be a pair (tuple) of
312
+ (connection, read) timeouts.
313
+ :type _request_timeout: int, tuple(int, int), optional
314
+ :param _request_auth: set to override the auth_settings for an a single
315
+ request; this effectively ignores the
316
+ authentication in the spec for a single request.
317
+ :type _request_auth: dict, optional
318
+ :param _content_type: force content-type for the request.
319
+ :type _content_type: str, Optional
320
+ :param _headers: set to override the headers for a single
321
+ request; this effectively ignores the headers
322
+ in the spec for a single request.
323
+ :type _headers: dict, optional
324
+ :param _host_index: set to override the host_index for a single
325
+ request; this effectively ignores the host_index
326
+ in the spec for a single request.
327
+ :type _host_index: int, optional
328
+ :return: Returns the result object.
329
+ """ # noqa: E501
330
+
331
+ _param = self._get_signal_stats_serialize(
332
+ _request_auth=_request_auth,
333
+ _content_type=_content_type,
334
+ _headers=_headers,
335
+ _host_index=_host_index,
336
+ )
337
+
338
+ _response_types_map: Dict[str, Optional[str]] = {
339
+ "200": "SignalOverviewStats",
340
+ }
341
+ response_data = await self.api_client.call_api(
342
+ *_param, _request_timeout=_request_timeout
343
+ )
344
+ return response_data
345
+
346
+ # Private sync implementation methods
347
+ @validate_call
348
+ def _get_signal_stats_sync(
349
+ self,
350
+ _request_timeout: Union[
351
+ None,
352
+ Annotated[StrictFloat, Field(gt=0)],
353
+ Tuple[
354
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
355
+ ],
356
+ ] = None,
357
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
358
+ _content_type: Optional[StrictStr] = None,
359
+ _headers: Optional[Dict[StrictStr, Any]] = None,
360
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
361
+ ) -> SignalOverviewStats:
362
+ """Synchronous version of get_signal_stats"""
363
+ return async_to_sync(self._get_signal_stats_async)(
364
+ _request_timeout=_request_timeout,
365
+ _request_auth=_request_auth,
366
+ _content_type=_content_type,
367
+ _headers=_headers,
368
+ _host_index=_host_index,
369
+ )
370
+
371
+ @validate_call
372
+ def _get_signal_stats_sync_with_http_info(
373
+ self,
374
+ _request_timeout: Union[
375
+ None,
376
+ Annotated[StrictFloat, Field(gt=0)],
377
+ Tuple[
378
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
379
+ ],
380
+ ] = None,
381
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
382
+ _content_type: Optional[StrictStr] = None,
383
+ _headers: Optional[Dict[StrictStr, Any]] = None,
384
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
385
+ ) -> ApiResponse[SignalOverviewStats]:
386
+ """Synchronous version of get_signal_stats_with_http_info"""
387
+ return async_to_sync(self._get_signal_stats_async_with_http_info)(
388
+ _request_timeout=_request_timeout,
389
+ _request_auth=_request_auth,
390
+ _content_type=_content_type,
391
+ _headers=_headers,
392
+ _host_index=_host_index,
393
+ )
394
+
395
+ @validate_call
396
+ def _get_signal_stats_sync_without_preload_content(
397
+ self,
398
+ _request_timeout: Union[
399
+ None,
400
+ Annotated[StrictFloat, Field(gt=0)],
401
+ Tuple[
402
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
403
+ ],
404
+ ] = None,
405
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
406
+ _content_type: Optional[StrictStr] = None,
407
+ _headers: Optional[Dict[StrictStr, Any]] = None,
408
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
409
+ ) -> RESTResponseType:
410
+ """Synchronous version of get_signal_stats_without_preload_content"""
411
+ return async_to_sync(self._get_signal_stats_async_without_preload_content)(
412
+ _request_timeout=_request_timeout,
413
+ _request_auth=_request_auth,
414
+ _content_type=_content_type,
415
+ _headers=_headers,
416
+ _host_index=_host_index,
417
+ )
418
+
419
+ def _get_signal_stats_serialize(
420
+ self,
421
+ _request_auth,
422
+ _content_type,
423
+ _headers,
424
+ _host_index,
425
+ ) -> RequestSerialized:
426
+
427
+ _host = None
428
+
429
+ _collection_formats: Dict[str, str] = {}
430
+
431
+ _path_params: Dict[str, str] = {}
432
+ _query_params: List[Tuple[str, str]] = []
433
+ _header_params: Dict[str, Optional[str]] = _headers or {}
434
+ _form_params: List[Tuple[str, str]] = []
435
+ _files: Dict[
436
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
437
+ ] = {}
438
+ _body_params: Optional[bytes] = None
439
+
440
+ # process the path parameters
441
+ # process the query parameters
442
+ # process the header parameters
443
+ # process the form parameters
444
+ # process the body parameter
445
+
446
+ # set the HTTP header `Accept`
447
+ if "Accept" not in _header_params:
448
+ _header_params["Accept"] = self.api_client.select_header_accept(
449
+ ["application/json"]
450
+ )
451
+
452
+ # authentication setting
453
+ _auth_settings: List[str] = []
454
+
455
+ return self.api_client.param_serialize(
456
+ method="GET",
457
+ resource_path="/signals/stats",
458
+ path_params=_path_params,
459
+ query_params=_query_params,
460
+ header_params=_header_params,
461
+ body=_body_params,
462
+ post_params=_form_params,
463
+ files=_files,
464
+ auth_settings=_auth_settings,
465
+ collection_formats=_collection_formats,
466
+ _host=_host,
467
+ _request_auth=_request_auth,
468
+ )
469
+
470
+ @validate_call
471
+ def get_signals(
472
+ self,
473
+ filter_by: Annotated[
474
+ Optional[StrictStr], Field(description="The field to filter by")
475
+ ] = None,
476
+ filter_value: Annotated[
477
+ Optional[Any], Field(description="The value to filter with")
478
+ ] = None,
479
+ sort_order: Annotated[
480
+ Optional[StrictStr], Field(description="The order to sort by")
481
+ ] = None,
482
+ sort_by: Annotated[
483
+ Optional[StrictStr], Field(description="The field to sort by")
484
+ ] = None,
485
+ page: Annotated[
486
+ Optional[StrictInt], Field(description="The current page number")
487
+ ] = None,
488
+ page_size: Annotated[
489
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
490
+ Field(
491
+ description="The number of items per page. Default is 10, max is 100."
492
+ ),
493
+ ] = None,
494
+ _request_timeout: Union[
495
+ None,
496
+ Annotated[StrictFloat, Field(gt=0)],
497
+ Tuple[
498
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
499
+ ],
500
+ ] = None,
501
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
502
+ _content_type: Optional[StrictStr] = None,
503
+ _headers: Optional[Dict[StrictStr, Any]] = None,
504
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
505
+ ) -> PaginatedResponseSignalWithToken:
506
+ """Get Signals
507
+
508
+ This method can work in both sync and async modes based on the is_sync flag.
509
+ """
510
+ if self.is_sync:
511
+ return self._get_signals_sync(
512
+ filter_by=filter_by,
513
+ filter_value=filter_value,
514
+ sort_order=sort_order,
515
+ sort_by=sort_by,
516
+ page=page,
517
+ page_size=page_size,
518
+ _request_timeout=_request_timeout,
519
+ _request_auth=_request_auth,
520
+ _content_type=_content_type,
521
+ _headers=_headers,
522
+ _host_index=_host_index,
523
+ )
524
+
525
+ else:
526
+ return self._get_signals_async(
527
+ filter_by=filter_by,
528
+ filter_value=filter_value,
529
+ sort_order=sort_order,
530
+ sort_by=sort_by,
531
+ page=page,
532
+ page_size=page_size,
533
+ _request_timeout=_request_timeout,
534
+ _request_auth=_request_auth,
535
+ _content_type=_content_type,
536
+ _headers=_headers,
537
+ _host_index=_host_index,
538
+ )
539
+
540
+ @validate_call
541
+ def get_signals_with_http_info(
542
+ self,
543
+ filter_by: Annotated[
544
+ Optional[StrictStr], Field(description="The field to filter by")
545
+ ] = None,
546
+ filter_value: Annotated[
547
+ Optional[Any], Field(description="The value to filter with")
548
+ ] = None,
549
+ sort_order: Annotated[
550
+ Optional[StrictStr], Field(description="The order to sort by")
551
+ ] = None,
552
+ sort_by: Annotated[
553
+ Optional[StrictStr], Field(description="The field to sort by")
554
+ ] = None,
555
+ page: Annotated[
556
+ Optional[StrictInt], Field(description="The current page number")
557
+ ] = None,
558
+ page_size: Annotated[
559
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
560
+ Field(
561
+ description="The number of items per page. Default is 10, max is 100."
562
+ ),
563
+ ] = None,
564
+ _request_timeout: Union[
565
+ None,
566
+ Annotated[StrictFloat, Field(gt=0)],
567
+ Tuple[
568
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
569
+ ],
570
+ ] = None,
571
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
572
+ _content_type: Optional[StrictStr] = None,
573
+ _headers: Optional[Dict[StrictStr, Any]] = None,
574
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
575
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
576
+ """Get Signals with HTTP info
577
+
578
+ This method can work in both sync and async modes based on the is_sync flag.
579
+ """
580
+ if self.is_sync:
581
+ return self._get_signals_sync_with_http_info(
582
+ filter_by=filter_by,
583
+ filter_value=filter_value,
584
+ sort_order=sort_order,
585
+ sort_by=sort_by,
586
+ page=page,
587
+ page_size=page_size,
588
+ _request_timeout=_request_timeout,
589
+ _request_auth=_request_auth,
590
+ _content_type=_content_type,
591
+ _headers=_headers,
592
+ _host_index=_host_index,
593
+ )
594
+
595
+ else:
596
+ return self._get_signals_async_with_http_info(
597
+ filter_by=filter_by,
598
+ filter_value=filter_value,
599
+ sort_order=sort_order,
600
+ sort_by=sort_by,
601
+ page=page,
602
+ page_size=page_size,
603
+ _request_timeout=_request_timeout,
604
+ _request_auth=_request_auth,
605
+ _content_type=_content_type,
606
+ _headers=_headers,
607
+ _host_index=_host_index,
608
+ )
609
+
610
+ @validate_call
611
+ def get_signals_without_preload_content(
612
+ self,
613
+ filter_by: Annotated[
614
+ Optional[StrictStr], Field(description="The field to filter by")
615
+ ] = None,
616
+ filter_value: Annotated[
617
+ Optional[Any], Field(description="The value to filter with")
618
+ ] = None,
619
+ sort_order: Annotated[
620
+ Optional[StrictStr], Field(description="The order to sort by")
621
+ ] = None,
622
+ sort_by: Annotated[
623
+ Optional[StrictStr], Field(description="The field to sort by")
624
+ ] = None,
625
+ page: Annotated[
626
+ Optional[StrictInt], Field(description="The current page number")
627
+ ] = None,
628
+ page_size: Annotated[
629
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
630
+ Field(
631
+ description="The number of items per page. Default is 10, max is 100."
632
+ ),
633
+ ] = None,
634
+ _request_timeout: Union[
635
+ None,
636
+ Annotated[StrictFloat, Field(gt=0)],
637
+ Tuple[
638
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
639
+ ],
640
+ ] = None,
641
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
642
+ _content_type: Optional[StrictStr] = None,
643
+ _headers: Optional[Dict[StrictStr, Any]] = None,
644
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
645
+ ) -> RESTResponseType:
646
+ """Get Signals without preloading content
647
+
648
+ This method can work in both sync and async modes based on the is_sync flag.
649
+ """
650
+ if self.is_sync:
651
+ return self._get_signals_sync_without_preload_content(
652
+ filter_by=filter_by,
653
+ filter_value=filter_value,
654
+ sort_order=sort_order,
655
+ sort_by=sort_by,
656
+ page=page,
657
+ page_size=page_size,
658
+ _request_timeout=_request_timeout,
659
+ _request_auth=_request_auth,
660
+ _content_type=_content_type,
661
+ _headers=_headers,
662
+ _host_index=_host_index,
663
+ )
664
+
665
+ else:
666
+ return self._get_signals_async_without_preload_content(
667
+ filter_by=filter_by,
668
+ filter_value=filter_value,
669
+ sort_order=sort_order,
670
+ sort_by=sort_by,
671
+ page=page,
672
+ page_size=page_size,
673
+ _request_timeout=_request_timeout,
674
+ _request_auth=_request_auth,
675
+ _content_type=_content_type,
676
+ _headers=_headers,
677
+ _host_index=_host_index,
678
+ )
679
+
680
+ # Private async implementation methods
681
+ @validate_call
682
+ async def _get_signals_async(
683
+ self,
684
+ filter_by: Annotated[
685
+ Optional[StrictStr], Field(description="The field to filter by")
686
+ ] = None,
687
+ filter_value: Annotated[
688
+ Optional[Any], Field(description="The value to filter with")
689
+ ] = None,
690
+ sort_order: Annotated[
691
+ Optional[StrictStr], Field(description="The order to sort by")
692
+ ] = None,
693
+ sort_by: Annotated[
694
+ Optional[StrictStr], Field(description="The field to sort by")
695
+ ] = None,
696
+ page: Annotated[
697
+ Optional[StrictInt], Field(description="The current page number")
698
+ ] = None,
699
+ page_size: Annotated[
700
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
701
+ Field(
702
+ description="The number of items per page. Default is 10, max is 100."
703
+ ),
704
+ ] = None,
705
+ _request_timeout: Union[
706
+ None,
707
+ Annotated[StrictFloat, Field(gt=0)],
708
+ Tuple[
709
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
710
+ ],
711
+ ] = None,
712
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
713
+ _content_type: Optional[StrictStr] = None,
714
+ _headers: Optional[Dict[StrictStr, Any]] = None,
715
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
716
+ ) -> PaginatedResponseSignalWithToken:
717
+ """Get Signals
718
+
719
+ Get all signals. Returns the latest 10 signals by default. The default sort is `called_at` and the default order is `desc`.
720
+
721
+ :param filter_by: The field to filter by
722
+ :type filter_by: str
723
+ :param filter_value: The value to filter with
724
+ :type filter_value: AnyOf
725
+ :param sort_order: The order to sort by
726
+ :type sort_order: str
727
+ :param sort_by: The field to sort by
728
+ :type sort_by: str
729
+ :param page: The current page number
730
+ :type page: int
731
+ :param page_size: The number of items per page. Default is 10, max is 100.
732
+ :type page_size: int
733
+ :param _request_timeout: timeout setting for this request. If one
734
+ number provided, it will be total request
735
+ timeout. It can also be a pair (tuple) of
736
+ (connection, read) timeouts.
737
+ :type _request_timeout: int, tuple(int, int), optional
738
+ :param _request_auth: set to override the auth_settings for an a single
739
+ request; this effectively ignores the
740
+ authentication in the spec for a single request.
741
+ :type _request_auth: dict, optional
742
+ :param _content_type: force content-type for the request.
743
+ :type _content_type: str, Optional
744
+ :param _headers: set to override the headers for a single
745
+ request; this effectively ignores the headers
746
+ in the spec for a single request.
747
+ :type _headers: dict, optional
748
+ :param _host_index: set to override the host_index for a single
749
+ request; this effectively ignores the host_index
750
+ in the spec for a single request.
751
+ :type _host_index: int, optional
752
+ :return: Returns the result object.
753
+ """ # noqa: E501
754
+
755
+ _param = self._get_signals_serialize(
756
+ filter_by=filter_by,
757
+ filter_value=filter_value,
758
+ sort_order=sort_order,
759
+ sort_by=sort_by,
760
+ page=page,
761
+ page_size=page_size,
762
+ _request_auth=_request_auth,
763
+ _content_type=_content_type,
764
+ _headers=_headers,
765
+ _host_index=_host_index,
766
+ )
767
+
768
+ _response_types_map: Dict[str, Optional[str]] = {
769
+ "200": "PaginatedResponseSignalWithToken",
770
+ }
771
+ response_data = await self.api_client.call_api(
772
+ *_param, _request_timeout=_request_timeout
773
+ )
774
+ await response_data.read()
775
+ return self.api_client.response_deserialize(
776
+ response_data=response_data,
777
+ response_types_map=_response_types_map,
778
+ ).data
779
+
780
+ @validate_call
781
+ async def _get_signals_async_with_http_info(
782
+ self,
783
+ filter_by: Annotated[
784
+ Optional[StrictStr], Field(description="The field to filter by")
785
+ ] = None,
786
+ filter_value: Annotated[
787
+ Optional[Any], Field(description="The value to filter with")
788
+ ] = None,
789
+ sort_order: Annotated[
790
+ Optional[StrictStr], Field(description="The order to sort by")
791
+ ] = None,
792
+ sort_by: Annotated[
793
+ Optional[StrictStr], Field(description="The field to sort by")
794
+ ] = None,
795
+ page: Annotated[
796
+ Optional[StrictInt], Field(description="The current page number")
797
+ ] = None,
798
+ page_size: Annotated[
799
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
800
+ Field(
801
+ description="The number of items per page. Default is 10, max is 100."
802
+ ),
803
+ ] = None,
804
+ _request_timeout: Union[
805
+ None,
806
+ Annotated[StrictFloat, Field(gt=0)],
807
+ Tuple[
808
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
809
+ ],
810
+ ] = None,
811
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
812
+ _content_type: Optional[StrictStr] = None,
813
+ _headers: Optional[Dict[StrictStr, Any]] = None,
814
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
815
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
816
+ """Get Signals
817
+
818
+ Get all signals. Returns the latest 10 signals by default. The default sort is `called_at` and the default order is `desc`.
819
+
820
+ :param filter_by: The field to filter by
821
+ :type filter_by: str
822
+ :param filter_value: The value to filter with
823
+ :type filter_value: AnyOf
824
+ :param sort_order: The order to sort by
825
+ :type sort_order: str
826
+ :param sort_by: The field to sort by
827
+ :type sort_by: str
828
+ :param page: The current page number
829
+ :type page: int
830
+ :param page_size: The number of items per page. Default is 10, max is 100.
831
+ :type page_size: int
832
+ :param _request_timeout: timeout setting for this request. If one
833
+ number provided, it will be total request
834
+ timeout. It can also be a pair (tuple) of
835
+ (connection, read) timeouts.
836
+ :type _request_timeout: int, tuple(int, int), optional
837
+ :param _request_auth: set to override the auth_settings for an a single
838
+ request; this effectively ignores the
839
+ authentication in the spec for a single request.
840
+ :type _request_auth: dict, optional
841
+ :param _content_type: force content-type for the request.
842
+ :type _content_type: str, Optional
843
+ :param _headers: set to override the headers for a single
844
+ request; this effectively ignores the headers
845
+ in the spec for a single request.
846
+ :type _headers: dict, optional
847
+ :param _host_index: set to override the host_index for a single
848
+ request; this effectively ignores the host_index
849
+ in the spec for a single request.
850
+ :type _host_index: int, optional
851
+ :return: Returns the result object.
852
+ """ # noqa: E501
853
+
854
+ _param = self._get_signals_serialize(
855
+ filter_by=filter_by,
856
+ filter_value=filter_value,
857
+ sort_order=sort_order,
858
+ sort_by=sort_by,
859
+ page=page,
860
+ page_size=page_size,
861
+ _request_auth=_request_auth,
862
+ _content_type=_content_type,
863
+ _headers=_headers,
864
+ _host_index=_host_index,
865
+ )
866
+
867
+ _response_types_map: Dict[str, Optional[str]] = {
868
+ "200": "PaginatedResponseSignalWithToken",
869
+ }
870
+ response_data = await self.api_client.call_api(
871
+ *_param, _request_timeout=_request_timeout
872
+ )
873
+ await response_data.read()
874
+ return self.api_client.response_deserialize(
875
+ response_data=response_data, response_types_map=_response_types_map
876
+ )
877
+
878
+ @validate_call
879
+ async def _get_signals_async_without_preload_content(
880
+ self,
881
+ filter_by: Annotated[
882
+ Optional[StrictStr], Field(description="The field to filter by")
883
+ ] = None,
884
+ filter_value: Annotated[
885
+ Optional[Any], Field(description="The value to filter with")
886
+ ] = None,
887
+ sort_order: Annotated[
888
+ Optional[StrictStr], Field(description="The order to sort by")
889
+ ] = None,
890
+ sort_by: Annotated[
891
+ Optional[StrictStr], Field(description="The field to sort by")
892
+ ] = None,
893
+ page: Annotated[
894
+ Optional[StrictInt], Field(description="The current page number")
895
+ ] = None,
896
+ page_size: Annotated[
897
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
898
+ Field(
899
+ description="The number of items per page. Default is 10, max is 100."
900
+ ),
901
+ ] = None,
902
+ _request_timeout: Union[
903
+ None,
904
+ Annotated[StrictFloat, Field(gt=0)],
905
+ Tuple[
906
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
907
+ ],
908
+ ] = None,
909
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
910
+ _content_type: Optional[StrictStr] = None,
911
+ _headers: Optional[Dict[StrictStr, Any]] = None,
912
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
913
+ ) -> RESTResponseType:
914
+ """Get Signals
915
+
916
+ Get all signals. Returns the latest 10 signals by default. The default sort is `called_at` and the default order is `desc`.
917
+
918
+ :param filter_by: The field to filter by
919
+ :type filter_by: str
920
+ :param filter_value: The value to filter with
921
+ :type filter_value: AnyOf
922
+ :param sort_order: The order to sort by
923
+ :type sort_order: str
924
+ :param sort_by: The field to sort by
925
+ :type sort_by: str
926
+ :param page: The current page number
927
+ :type page: int
928
+ :param page_size: The number of items per page. Default is 10, max is 100.
929
+ :type page_size: int
930
+ :param _request_timeout: timeout setting for this request. If one
931
+ number provided, it will be total request
932
+ timeout. It can also be a pair (tuple) of
933
+ (connection, read) timeouts.
934
+ :type _request_timeout: int, tuple(int, int), optional
935
+ :param _request_auth: set to override the auth_settings for an a single
936
+ request; this effectively ignores the
937
+ authentication in the spec for a single request.
938
+ :type _request_auth: dict, optional
939
+ :param _content_type: force content-type for the request.
940
+ :type _content_type: str, Optional
941
+ :param _headers: set to override the headers for a single
942
+ request; this effectively ignores the headers
943
+ in the spec for a single request.
944
+ :type _headers: dict, optional
945
+ :param _host_index: set to override the host_index for a single
946
+ request; this effectively ignores the host_index
947
+ in the spec for a single request.
948
+ :type _host_index: int, optional
949
+ :return: Returns the result object.
950
+ """ # noqa: E501
951
+
952
+ _param = self._get_signals_serialize(
953
+ filter_by=filter_by,
954
+ filter_value=filter_value,
955
+ sort_order=sort_order,
956
+ sort_by=sort_by,
957
+ page=page,
958
+ page_size=page_size,
959
+ _request_auth=_request_auth,
960
+ _content_type=_content_type,
961
+ _headers=_headers,
962
+ _host_index=_host_index,
963
+ )
964
+
965
+ _response_types_map: Dict[str, Optional[str]] = {
966
+ "200": "PaginatedResponseSignalWithToken",
967
+ }
968
+ response_data = await self.api_client.call_api(
969
+ *_param, _request_timeout=_request_timeout
970
+ )
971
+ return response_data
972
+
973
+ # Private sync implementation methods
974
+ @validate_call
975
+ def _get_signals_sync(
976
+ self,
977
+ filter_by: Annotated[
978
+ Optional[StrictStr], Field(description="The field to filter by")
979
+ ] = None,
980
+ filter_value: Annotated[
981
+ Optional[Any], Field(description="The value to filter with")
982
+ ] = None,
983
+ sort_order: Annotated[
984
+ Optional[StrictStr], Field(description="The order to sort by")
985
+ ] = None,
986
+ sort_by: Annotated[
987
+ Optional[StrictStr], Field(description="The field to sort by")
988
+ ] = None,
989
+ page: Annotated[
990
+ Optional[StrictInt], Field(description="The current page number")
991
+ ] = None,
992
+ page_size: Annotated[
993
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
994
+ Field(
995
+ description="The number of items per page. Default is 10, max is 100."
996
+ ),
997
+ ] = None,
998
+ _request_timeout: Union[
999
+ None,
1000
+ Annotated[StrictFloat, Field(gt=0)],
1001
+ Tuple[
1002
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1003
+ ],
1004
+ ] = None,
1005
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1006
+ _content_type: Optional[StrictStr] = None,
1007
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1008
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1009
+ ) -> PaginatedResponseSignalWithToken:
1010
+ """Synchronous version of get_signals"""
1011
+ return async_to_sync(self._get_signals_async)(
1012
+ filter_by=filter_by,
1013
+ filter_value=filter_value,
1014
+ sort_order=sort_order,
1015
+ sort_by=sort_by,
1016
+ page=page,
1017
+ page_size=page_size,
1018
+ _request_timeout=_request_timeout,
1019
+ _request_auth=_request_auth,
1020
+ _content_type=_content_type,
1021
+ _headers=_headers,
1022
+ _host_index=_host_index,
1023
+ )
1024
+
1025
+ @validate_call
1026
+ def _get_signals_sync_with_http_info(
1027
+ self,
1028
+ filter_by: Annotated[
1029
+ Optional[StrictStr], Field(description="The field to filter by")
1030
+ ] = None,
1031
+ filter_value: Annotated[
1032
+ Optional[Any], Field(description="The value to filter with")
1033
+ ] = None,
1034
+ sort_order: Annotated[
1035
+ Optional[StrictStr], Field(description="The order to sort by")
1036
+ ] = None,
1037
+ sort_by: Annotated[
1038
+ Optional[StrictStr], Field(description="The field to sort by")
1039
+ ] = None,
1040
+ page: Annotated[
1041
+ Optional[StrictInt], Field(description="The current page number")
1042
+ ] = None,
1043
+ page_size: Annotated[
1044
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1045
+ Field(
1046
+ description="The number of items per page. Default is 10, max is 100."
1047
+ ),
1048
+ ] = None,
1049
+ _request_timeout: Union[
1050
+ None,
1051
+ Annotated[StrictFloat, Field(gt=0)],
1052
+ Tuple[
1053
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1054
+ ],
1055
+ ] = None,
1056
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1057
+ _content_type: Optional[StrictStr] = None,
1058
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1059
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1060
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
1061
+ """Synchronous version of get_signals_with_http_info"""
1062
+ return async_to_sync(self._get_signals_async_with_http_info)(
1063
+ filter_by=filter_by,
1064
+ filter_value=filter_value,
1065
+ sort_order=sort_order,
1066
+ sort_by=sort_by,
1067
+ page=page,
1068
+ page_size=page_size,
1069
+ _request_timeout=_request_timeout,
1070
+ _request_auth=_request_auth,
1071
+ _content_type=_content_type,
1072
+ _headers=_headers,
1073
+ _host_index=_host_index,
1074
+ )
1075
+
1076
+ @validate_call
1077
+ def _get_signals_sync_without_preload_content(
1078
+ self,
1079
+ filter_by: Annotated[
1080
+ Optional[StrictStr], Field(description="The field to filter by")
1081
+ ] = None,
1082
+ filter_value: Annotated[
1083
+ Optional[Any], Field(description="The value to filter with")
1084
+ ] = None,
1085
+ sort_order: Annotated[
1086
+ Optional[StrictStr], Field(description="The order to sort by")
1087
+ ] = None,
1088
+ sort_by: Annotated[
1089
+ Optional[StrictStr], Field(description="The field to sort by")
1090
+ ] = None,
1091
+ page: Annotated[
1092
+ Optional[StrictInt], Field(description="The current page number")
1093
+ ] = None,
1094
+ page_size: Annotated[
1095
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1096
+ Field(
1097
+ description="The number of items per page. Default is 10, max is 100."
1098
+ ),
1099
+ ] = None,
1100
+ _request_timeout: Union[
1101
+ None,
1102
+ Annotated[StrictFloat, Field(gt=0)],
1103
+ Tuple[
1104
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1105
+ ],
1106
+ ] = None,
1107
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1108
+ _content_type: Optional[StrictStr] = None,
1109
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1110
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1111
+ ) -> RESTResponseType:
1112
+ """Synchronous version of get_signals_without_preload_content"""
1113
+ return async_to_sync(self._get_signals_async_without_preload_content)(
1114
+ filter_by=filter_by,
1115
+ filter_value=filter_value,
1116
+ sort_order=sort_order,
1117
+ sort_by=sort_by,
1118
+ page=page,
1119
+ page_size=page_size,
1120
+ _request_timeout=_request_timeout,
1121
+ _request_auth=_request_auth,
1122
+ _content_type=_content_type,
1123
+ _headers=_headers,
1124
+ _host_index=_host_index,
1125
+ )
1126
+
1127
+ def _get_signals_serialize(
1128
+ self,
1129
+ filter_by,
1130
+ filter_value,
1131
+ sort_order,
1132
+ sort_by,
1133
+ page,
1134
+ page_size,
1135
+ _request_auth,
1136
+ _content_type,
1137
+ _headers,
1138
+ _host_index,
1139
+ ) -> RequestSerialized:
1140
+
1141
+ _host = None
1142
+
1143
+ _collection_formats: Dict[str, str] = {}
1144
+
1145
+ _path_params: Dict[str, str] = {}
1146
+ _query_params: List[Tuple[str, str]] = []
1147
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1148
+ _form_params: List[Tuple[str, str]] = []
1149
+ _files: Dict[
1150
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1151
+ ] = {}
1152
+ _body_params: Optional[bytes] = None
1153
+
1154
+ # process the path parameters
1155
+ # process the query parameters
1156
+ if filter_by is not None:
1157
+
1158
+ _query_params.append(("filter_by", filter_by))
1159
+
1160
+ if filter_value is not None:
1161
+
1162
+ _query_params.append(("filter_value", filter_value))
1163
+
1164
+ if sort_order is not None:
1165
+
1166
+ _query_params.append(("sort_order", sort_order))
1167
+
1168
+ if sort_by is not None:
1169
+
1170
+ _query_params.append(("sort_by", sort_by))
1171
+
1172
+ if page is not None:
1173
+
1174
+ _query_params.append(("page", page))
1175
+
1176
+ if page_size is not None:
1177
+
1178
+ _query_params.append(("page_size", page_size))
1179
+
1180
+ # process the header parameters
1181
+ # process the form parameters
1182
+ # process the body parameter
1183
+
1184
+ # set the HTTP header `Accept`
1185
+ if "Accept" not in _header_params:
1186
+ _header_params["Accept"] = self.api_client.select_header_accept(
1187
+ ["application/json"]
1188
+ )
1189
+
1190
+ # authentication setting
1191
+ _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1192
+
1193
+ return self.api_client.param_serialize(
1194
+ method="GET",
1195
+ resource_path="/signals",
1196
+ path_params=_path_params,
1197
+ query_params=_query_params,
1198
+ header_params=_header_params,
1199
+ body=_body_params,
1200
+ post_params=_form_params,
1201
+ files=_files,
1202
+ auth_settings=_auth_settings,
1203
+ collection_formats=_collection_formats,
1204
+ _host=_host,
1205
+ _request_auth=_request_auth,
1206
+ )
1207
+
1208
+ @validate_call
1209
+ def get_top_signals(
1210
+ self,
1211
+ page: Annotated[
1212
+ Optional[StrictInt], Field(description="The current page number")
1213
+ ] = None,
1214
+ page_size: Annotated[
1215
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1216
+ Field(
1217
+ description="The number of items per page. Default is 10, max is 100."
1218
+ ),
1219
+ ] = None,
1220
+ since: Annotated[
1221
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1222
+ Field(
1223
+ description="Include signals from the last X hours. Default is 24 hours."
1224
+ ),
1225
+ ] = None,
1226
+ _request_timeout: Union[
1227
+ None,
1228
+ Annotated[StrictFloat, Field(gt=0)],
1229
+ Tuple[
1230
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1231
+ ],
1232
+ ] = None,
1233
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1234
+ _content_type: Optional[StrictStr] = None,
1235
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1236
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1237
+ ) -> PaginatedResponseSignalWithToken:
1238
+ """Get Top Signals
1239
+
1240
+ This method can work in both sync and async modes based on the is_sync flag.
1241
+ """
1242
+ if self.is_sync:
1243
+ return self._get_top_signals_sync(
1244
+ page=page,
1245
+ page_size=page_size,
1246
+ since=since,
1247
+ _request_timeout=_request_timeout,
1248
+ _request_auth=_request_auth,
1249
+ _content_type=_content_type,
1250
+ _headers=_headers,
1251
+ _host_index=_host_index,
1252
+ )
1253
+
1254
+ else:
1255
+ return self._get_top_signals_async(
1256
+ page=page,
1257
+ page_size=page_size,
1258
+ since=since,
1259
+ _request_timeout=_request_timeout,
1260
+ _request_auth=_request_auth,
1261
+ _content_type=_content_type,
1262
+ _headers=_headers,
1263
+ _host_index=_host_index,
1264
+ )
1265
+
1266
+ @validate_call
1267
+ def get_top_signals_with_http_info(
1268
+ self,
1269
+ page: Annotated[
1270
+ Optional[StrictInt], Field(description="The current page number")
1271
+ ] = None,
1272
+ page_size: Annotated[
1273
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1274
+ Field(
1275
+ description="The number of items per page. Default is 10, max is 100."
1276
+ ),
1277
+ ] = None,
1278
+ since: Annotated[
1279
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1280
+ Field(
1281
+ description="Include signals from the last X hours. Default is 24 hours."
1282
+ ),
1283
+ ] = None,
1284
+ _request_timeout: Union[
1285
+ None,
1286
+ Annotated[StrictFloat, Field(gt=0)],
1287
+ Tuple[
1288
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1289
+ ],
1290
+ ] = None,
1291
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1292
+ _content_type: Optional[StrictStr] = None,
1293
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1294
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1295
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
1296
+ """Get Top Signals with HTTP info
1297
+
1298
+ This method can work in both sync and async modes based on the is_sync flag.
1299
+ """
1300
+ if self.is_sync:
1301
+ return self._get_top_signals_sync_with_http_info(
1302
+ page=page,
1303
+ page_size=page_size,
1304
+ since=since,
1305
+ _request_timeout=_request_timeout,
1306
+ _request_auth=_request_auth,
1307
+ _content_type=_content_type,
1308
+ _headers=_headers,
1309
+ _host_index=_host_index,
1310
+ )
1311
+
1312
+ else:
1313
+ return self._get_top_signals_async_with_http_info(
1314
+ page=page,
1315
+ page_size=page_size,
1316
+ since=since,
1317
+ _request_timeout=_request_timeout,
1318
+ _request_auth=_request_auth,
1319
+ _content_type=_content_type,
1320
+ _headers=_headers,
1321
+ _host_index=_host_index,
1322
+ )
1323
+
1324
+ @validate_call
1325
+ def get_top_signals_without_preload_content(
1326
+ self,
1327
+ page: Annotated[
1328
+ Optional[StrictInt], Field(description="The current page number")
1329
+ ] = None,
1330
+ page_size: Annotated[
1331
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1332
+ Field(
1333
+ description="The number of items per page. Default is 10, max is 100."
1334
+ ),
1335
+ ] = None,
1336
+ since: Annotated[
1337
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1338
+ Field(
1339
+ description="Include signals from the last X hours. Default is 24 hours."
1340
+ ),
1341
+ ] = None,
1342
+ _request_timeout: Union[
1343
+ None,
1344
+ Annotated[StrictFloat, Field(gt=0)],
1345
+ Tuple[
1346
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1347
+ ],
1348
+ ] = None,
1349
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1350
+ _content_type: Optional[StrictStr] = None,
1351
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1352
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1353
+ ) -> RESTResponseType:
1354
+ """Get Top Signals without preloading content
1355
+
1356
+ This method can work in both sync and async modes based on the is_sync flag.
1357
+ """
1358
+ if self.is_sync:
1359
+ return self._get_top_signals_sync_without_preload_content(
1360
+ page=page,
1361
+ page_size=page_size,
1362
+ since=since,
1363
+ _request_timeout=_request_timeout,
1364
+ _request_auth=_request_auth,
1365
+ _content_type=_content_type,
1366
+ _headers=_headers,
1367
+ _host_index=_host_index,
1368
+ )
1369
+
1370
+ else:
1371
+ return self._get_top_signals_async_without_preload_content(
1372
+ page=page,
1373
+ page_size=page_size,
1374
+ since=since,
1375
+ _request_timeout=_request_timeout,
1376
+ _request_auth=_request_auth,
1377
+ _content_type=_content_type,
1378
+ _headers=_headers,
1379
+ _host_index=_host_index,
1380
+ )
1381
+
1382
+ # Private async implementation methods
1383
+ @validate_call
1384
+ async def _get_top_signals_async(
1385
+ self,
1386
+ page: Annotated[
1387
+ Optional[StrictInt], Field(description="The current page number")
1388
+ ] = None,
1389
+ page_size: Annotated[
1390
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1391
+ Field(
1392
+ description="The number of items per page. Default is 10, max is 100."
1393
+ ),
1394
+ ] = None,
1395
+ since: Annotated[
1396
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1397
+ Field(
1398
+ description="Include signals from the last X hours. Default is 24 hours."
1399
+ ),
1400
+ ] = None,
1401
+ _request_timeout: Union[
1402
+ None,
1403
+ Annotated[StrictFloat, Field(gt=0)],
1404
+ Tuple[
1405
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1406
+ ],
1407
+ ] = None,
1408
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1409
+ _content_type: Optional[StrictStr] = None,
1410
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1411
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1412
+ ) -> PaginatedResponseSignalWithToken:
1413
+ """Get Top Signals
1414
+
1415
+ Get the top performing signals from the last X hours.The default is from the last 24 hours.
1416
+
1417
+ :param page: The current page number
1418
+ :type page: int
1419
+ :param page_size: The number of items per page. Default is 10, max is 100.
1420
+ :type page_size: int
1421
+ :param since: Include signals from the last X hours. Default is 24 hours.
1422
+ :type since: int
1423
+ :param _request_timeout: timeout setting for this request. If one
1424
+ number provided, it will be total request
1425
+ timeout. It can also be a pair (tuple) of
1426
+ (connection, read) timeouts.
1427
+ :type _request_timeout: int, tuple(int, int), optional
1428
+ :param _request_auth: set to override the auth_settings for an a single
1429
+ request; this effectively ignores the
1430
+ authentication in the spec for a single request.
1431
+ :type _request_auth: dict, optional
1432
+ :param _content_type: force content-type for the request.
1433
+ :type _content_type: str, Optional
1434
+ :param _headers: set to override the headers for a single
1435
+ request; this effectively ignores the headers
1436
+ in the spec for a single request.
1437
+ :type _headers: dict, optional
1438
+ :param _host_index: set to override the host_index for a single
1439
+ request; this effectively ignores the host_index
1440
+ in the spec for a single request.
1441
+ :type _host_index: int, optional
1442
+ :return: Returns the result object.
1443
+ """ # noqa: E501
1444
+
1445
+ _param = self._get_top_signals_serialize(
1446
+ page=page,
1447
+ page_size=page_size,
1448
+ since=since,
1449
+ _request_auth=_request_auth,
1450
+ _content_type=_content_type,
1451
+ _headers=_headers,
1452
+ _host_index=_host_index,
1453
+ )
1454
+
1455
+ _response_types_map: Dict[str, Optional[str]] = {
1456
+ "200": "PaginatedResponseSignalWithToken",
1457
+ }
1458
+ response_data = await self.api_client.call_api(
1459
+ *_param, _request_timeout=_request_timeout
1460
+ )
1461
+ await response_data.read()
1462
+ return self.api_client.response_deserialize(
1463
+ response_data=response_data,
1464
+ response_types_map=_response_types_map,
1465
+ ).data
1466
+
1467
+ @validate_call
1468
+ async def _get_top_signals_async_with_http_info(
1469
+ self,
1470
+ page: Annotated[
1471
+ Optional[StrictInt], Field(description="The current page number")
1472
+ ] = None,
1473
+ page_size: Annotated[
1474
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1475
+ Field(
1476
+ description="The number of items per page. Default is 10, max is 100."
1477
+ ),
1478
+ ] = None,
1479
+ since: Annotated[
1480
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1481
+ Field(
1482
+ description="Include signals from the last X hours. Default is 24 hours."
1483
+ ),
1484
+ ] = None,
1485
+ _request_timeout: Union[
1486
+ None,
1487
+ Annotated[StrictFloat, Field(gt=0)],
1488
+ Tuple[
1489
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1490
+ ],
1491
+ ] = None,
1492
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1493
+ _content_type: Optional[StrictStr] = None,
1494
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1495
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1496
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
1497
+ """Get Top Signals
1498
+
1499
+ Get the top performing signals from the last X hours.The default is from the last 24 hours.
1500
+
1501
+ :param page: The current page number
1502
+ :type page: int
1503
+ :param page_size: The number of items per page. Default is 10, max is 100.
1504
+ :type page_size: int
1505
+ :param since: Include signals from the last X hours. Default is 24 hours.
1506
+ :type since: int
1507
+ :param _request_timeout: timeout setting for this request. If one
1508
+ number provided, it will be total request
1509
+ timeout. It can also be a pair (tuple) of
1510
+ (connection, read) timeouts.
1511
+ :type _request_timeout: int, tuple(int, int), optional
1512
+ :param _request_auth: set to override the auth_settings for an a single
1513
+ request; this effectively ignores the
1514
+ authentication in the spec for a single request.
1515
+ :type _request_auth: dict, optional
1516
+ :param _content_type: force content-type for the request.
1517
+ :type _content_type: str, Optional
1518
+ :param _headers: set to override the headers for a single
1519
+ request; this effectively ignores the headers
1520
+ in the spec for a single request.
1521
+ :type _headers: dict, optional
1522
+ :param _host_index: set to override the host_index for a single
1523
+ request; this effectively ignores the host_index
1524
+ in the spec for a single request.
1525
+ :type _host_index: int, optional
1526
+ :return: Returns the result object.
1527
+ """ # noqa: E501
1528
+
1529
+ _param = self._get_top_signals_serialize(
1530
+ page=page,
1531
+ page_size=page_size,
1532
+ since=since,
1533
+ _request_auth=_request_auth,
1534
+ _content_type=_content_type,
1535
+ _headers=_headers,
1536
+ _host_index=_host_index,
1537
+ )
1538
+
1539
+ _response_types_map: Dict[str, Optional[str]] = {
1540
+ "200": "PaginatedResponseSignalWithToken",
1541
+ }
1542
+ response_data = await self.api_client.call_api(
1543
+ *_param, _request_timeout=_request_timeout
1544
+ )
1545
+ await response_data.read()
1546
+ return self.api_client.response_deserialize(
1547
+ response_data=response_data, response_types_map=_response_types_map
1548
+ )
1549
+
1550
+ @validate_call
1551
+ async def _get_top_signals_async_without_preload_content(
1552
+ self,
1553
+ page: Annotated[
1554
+ Optional[StrictInt], Field(description="The current page number")
1555
+ ] = None,
1556
+ page_size: Annotated[
1557
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1558
+ Field(
1559
+ description="The number of items per page. Default is 10, max is 100."
1560
+ ),
1561
+ ] = None,
1562
+ since: Annotated[
1563
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1564
+ Field(
1565
+ description="Include signals from the last X hours. Default is 24 hours."
1566
+ ),
1567
+ ] = None,
1568
+ _request_timeout: Union[
1569
+ None,
1570
+ Annotated[StrictFloat, Field(gt=0)],
1571
+ Tuple[
1572
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1573
+ ],
1574
+ ] = None,
1575
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1576
+ _content_type: Optional[StrictStr] = None,
1577
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1578
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1579
+ ) -> RESTResponseType:
1580
+ """Get Top Signals
1581
+
1582
+ Get the top performing signals from the last X hours.The default is from the last 24 hours.
1583
+
1584
+ :param page: The current page number
1585
+ :type page: int
1586
+ :param page_size: The number of items per page. Default is 10, max is 100.
1587
+ :type page_size: int
1588
+ :param since: Include signals from the last X hours. Default is 24 hours.
1589
+ :type since: int
1590
+ :param _request_timeout: timeout setting for this request. If one
1591
+ number provided, it will be total request
1592
+ timeout. It can also be a pair (tuple) of
1593
+ (connection, read) timeouts.
1594
+ :type _request_timeout: int, tuple(int, int), optional
1595
+ :param _request_auth: set to override the auth_settings for an a single
1596
+ request; this effectively ignores the
1597
+ authentication in the spec for a single request.
1598
+ :type _request_auth: dict, optional
1599
+ :param _content_type: force content-type for the request.
1600
+ :type _content_type: str, Optional
1601
+ :param _headers: set to override the headers for a single
1602
+ request; this effectively ignores the headers
1603
+ in the spec for a single request.
1604
+ :type _headers: dict, optional
1605
+ :param _host_index: set to override the host_index for a single
1606
+ request; this effectively ignores the host_index
1607
+ in the spec for a single request.
1608
+ :type _host_index: int, optional
1609
+ :return: Returns the result object.
1610
+ """ # noqa: E501
1611
+
1612
+ _param = self._get_top_signals_serialize(
1613
+ page=page,
1614
+ page_size=page_size,
1615
+ since=since,
1616
+ _request_auth=_request_auth,
1617
+ _content_type=_content_type,
1618
+ _headers=_headers,
1619
+ _host_index=_host_index,
1620
+ )
1621
+
1622
+ _response_types_map: Dict[str, Optional[str]] = {
1623
+ "200": "PaginatedResponseSignalWithToken",
1624
+ }
1625
+ response_data = await self.api_client.call_api(
1626
+ *_param, _request_timeout=_request_timeout
1627
+ )
1628
+ return response_data
1629
+
1630
+ # Private sync implementation methods
1631
+ @validate_call
1632
+ def _get_top_signals_sync(
1633
+ self,
1634
+ page: Annotated[
1635
+ Optional[StrictInt], Field(description="The current page number")
1636
+ ] = None,
1637
+ page_size: Annotated[
1638
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1639
+ Field(
1640
+ description="The number of items per page. Default is 10, max is 100."
1641
+ ),
1642
+ ] = None,
1643
+ since: Annotated[
1644
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1645
+ Field(
1646
+ description="Include signals from the last X hours. Default is 24 hours."
1647
+ ),
1648
+ ] = None,
1649
+ _request_timeout: Union[
1650
+ None,
1651
+ Annotated[StrictFloat, Field(gt=0)],
1652
+ Tuple[
1653
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1654
+ ],
1655
+ ] = None,
1656
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1657
+ _content_type: Optional[StrictStr] = None,
1658
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1659
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1660
+ ) -> PaginatedResponseSignalWithToken:
1661
+ """Synchronous version of get_top_signals"""
1662
+ return async_to_sync(self._get_top_signals_async)(
1663
+ page=page,
1664
+ page_size=page_size,
1665
+ since=since,
1666
+ _request_timeout=_request_timeout,
1667
+ _request_auth=_request_auth,
1668
+ _content_type=_content_type,
1669
+ _headers=_headers,
1670
+ _host_index=_host_index,
1671
+ )
1672
+
1673
+ @validate_call
1674
+ def _get_top_signals_sync_with_http_info(
1675
+ self,
1676
+ page: Annotated[
1677
+ Optional[StrictInt], Field(description="The current page number")
1678
+ ] = None,
1679
+ page_size: Annotated[
1680
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1681
+ Field(
1682
+ description="The number of items per page. Default is 10, max is 100."
1683
+ ),
1684
+ ] = None,
1685
+ since: Annotated[
1686
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1687
+ Field(
1688
+ description="Include signals from the last X hours. Default is 24 hours."
1689
+ ),
1690
+ ] = None,
1691
+ _request_timeout: Union[
1692
+ None,
1693
+ Annotated[StrictFloat, Field(gt=0)],
1694
+ Tuple[
1695
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1696
+ ],
1697
+ ] = None,
1698
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1699
+ _content_type: Optional[StrictStr] = None,
1700
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1701
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1702
+ ) -> ApiResponse[PaginatedResponseSignalWithToken]:
1703
+ """Synchronous version of get_top_signals_with_http_info"""
1704
+ return async_to_sync(self._get_top_signals_async_with_http_info)(
1705
+ page=page,
1706
+ page_size=page_size,
1707
+ since=since,
1708
+ _request_timeout=_request_timeout,
1709
+ _request_auth=_request_auth,
1710
+ _content_type=_content_type,
1711
+ _headers=_headers,
1712
+ _host_index=_host_index,
1713
+ )
1714
+
1715
+ @validate_call
1716
+ def _get_top_signals_sync_without_preload_content(
1717
+ self,
1718
+ page: Annotated[
1719
+ Optional[StrictInt], Field(description="The current page number")
1720
+ ] = None,
1721
+ page_size: Annotated[
1722
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
1723
+ Field(
1724
+ description="The number of items per page. Default is 10, max is 100."
1725
+ ),
1726
+ ] = None,
1727
+ since: Annotated[
1728
+ Optional[Annotated[int, Field(strict=True, ge=1)]],
1729
+ Field(
1730
+ description="Include signals from the last X hours. Default is 24 hours."
1731
+ ),
1732
+ ] = None,
1733
+ _request_timeout: Union[
1734
+ None,
1735
+ Annotated[StrictFloat, Field(gt=0)],
1736
+ Tuple[
1737
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1738
+ ],
1739
+ ] = None,
1740
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1741
+ _content_type: Optional[StrictStr] = None,
1742
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1743
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1744
+ ) -> RESTResponseType:
1745
+ """Synchronous version of get_top_signals_without_preload_content"""
1746
+ return async_to_sync(self._get_top_signals_async_without_preload_content)(
1747
+ page=page,
1748
+ page_size=page_size,
1749
+ since=since,
1750
+ _request_timeout=_request_timeout,
1751
+ _request_auth=_request_auth,
1752
+ _content_type=_content_type,
1753
+ _headers=_headers,
1754
+ _host_index=_host_index,
1755
+ )
1756
+
1757
+ def _get_top_signals_serialize(
1758
+ self,
1759
+ page,
1760
+ page_size,
1761
+ since,
1762
+ _request_auth,
1763
+ _content_type,
1764
+ _headers,
1765
+ _host_index,
1766
+ ) -> RequestSerialized:
1767
+
1768
+ _host = None
1769
+
1770
+ _collection_formats: Dict[str, str] = {}
1771
+
1772
+ _path_params: Dict[str, str] = {}
1773
+ _query_params: List[Tuple[str, str]] = []
1774
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1775
+ _form_params: List[Tuple[str, str]] = []
1776
+ _files: Dict[
1777
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1778
+ ] = {}
1779
+ _body_params: Optional[bytes] = None
1780
+
1781
+ # process the path parameters
1782
+ # process the query parameters
1783
+ if page is not None:
1784
+
1785
+ _query_params.append(("page", page))
1786
+
1787
+ if page_size is not None:
1788
+
1789
+ _query_params.append(("page_size", page_size))
1790
+
1791
+ if since is not None:
1792
+
1793
+ _query_params.append(("since", since))
1794
+
1795
+ # process the header parameters
1796
+ # process the form parameters
1797
+ # process the body parameter
1798
+
1799
+ # set the HTTP header `Accept`
1800
+ if "Accept" not in _header_params:
1801
+ _header_params["Accept"] = self.api_client.select_header_accept(
1802
+ ["application/json"]
1803
+ )
1804
+
1805
+ # authentication setting
1806
+ _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1807
+
1808
+ return self.api_client.param_serialize(
1809
+ method="GET",
1810
+ resource_path="/signals/top",
1811
+ path_params=_path_params,
1812
+ query_params=_query_params,
1813
+ header_params=_header_params,
1814
+ body=_body_params,
1815
+ post_params=_form_params,
1816
+ files=_files,
1817
+ auth_settings=_auth_settings,
1818
+ collection_formats=_collection_formats,
1819
+ _host=_host,
1820
+ _request_auth=_request_auth,
1821
+ )