crypticorn 2.17.0rc1__py3-none-any.whl → 2.17.0rc2__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 (86) hide show
  1. crypticorn/__init__.py +2 -2
  2. crypticorn/auth/client/api/admin_api.py +415 -13
  3. crypticorn/auth/client/api/auth_api.py +2622 -113
  4. crypticorn/auth/client/api/service_api.py +258 -7
  5. crypticorn/auth/client/api/user_api.py +2485 -270
  6. crypticorn/auth/client/api/wallet_api.py +1518 -77
  7. crypticorn/auth/client/models/create_api_key_request.py +2 -1
  8. crypticorn/auth/client/models/get_api_keys200_response_inner.py +2 -1
  9. crypticorn/auth/client/rest.py +23 -4
  10. crypticorn/auth/main.py +8 -5
  11. crypticorn/client.py +227 -59
  12. crypticorn/common/__init__.py +0 -1
  13. crypticorn/common/metrics.py +4 -6
  14. crypticorn/common/middleware.py +10 -5
  15. crypticorn/common/pagination.py +137 -18
  16. crypticorn/common/router/admin_router.py +1 -1
  17. crypticorn/common/utils.py +2 -1
  18. crypticorn/common/warnings.py +1 -0
  19. crypticorn/hive/client/api/admin_api.py +1234 -51
  20. crypticorn/hive/client/api/data_api.py +517 -13
  21. crypticorn/hive/client/api/models_api.py +1657 -83
  22. crypticorn/hive/client/api/status_api.py +415 -13
  23. crypticorn/hive/client/models/api_error_identifier.py +1 -1
  24. crypticorn/hive/client/rest.py +23 -4
  25. crypticorn/hive/main.py +99 -25
  26. crypticorn/klines/client/api/admin_api.py +1234 -51
  27. crypticorn/klines/client/api/change_in_timeframe_api.py +278 -7
  28. crypticorn/klines/client/api/funding_rates_api.py +324 -7
  29. crypticorn/klines/client/api/ohlcv_data_api.py +399 -7
  30. crypticorn/klines/client/api/status_api.py +415 -13
  31. crypticorn/klines/client/api/symbols_api.py +225 -7
  32. crypticorn/klines/client/api/udf_api.py +1393 -120
  33. crypticorn/klines/client/models/api_error_identifier.py +3 -1
  34. crypticorn/klines/client/rest.py +23 -4
  35. crypticorn/klines/main.py +89 -12
  36. crypticorn/metrics/client/api/admin_api.py +1234 -51
  37. crypticorn/metrics/client/api/exchanges_api.py +1405 -140
  38. crypticorn/metrics/client/api/indicators_api.py +640 -13
  39. crypticorn/metrics/client/api/logs_api.py +305 -7
  40. crypticorn/metrics/client/api/marketcap_api.py +1240 -60
  41. crypticorn/metrics/client/api/markets_api.py +352 -7
  42. crypticorn/metrics/client/api/quote_currencies_api.py +237 -7
  43. crypticorn/metrics/client/api/status_api.py +415 -13
  44. crypticorn/metrics/client/api/tokens_api.py +400 -13
  45. crypticorn/metrics/client/configuration.py +4 -2
  46. crypticorn/metrics/client/rest.py +23 -4
  47. crypticorn/metrics/main.py +113 -19
  48. crypticorn/pay/client/api/admin_api.py +1720 -126
  49. crypticorn/pay/client/api/now_payments_api.py +1013 -42
  50. crypticorn/pay/client/api/payments_api.py +580 -13
  51. crypticorn/pay/client/api/products_api.py +915 -25
  52. crypticorn/pay/client/api/status_api.py +415 -13
  53. crypticorn/pay/client/configuration.py +2 -2
  54. crypticorn/pay/client/models/api_error_identifier.py +7 -7
  55. crypticorn/pay/client/models/scope.py +1 -0
  56. crypticorn/pay/client/rest.py +23 -4
  57. crypticorn/pay/main.py +10 -6
  58. crypticorn/trade/client/__init__.py +2 -1
  59. crypticorn/trade/client/api/__init__.py +0 -1
  60. crypticorn/trade/client/api/admin_api.py +1718 -123
  61. crypticorn/trade/client/api/api_keys_api.py +1596 -103
  62. crypticorn/trade/client/api/bots_api.py +1106 -47
  63. crypticorn/trade/client/api/exchanges_api.py +592 -19
  64. crypticorn/trade/client/api/notifications_api.py +1340 -112
  65. crypticorn/trade/client/api/orders_api.py +240 -7
  66. crypticorn/trade/client/api/status_api.py +415 -13
  67. crypticorn/trade/client/api/strategies_api.py +1170 -69
  68. crypticorn/trade/client/api/trading_actions_api.py +650 -19
  69. crypticorn/trade/client/models/__init__.py +2 -0
  70. crypticorn/trade/client/models/exchange.py +6 -1
  71. crypticorn/trade/client/models/exchange_key_balance.py +111 -0
  72. crypticorn/trade/client/models/futures_balance.py +27 -25
  73. crypticorn/trade/client/models/spot_balance.py +110 -0
  74. crypticorn/trade/client/models/strategy.py +5 -3
  75. crypticorn/trade/client/models/strategy_create.py +6 -4
  76. crypticorn/trade/client/models/strategy_exchange_info.py +16 -4
  77. crypticorn/trade/client/models/strategy_update.py +2 -2
  78. crypticorn/trade/client/rest.py +23 -4
  79. crypticorn/trade/main.py +15 -12
  80. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/METADATA +64 -20
  81. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/RECORD +85 -84
  82. crypticorn/trade/client/api/futures_trading_panel_api.py +0 -1285
  83. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/WHEEL +0 -0
  84. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/entry_points.txt +0 -0
  85. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/licenses/LICENSE +0 -0
  86. {crypticorn-2.17.0rc1.dist-info → crypticorn-2.17.0rc2.dist-info}/top_level.txt +0 -0
@@ -30,6 +30,24 @@ from crypticorn.metrics.client.api_client import ApiClient, RequestSerialized
30
30
  from crypticorn.metrics.client.api_response import ApiResponse
31
31
  from crypticorn.metrics.client.rest import RESTResponseType
32
32
 
33
+ # Import async_to_sync for sync methods
34
+ try:
35
+ from asgiref.sync import async_to_sync
36
+
37
+ _HAS_ASGIREF = True
38
+ except ImportError:
39
+ _HAS_ASGIREF = False
40
+
41
+ def async_to_sync(async_func):
42
+ """Fallback decorator that raises an error if asgiref is not available."""
43
+
44
+ def wrapper(*args, **kwargs):
45
+ raise ImportError(
46
+ "asgiref is required for sync methods. Install with: pip install asgiref"
47
+ )
48
+
49
+ return wrapper
50
+
33
51
 
34
52
  class MarketcapApi:
35
53
  """NOTE: This class is auto generated by OpenAPI Generator
@@ -38,13 +56,144 @@ class MarketcapApi:
38
56
  Do not edit the class manually.
39
57
  """
40
58
 
41
- def __init__(self, api_client=None) -> None:
59
+ def __init__(self, api_client=None, is_sync: bool = False) -> None:
42
60
  if api_client is None:
43
61
  api_client = ApiClient.get_default()
44
62
  self.api_client = api_client
63
+ self.is_sync = is_sync
64
+
65
+ @validate_call
66
+ def get_current_marketcap(
67
+ self,
68
+ limit: Annotated[
69
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
70
+ Field(description="Number of top symbols to fetch (1-100)"),
71
+ ] = None,
72
+ _request_timeout: Union[
73
+ None,
74
+ Annotated[StrictFloat, Field(gt=0)],
75
+ Tuple[
76
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
77
+ ],
78
+ ] = None,
79
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
80
+ _content_type: Optional[StrictStr] = None,
81
+ _headers: Optional[Dict[StrictStr, Any]] = None,
82
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
83
+ ) -> List[Dict[str, object]]:
84
+ """Get Current Marketcap
85
+
86
+ This method can work in both sync and async modes based on the is_sync flag.
87
+ """
88
+ if self.is_sync:
89
+ return self._get_current_marketcap_sync(
90
+ limit=limit,
91
+ _request_timeout=_request_timeout,
92
+ _request_auth=_request_auth,
93
+ _content_type=_content_type,
94
+ _headers=_headers,
95
+ _host_index=_host_index,
96
+ )
97
+
98
+ else:
99
+ return self._get_current_marketcap_async(
100
+ limit=limit,
101
+ _request_timeout=_request_timeout,
102
+ _request_auth=_request_auth,
103
+ _content_type=_content_type,
104
+ _headers=_headers,
105
+ _host_index=_host_index,
106
+ )
107
+
108
+ @validate_call
109
+ def get_current_marketcap_with_http_info(
110
+ self,
111
+ limit: Annotated[
112
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
113
+ Field(description="Number of top symbols to fetch (1-100)"),
114
+ ] = None,
115
+ _request_timeout: Union[
116
+ None,
117
+ Annotated[StrictFloat, Field(gt=0)],
118
+ Tuple[
119
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
120
+ ],
121
+ ] = None,
122
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
123
+ _content_type: Optional[StrictStr] = None,
124
+ _headers: Optional[Dict[StrictStr, Any]] = None,
125
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
126
+ ) -> ApiResponse[List[Dict[str, object]]]:
127
+ """Get Current Marketcap with HTTP info
128
+
129
+ This method can work in both sync and async modes based on the is_sync flag.
130
+ """
131
+ if self.is_sync:
132
+ return self._get_current_marketcap_sync_with_http_info(
133
+ limit=limit,
134
+ _request_timeout=_request_timeout,
135
+ _request_auth=_request_auth,
136
+ _content_type=_content_type,
137
+ _headers=_headers,
138
+ _host_index=_host_index,
139
+ )
140
+
141
+ else:
142
+ return self._get_current_marketcap_async_with_http_info(
143
+ limit=limit,
144
+ _request_timeout=_request_timeout,
145
+ _request_auth=_request_auth,
146
+ _content_type=_content_type,
147
+ _headers=_headers,
148
+ _host_index=_host_index,
149
+ )
150
+
151
+ @validate_call
152
+ def get_current_marketcap_without_preload_content(
153
+ self,
154
+ limit: Annotated[
155
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
156
+ Field(description="Number of top symbols to fetch (1-100)"),
157
+ ] = None,
158
+ _request_timeout: Union[
159
+ None,
160
+ Annotated[StrictFloat, Field(gt=0)],
161
+ Tuple[
162
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
163
+ ],
164
+ ] = None,
165
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
166
+ _content_type: Optional[StrictStr] = None,
167
+ _headers: Optional[Dict[StrictStr, Any]] = None,
168
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
169
+ ) -> RESTResponseType:
170
+ """Get Current Marketcap without preloading content
171
+
172
+ This method can work in both sync and async modes based on the is_sync flag.
173
+ """
174
+ if self.is_sync:
175
+ return self._get_current_marketcap_sync_without_preload_content(
176
+ limit=limit,
177
+ _request_timeout=_request_timeout,
178
+ _request_auth=_request_auth,
179
+ _content_type=_content_type,
180
+ _headers=_headers,
181
+ _host_index=_host_index,
182
+ )
45
183
 
184
+ else:
185
+ return self._get_current_marketcap_async_without_preload_content(
186
+ limit=limit,
187
+ _request_timeout=_request_timeout,
188
+ _request_auth=_request_auth,
189
+ _content_type=_content_type,
190
+ _headers=_headers,
191
+ _host_index=_host_index,
192
+ )
193
+
194
+ # Private async implementation methods
46
195
  @validate_call
47
- async def get_current_marketcap(
196
+ async def _get_current_marketcap_async(
48
197
  self,
49
198
  limit: Annotated[
50
199
  Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
@@ -111,7 +260,7 @@ class MarketcapApi:
111
260
  ).data
112
261
 
113
262
  @validate_call
114
- async def get_current_marketcap_with_http_info(
263
+ async def _get_current_marketcap_async_with_http_info(
115
264
  self,
116
265
  limit: Annotated[
117
266
  Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
@@ -173,12 +322,11 @@ class MarketcapApi:
173
322
  )
174
323
  await response_data.read()
175
324
  return self.api_client.response_deserialize(
176
- response_data=response_data,
177
- response_types_map=_response_types_map,
325
+ response_data=response_data, response_types_map=_response_types_map
178
326
  )
179
327
 
180
328
  @validate_call
181
- async def get_current_marketcap_without_preload_content(
329
+ async def _get_current_marketcap_async_without_preload_content(
182
330
  self,
183
331
  limit: Annotated[
184
332
  Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
@@ -238,7 +386,95 @@ class MarketcapApi:
238
386
  response_data = await self.api_client.call_api(
239
387
  *_param, _request_timeout=_request_timeout
240
388
  )
241
- return response_data.response
389
+ return response_data
390
+
391
+ # Private sync implementation methods
392
+ @validate_call
393
+ def _get_current_marketcap_sync(
394
+ self,
395
+ limit: Annotated[
396
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
397
+ Field(description="Number of top symbols to fetch (1-100)"),
398
+ ] = None,
399
+ _request_timeout: Union[
400
+ None,
401
+ Annotated[StrictFloat, Field(gt=0)],
402
+ Tuple[
403
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
404
+ ],
405
+ ] = None,
406
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
407
+ _content_type: Optional[StrictStr] = None,
408
+ _headers: Optional[Dict[StrictStr, Any]] = None,
409
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
410
+ ) -> List[Dict[str, object]]:
411
+ """Synchronous version of get_current_marketcap"""
412
+ return async_to_sync(self._get_current_marketcap_async)(
413
+ limit=limit,
414
+ _request_timeout=_request_timeout,
415
+ _request_auth=_request_auth,
416
+ _content_type=_content_type,
417
+ _headers=_headers,
418
+ _host_index=_host_index,
419
+ )
420
+
421
+ @validate_call
422
+ def _get_current_marketcap_sync_with_http_info(
423
+ self,
424
+ limit: Annotated[
425
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
426
+ Field(description="Number of top symbols to fetch (1-100)"),
427
+ ] = None,
428
+ _request_timeout: Union[
429
+ None,
430
+ Annotated[StrictFloat, Field(gt=0)],
431
+ Tuple[
432
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
433
+ ],
434
+ ] = None,
435
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
436
+ _content_type: Optional[StrictStr] = None,
437
+ _headers: Optional[Dict[StrictStr, Any]] = None,
438
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
439
+ ) -> ApiResponse[List[Dict[str, object]]]:
440
+ """Synchronous version of get_current_marketcap_with_http_info"""
441
+ return async_to_sync(self._get_current_marketcap_async_with_http_info)(
442
+ limit=limit,
443
+ _request_timeout=_request_timeout,
444
+ _request_auth=_request_auth,
445
+ _content_type=_content_type,
446
+ _headers=_headers,
447
+ _host_index=_host_index,
448
+ )
449
+
450
+ @validate_call
451
+ def _get_current_marketcap_sync_without_preload_content(
452
+ self,
453
+ limit: Annotated[
454
+ Optional[Annotated[int, Field(le=100, strict=True, ge=1)]],
455
+ Field(description="Number of top symbols to fetch (1-100)"),
456
+ ] = None,
457
+ _request_timeout: Union[
458
+ None,
459
+ Annotated[StrictFloat, Field(gt=0)],
460
+ Tuple[
461
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
462
+ ],
463
+ ] = None,
464
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
465
+ _content_type: Optional[StrictStr] = None,
466
+ _headers: Optional[Dict[StrictStr, Any]] = None,
467
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
468
+ ) -> RESTResponseType:
469
+ """Synchronous version of get_current_marketcap_without_preload_content"""
470
+ return async_to_sync(self._get_current_marketcap_async_without_preload_content)(
471
+ limit=limit,
472
+ _request_timeout=_request_timeout,
473
+ _request_auth=_request_auth,
474
+ _content_type=_content_type,
475
+ _headers=_headers,
476
+ _host_index=_host_index,
477
+ )
242
478
 
243
479
  def _get_current_marketcap_serialize(
244
480
  self,
@@ -297,7 +533,149 @@ class MarketcapApi:
297
533
  )
298
534
 
299
535
  @validate_call
300
- async def get_marketcap_between_timestamps(
536
+ def get_marketcap_between_timestamps(
537
+ self,
538
+ start_timestamp: Annotated[
539
+ Optional[StrictInt], Field(description="Start timestamp")
540
+ ] = None,
541
+ end_timestamp: Annotated[
542
+ Optional[StrictInt], Field(description="End timestamp")
543
+ ] = None,
544
+ _request_timeout: Union[
545
+ None,
546
+ Annotated[StrictFloat, Field(gt=0)],
547
+ Tuple[
548
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
549
+ ],
550
+ ] = None,
551
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
552
+ _content_type: Optional[StrictStr] = None,
553
+ _headers: Optional[Dict[StrictStr, Any]] = None,
554
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
555
+ ) -> List[MarketcapRanking]:
556
+ """Get Marketcap Between Timestamps
557
+
558
+ This method can work in both sync and async modes based on the is_sync flag.
559
+ """
560
+ if self.is_sync:
561
+ return self._get_marketcap_between_timestamps_sync(
562
+ start_timestamp=start_timestamp,
563
+ end_timestamp=end_timestamp,
564
+ _request_timeout=_request_timeout,
565
+ _request_auth=_request_auth,
566
+ _content_type=_content_type,
567
+ _headers=_headers,
568
+ _host_index=_host_index,
569
+ )
570
+
571
+ else:
572
+ return self._get_marketcap_between_timestamps_async(
573
+ start_timestamp=start_timestamp,
574
+ end_timestamp=end_timestamp,
575
+ _request_timeout=_request_timeout,
576
+ _request_auth=_request_auth,
577
+ _content_type=_content_type,
578
+ _headers=_headers,
579
+ _host_index=_host_index,
580
+ )
581
+
582
+ @validate_call
583
+ def get_marketcap_between_timestamps_with_http_info(
584
+ self,
585
+ start_timestamp: Annotated[
586
+ Optional[StrictInt], Field(description="Start timestamp")
587
+ ] = None,
588
+ end_timestamp: Annotated[
589
+ Optional[StrictInt], Field(description="End timestamp")
590
+ ] = None,
591
+ _request_timeout: Union[
592
+ None,
593
+ Annotated[StrictFloat, Field(gt=0)],
594
+ Tuple[
595
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
596
+ ],
597
+ ] = None,
598
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
599
+ _content_type: Optional[StrictStr] = None,
600
+ _headers: Optional[Dict[StrictStr, Any]] = None,
601
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
602
+ ) -> ApiResponse[List[MarketcapRanking]]:
603
+ """Get Marketcap Between Timestamps with HTTP info
604
+
605
+ This method can work in both sync and async modes based on the is_sync flag.
606
+ """
607
+ if self.is_sync:
608
+ return self._get_marketcap_between_timestamps_sync_with_http_info(
609
+ start_timestamp=start_timestamp,
610
+ end_timestamp=end_timestamp,
611
+ _request_timeout=_request_timeout,
612
+ _request_auth=_request_auth,
613
+ _content_type=_content_type,
614
+ _headers=_headers,
615
+ _host_index=_host_index,
616
+ )
617
+
618
+ else:
619
+ return self._get_marketcap_between_timestamps_async_with_http_info(
620
+ start_timestamp=start_timestamp,
621
+ end_timestamp=end_timestamp,
622
+ _request_timeout=_request_timeout,
623
+ _request_auth=_request_auth,
624
+ _content_type=_content_type,
625
+ _headers=_headers,
626
+ _host_index=_host_index,
627
+ )
628
+
629
+ @validate_call
630
+ def get_marketcap_between_timestamps_without_preload_content(
631
+ self,
632
+ start_timestamp: Annotated[
633
+ Optional[StrictInt], Field(description="Start timestamp")
634
+ ] = None,
635
+ end_timestamp: Annotated[
636
+ Optional[StrictInt], Field(description="End timestamp")
637
+ ] = None,
638
+ _request_timeout: Union[
639
+ None,
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Tuple[
642
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
643
+ ],
644
+ ] = None,
645
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
646
+ _content_type: Optional[StrictStr] = None,
647
+ _headers: Optional[Dict[StrictStr, Any]] = None,
648
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
649
+ ) -> RESTResponseType:
650
+ """Get Marketcap Between Timestamps without preloading content
651
+
652
+ This method can work in both sync and async modes based on the is_sync flag.
653
+ """
654
+ if self.is_sync:
655
+ return self._get_marketcap_between_timestamps_sync_without_preload_content(
656
+ start_timestamp=start_timestamp,
657
+ end_timestamp=end_timestamp,
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_marketcap_between_timestamps_async_without_preload_content(
667
+ start_timestamp=start_timestamp,
668
+ end_timestamp=end_timestamp,
669
+ _request_timeout=_request_timeout,
670
+ _request_auth=_request_auth,
671
+ _content_type=_content_type,
672
+ _headers=_headers,
673
+ _host_index=_host_index,
674
+ )
675
+
676
+ # Private async implementation methods
677
+ @validate_call
678
+ async def _get_marketcap_between_timestamps_async(
301
679
  self,
302
680
  start_timestamp: Annotated[
303
681
  Optional[StrictInt], Field(description="Start timestamp")
@@ -369,7 +747,7 @@ class MarketcapApi:
369
747
  ).data
370
748
 
371
749
  @validate_call
372
- async def get_marketcap_between_timestamps_with_http_info(
750
+ async def _get_marketcap_between_timestamps_async_with_http_info(
373
751
  self,
374
752
  start_timestamp: Annotated[
375
753
  Optional[StrictInt], Field(description="Start timestamp")
@@ -436,12 +814,11 @@ class MarketcapApi:
436
814
  )
437
815
  await response_data.read()
438
816
  return self.api_client.response_deserialize(
439
- response_data=response_data,
440
- response_types_map=_response_types_map,
817
+ response_data=response_data, response_types_map=_response_types_map
441
818
  )
442
819
 
443
820
  @validate_call
444
- async def get_marketcap_between_timestamps_without_preload_content(
821
+ async def _get_marketcap_between_timestamps_async_without_preload_content(
445
822
  self,
446
823
  start_timestamp: Annotated[
447
824
  Optional[StrictInt], Field(description="Start timestamp")
@@ -506,37 +883,138 @@ class MarketcapApi:
506
883
  response_data = await self.api_client.call_api(
507
884
  *_param, _request_timeout=_request_timeout
508
885
  )
509
- return response_data.response
886
+ return response_data
510
887
 
511
- def _get_marketcap_between_timestamps_serialize(
888
+ # Private sync implementation methods
889
+ @validate_call
890
+ def _get_marketcap_between_timestamps_sync(
512
891
  self,
513
- start_timestamp,
514
- end_timestamp,
515
- _request_auth,
516
- _content_type,
517
- _headers,
518
- _host_index,
519
- ) -> RequestSerialized:
520
-
521
- _host = None
522
-
523
- _collection_formats: Dict[str, str] = {}
524
-
525
- _path_params: Dict[str, str] = {}
526
- _query_params: List[Tuple[str, str]] = []
527
- _header_params: Dict[str, Optional[str]] = _headers or {}
528
- _form_params: List[Tuple[str, str]] = []
529
- _files: Dict[
530
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
531
- ] = {}
532
- _body_params: Optional[bytes] = None
533
-
534
- # process the path parameters
535
- # process the query parameters
536
- if start_timestamp is not None:
537
-
538
- _query_params.append(("start_timestamp", start_timestamp))
539
-
892
+ start_timestamp: Annotated[
893
+ Optional[StrictInt], Field(description="Start timestamp")
894
+ ] = None,
895
+ end_timestamp: Annotated[
896
+ Optional[StrictInt], Field(description="End timestamp")
897
+ ] = None,
898
+ _request_timeout: Union[
899
+ None,
900
+ Annotated[StrictFloat, Field(gt=0)],
901
+ Tuple[
902
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
903
+ ],
904
+ ] = None,
905
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
906
+ _content_type: Optional[StrictStr] = None,
907
+ _headers: Optional[Dict[StrictStr, Any]] = None,
908
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
909
+ ) -> List[MarketcapRanking]:
910
+ """Synchronous version of get_marketcap_between_timestamps"""
911
+ return async_to_sync(self._get_marketcap_between_timestamps_async)(
912
+ start_timestamp=start_timestamp,
913
+ end_timestamp=end_timestamp,
914
+ _request_timeout=_request_timeout,
915
+ _request_auth=_request_auth,
916
+ _content_type=_content_type,
917
+ _headers=_headers,
918
+ _host_index=_host_index,
919
+ )
920
+
921
+ @validate_call
922
+ def _get_marketcap_between_timestamps_sync_with_http_info(
923
+ self,
924
+ start_timestamp: Annotated[
925
+ Optional[StrictInt], Field(description="Start timestamp")
926
+ ] = None,
927
+ end_timestamp: Annotated[
928
+ Optional[StrictInt], Field(description="End timestamp")
929
+ ] = None,
930
+ _request_timeout: Union[
931
+ None,
932
+ Annotated[StrictFloat, Field(gt=0)],
933
+ Tuple[
934
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
935
+ ],
936
+ ] = None,
937
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
938
+ _content_type: Optional[StrictStr] = None,
939
+ _headers: Optional[Dict[StrictStr, Any]] = None,
940
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
941
+ ) -> ApiResponse[List[MarketcapRanking]]:
942
+ """Synchronous version of get_marketcap_between_timestamps_with_http_info"""
943
+ return async_to_sync(
944
+ self._get_marketcap_between_timestamps_async_with_http_info
945
+ )(
946
+ start_timestamp=start_timestamp,
947
+ end_timestamp=end_timestamp,
948
+ _request_timeout=_request_timeout,
949
+ _request_auth=_request_auth,
950
+ _content_type=_content_type,
951
+ _headers=_headers,
952
+ _host_index=_host_index,
953
+ )
954
+
955
+ @validate_call
956
+ def _get_marketcap_between_timestamps_sync_without_preload_content(
957
+ self,
958
+ start_timestamp: Annotated[
959
+ Optional[StrictInt], Field(description="Start timestamp")
960
+ ] = None,
961
+ end_timestamp: Annotated[
962
+ Optional[StrictInt], Field(description="End timestamp")
963
+ ] = None,
964
+ _request_timeout: Union[
965
+ None,
966
+ Annotated[StrictFloat, Field(gt=0)],
967
+ Tuple[
968
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
969
+ ],
970
+ ] = None,
971
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
972
+ _content_type: Optional[StrictStr] = None,
973
+ _headers: Optional[Dict[StrictStr, Any]] = None,
974
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
975
+ ) -> RESTResponseType:
976
+ """Synchronous version of get_marketcap_between_timestamps_without_preload_content"""
977
+ return async_to_sync(
978
+ self._get_marketcap_between_timestamps_async_without_preload_content
979
+ )(
980
+ start_timestamp=start_timestamp,
981
+ end_timestamp=end_timestamp,
982
+ _request_timeout=_request_timeout,
983
+ _request_auth=_request_auth,
984
+ _content_type=_content_type,
985
+ _headers=_headers,
986
+ _host_index=_host_index,
987
+ )
988
+
989
+ def _get_marketcap_between_timestamps_serialize(
990
+ self,
991
+ start_timestamp,
992
+ end_timestamp,
993
+ _request_auth,
994
+ _content_type,
995
+ _headers,
996
+ _host_index,
997
+ ) -> RequestSerialized:
998
+
999
+ _host = None
1000
+
1001
+ _collection_formats: Dict[str, str] = {}
1002
+
1003
+ _path_params: Dict[str, str] = {}
1004
+ _query_params: List[Tuple[str, str]] = []
1005
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1006
+ _form_params: List[Tuple[str, str]] = []
1007
+ _files: Dict[
1008
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1009
+ ] = {}
1010
+ _body_params: Optional[bytes] = None
1011
+
1012
+ # process the path parameters
1013
+ # process the query parameters
1014
+ if start_timestamp is not None:
1015
+
1016
+ _query_params.append(("start_timestamp", start_timestamp))
1017
+
540
1018
  if end_timestamp is not None:
541
1019
 
542
1020
  _query_params.append(("end_timestamp", end_timestamp))
@@ -570,7 +1048,215 @@ class MarketcapApi:
570
1048
  )
571
1049
 
572
1050
  @validate_call
573
- async def get_marketcap_symbols(
1051
+ def get_marketcap_symbols(
1052
+ self,
1053
+ start_timestamp: Annotated[
1054
+ Optional[StrictInt], Field(description="Start timestamp")
1055
+ ] = None,
1056
+ end_timestamp: Annotated[
1057
+ Optional[StrictInt], Field(description="End timestamp")
1058
+ ] = None,
1059
+ interval: Annotated[
1060
+ Optional[StrictStr],
1061
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1062
+ ] = None,
1063
+ market: Annotated[
1064
+ Optional[MarketType],
1065
+ Field(
1066
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1067
+ ),
1068
+ ] = None,
1069
+ exchange: Annotated[
1070
+ Optional[StrictStr],
1071
+ Field(
1072
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1073
+ ),
1074
+ ] = None,
1075
+ _request_timeout: Union[
1076
+ None,
1077
+ Annotated[StrictFloat, Field(gt=0)],
1078
+ Tuple[
1079
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1080
+ ],
1081
+ ] = None,
1082
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1083
+ _content_type: Optional[StrictStr] = None,
1084
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1085
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1086
+ ) -> List[MarketcapSymbolRanking]:
1087
+ """Get Symbols Marketcap Between Timestamps
1088
+
1089
+ This method can work in both sync and async modes based on the is_sync flag.
1090
+ """
1091
+ if self.is_sync:
1092
+ return self._get_marketcap_symbols_sync(
1093
+ start_timestamp=start_timestamp,
1094
+ end_timestamp=end_timestamp,
1095
+ interval=interval,
1096
+ market=market,
1097
+ exchange=exchange,
1098
+ _request_timeout=_request_timeout,
1099
+ _request_auth=_request_auth,
1100
+ _content_type=_content_type,
1101
+ _headers=_headers,
1102
+ _host_index=_host_index,
1103
+ )
1104
+
1105
+ else:
1106
+ return self._get_marketcap_symbols_async(
1107
+ start_timestamp=start_timestamp,
1108
+ end_timestamp=end_timestamp,
1109
+ interval=interval,
1110
+ market=market,
1111
+ exchange=exchange,
1112
+ _request_timeout=_request_timeout,
1113
+ _request_auth=_request_auth,
1114
+ _content_type=_content_type,
1115
+ _headers=_headers,
1116
+ _host_index=_host_index,
1117
+ )
1118
+
1119
+ @validate_call
1120
+ def get_marketcap_symbols_with_http_info(
1121
+ self,
1122
+ start_timestamp: Annotated[
1123
+ Optional[StrictInt], Field(description="Start timestamp")
1124
+ ] = None,
1125
+ end_timestamp: Annotated[
1126
+ Optional[StrictInt], Field(description="End timestamp")
1127
+ ] = None,
1128
+ interval: Annotated[
1129
+ Optional[StrictStr],
1130
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1131
+ ] = None,
1132
+ market: Annotated[
1133
+ Optional[MarketType],
1134
+ Field(
1135
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1136
+ ),
1137
+ ] = None,
1138
+ exchange: Annotated[
1139
+ Optional[StrictStr],
1140
+ Field(
1141
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1142
+ ),
1143
+ ] = None,
1144
+ _request_timeout: Union[
1145
+ None,
1146
+ Annotated[StrictFloat, Field(gt=0)],
1147
+ Tuple[
1148
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1149
+ ],
1150
+ ] = None,
1151
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1152
+ _content_type: Optional[StrictStr] = None,
1153
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1154
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1155
+ ) -> ApiResponse[List[MarketcapSymbolRanking]]:
1156
+ """Get Symbols Marketcap Between Timestamps with HTTP info
1157
+
1158
+ This method can work in both sync and async modes based on the is_sync flag.
1159
+ """
1160
+ if self.is_sync:
1161
+ return self._get_marketcap_symbols_sync_with_http_info(
1162
+ start_timestamp=start_timestamp,
1163
+ end_timestamp=end_timestamp,
1164
+ interval=interval,
1165
+ market=market,
1166
+ exchange=exchange,
1167
+ _request_timeout=_request_timeout,
1168
+ _request_auth=_request_auth,
1169
+ _content_type=_content_type,
1170
+ _headers=_headers,
1171
+ _host_index=_host_index,
1172
+ )
1173
+
1174
+ else:
1175
+ return self._get_marketcap_symbols_async_with_http_info(
1176
+ start_timestamp=start_timestamp,
1177
+ end_timestamp=end_timestamp,
1178
+ interval=interval,
1179
+ market=market,
1180
+ exchange=exchange,
1181
+ _request_timeout=_request_timeout,
1182
+ _request_auth=_request_auth,
1183
+ _content_type=_content_type,
1184
+ _headers=_headers,
1185
+ _host_index=_host_index,
1186
+ )
1187
+
1188
+ @validate_call
1189
+ def get_marketcap_symbols_without_preload_content(
1190
+ self,
1191
+ start_timestamp: Annotated[
1192
+ Optional[StrictInt], Field(description="Start timestamp")
1193
+ ] = None,
1194
+ end_timestamp: Annotated[
1195
+ Optional[StrictInt], Field(description="End timestamp")
1196
+ ] = None,
1197
+ interval: Annotated[
1198
+ Optional[StrictStr],
1199
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1200
+ ] = None,
1201
+ market: Annotated[
1202
+ Optional[MarketType],
1203
+ Field(
1204
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1205
+ ),
1206
+ ] = None,
1207
+ exchange: Annotated[
1208
+ Optional[StrictStr],
1209
+ Field(
1210
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1211
+ ),
1212
+ ] = None,
1213
+ _request_timeout: Union[
1214
+ None,
1215
+ Annotated[StrictFloat, Field(gt=0)],
1216
+ Tuple[
1217
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1218
+ ],
1219
+ ] = None,
1220
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1221
+ _content_type: Optional[StrictStr] = None,
1222
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1223
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1224
+ ) -> RESTResponseType:
1225
+ """Get Symbols Marketcap Between Timestamps without preloading content
1226
+
1227
+ This method can work in both sync and async modes based on the is_sync flag.
1228
+ """
1229
+ if self.is_sync:
1230
+ return self._get_marketcap_symbols_sync_without_preload_content(
1231
+ start_timestamp=start_timestamp,
1232
+ end_timestamp=end_timestamp,
1233
+ interval=interval,
1234
+ market=market,
1235
+ exchange=exchange,
1236
+ _request_timeout=_request_timeout,
1237
+ _request_auth=_request_auth,
1238
+ _content_type=_content_type,
1239
+ _headers=_headers,
1240
+ _host_index=_host_index,
1241
+ )
1242
+
1243
+ else:
1244
+ return self._get_marketcap_symbols_async_without_preload_content(
1245
+ start_timestamp=start_timestamp,
1246
+ end_timestamp=end_timestamp,
1247
+ interval=interval,
1248
+ market=market,
1249
+ exchange=exchange,
1250
+ _request_timeout=_request_timeout,
1251
+ _request_auth=_request_auth,
1252
+ _content_type=_content_type,
1253
+ _headers=_headers,
1254
+ _host_index=_host_index,
1255
+ )
1256
+
1257
+ # Private async implementation methods
1258
+ @validate_call
1259
+ async def _get_marketcap_symbols_async(
574
1260
  self,
575
1261
  start_timestamp: Annotated[
576
1262
  Optional[StrictInt], Field(description="Start timestamp")
@@ -667,7 +1353,7 @@ class MarketcapApi:
667
1353
  ).data
668
1354
 
669
1355
  @validate_call
670
- async def get_marketcap_symbols_with_http_info(
1356
+ async def _get_marketcap_symbols_async_with_http_info(
671
1357
  self,
672
1358
  start_timestamp: Annotated[
673
1359
  Optional[StrictInt], Field(description="Start timestamp")
@@ -759,12 +1445,11 @@ class MarketcapApi:
759
1445
  )
760
1446
  await response_data.read()
761
1447
  return self.api_client.response_deserialize(
762
- response_data=response_data,
763
- response_types_map=_response_types_map,
1448
+ response_data=response_data, response_types_map=_response_types_map
764
1449
  )
765
1450
 
766
1451
  @validate_call
767
- async def get_marketcap_symbols_without_preload_content(
1452
+ async def _get_marketcap_symbols_async_without_preload_content(
768
1453
  self,
769
1454
  start_timestamp: Annotated[
770
1455
  Optional[StrictInt], Field(description="Start timestamp")
@@ -848,14 +1533,168 @@ class MarketcapApi:
848
1533
  _host_index=_host_index,
849
1534
  )
850
1535
 
851
- _response_types_map: Dict[str, Optional[str]] = {
852
- "200": "List[MarketcapSymbolRanking]",
853
- }
854
- response_data = await self.api_client.call_api(
855
- *_param, _request_timeout=_request_timeout
856
- )
857
- return response_data.response
858
-
1536
+ _response_types_map: Dict[str, Optional[str]] = {
1537
+ "200": "List[MarketcapSymbolRanking]",
1538
+ }
1539
+ response_data = await self.api_client.call_api(
1540
+ *_param, _request_timeout=_request_timeout
1541
+ )
1542
+ return response_data
1543
+
1544
+ # Private sync implementation methods
1545
+ @validate_call
1546
+ def _get_marketcap_symbols_sync(
1547
+ self,
1548
+ start_timestamp: Annotated[
1549
+ Optional[StrictInt], Field(description="Start timestamp")
1550
+ ] = None,
1551
+ end_timestamp: Annotated[
1552
+ Optional[StrictInt], Field(description="End timestamp")
1553
+ ] = None,
1554
+ interval: Annotated[
1555
+ Optional[StrictStr],
1556
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1557
+ ] = None,
1558
+ market: Annotated[
1559
+ Optional[MarketType],
1560
+ Field(
1561
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1562
+ ),
1563
+ ] = None,
1564
+ exchange: Annotated[
1565
+ Optional[StrictStr],
1566
+ Field(
1567
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1568
+ ),
1569
+ ] = None,
1570
+ _request_timeout: Union[
1571
+ None,
1572
+ Annotated[StrictFloat, Field(gt=0)],
1573
+ Tuple[
1574
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1575
+ ],
1576
+ ] = None,
1577
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1578
+ _content_type: Optional[StrictStr] = None,
1579
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1580
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1581
+ ) -> List[MarketcapSymbolRanking]:
1582
+ """Synchronous version of get_marketcap_symbols"""
1583
+ return async_to_sync(self._get_marketcap_symbols_async)(
1584
+ start_timestamp=start_timestamp,
1585
+ end_timestamp=end_timestamp,
1586
+ interval=interval,
1587
+ market=market,
1588
+ exchange=exchange,
1589
+ _request_timeout=_request_timeout,
1590
+ _request_auth=_request_auth,
1591
+ _content_type=_content_type,
1592
+ _headers=_headers,
1593
+ _host_index=_host_index,
1594
+ )
1595
+
1596
+ @validate_call
1597
+ def _get_marketcap_symbols_sync_with_http_info(
1598
+ self,
1599
+ start_timestamp: Annotated[
1600
+ Optional[StrictInt], Field(description="Start timestamp")
1601
+ ] = None,
1602
+ end_timestamp: Annotated[
1603
+ Optional[StrictInt], Field(description="End timestamp")
1604
+ ] = None,
1605
+ interval: Annotated[
1606
+ Optional[StrictStr],
1607
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1608
+ ] = None,
1609
+ market: Annotated[
1610
+ Optional[MarketType],
1611
+ Field(
1612
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1613
+ ),
1614
+ ] = None,
1615
+ exchange: Annotated[
1616
+ Optional[StrictStr],
1617
+ Field(
1618
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1619
+ ),
1620
+ ] = None,
1621
+ _request_timeout: Union[
1622
+ None,
1623
+ Annotated[StrictFloat, Field(gt=0)],
1624
+ Tuple[
1625
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1626
+ ],
1627
+ ] = None,
1628
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1629
+ _content_type: Optional[StrictStr] = None,
1630
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1631
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1632
+ ) -> ApiResponse[List[MarketcapSymbolRanking]]:
1633
+ """Synchronous version of get_marketcap_symbols_with_http_info"""
1634
+ return async_to_sync(self._get_marketcap_symbols_async_with_http_info)(
1635
+ start_timestamp=start_timestamp,
1636
+ end_timestamp=end_timestamp,
1637
+ interval=interval,
1638
+ market=market,
1639
+ exchange=exchange,
1640
+ _request_timeout=_request_timeout,
1641
+ _request_auth=_request_auth,
1642
+ _content_type=_content_type,
1643
+ _headers=_headers,
1644
+ _host_index=_host_index,
1645
+ )
1646
+
1647
+ @validate_call
1648
+ def _get_marketcap_symbols_sync_without_preload_content(
1649
+ self,
1650
+ start_timestamp: Annotated[
1651
+ Optional[StrictInt], Field(description="Start timestamp")
1652
+ ] = None,
1653
+ end_timestamp: Annotated[
1654
+ Optional[StrictInt], Field(description="End timestamp")
1655
+ ] = None,
1656
+ interval: Annotated[
1657
+ Optional[StrictStr],
1658
+ Field(description="Interval for which to fetch symbols and marketcap data"),
1659
+ ] = None,
1660
+ market: Annotated[
1661
+ Optional[MarketType],
1662
+ Field(
1663
+ description="Market for which to fetch symbols and marketcap data. Defaults to futures."
1664
+ ),
1665
+ ] = None,
1666
+ exchange: Annotated[
1667
+ Optional[StrictStr],
1668
+ Field(
1669
+ description="Exchange for which to fetch symbols and marketcap data. If not provided, all exchanges will be returned."
1670
+ ),
1671
+ ] = None,
1672
+ _request_timeout: Union[
1673
+ None,
1674
+ Annotated[StrictFloat, Field(gt=0)],
1675
+ Tuple[
1676
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1677
+ ],
1678
+ ] = None,
1679
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1680
+ _content_type: Optional[StrictStr] = None,
1681
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1682
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1683
+ ) -> RESTResponseType:
1684
+ """Synchronous version of get_marketcap_symbols_without_preload_content"""
1685
+ return async_to_sync(self._get_marketcap_symbols_async_without_preload_content)(
1686
+ start_timestamp=start_timestamp,
1687
+ end_timestamp=end_timestamp,
1688
+ interval=interval,
1689
+ market=market,
1690
+ exchange=exchange,
1691
+ _request_timeout=_request_timeout,
1692
+ _request_auth=_request_auth,
1693
+ _content_type=_content_type,
1694
+ _headers=_headers,
1695
+ _host_index=_host_index,
1696
+ )
1697
+
859
1698
  def _get_marketcap_symbols_serialize(
860
1699
  self,
861
1700
  start_timestamp,
@@ -933,7 +1772,203 @@ class MarketcapApi:
933
1772
  )
934
1773
 
935
1774
  @validate_call
936
- async def get_marketcap_symbols_with_ohlcv(
1775
+ def get_marketcap_symbols_with_ohlcv(
1776
+ self,
1777
+ timestamp: Annotated[
1778
+ Optional[StrictInt],
1779
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
1780
+ ] = None,
1781
+ timeframe: Annotated[
1782
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
1783
+ ] = None,
1784
+ market: Annotated[
1785
+ Optional[MarketType],
1786
+ Field(description="Market for OHLCV data. Defaults to futures."),
1787
+ ] = None,
1788
+ top_n: Annotated[
1789
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
1790
+ ] = None,
1791
+ ohlcv_limit: Annotated[
1792
+ Optional[StrictInt],
1793
+ Field(description="Number of OHLCV data points to fetch"),
1794
+ ] = None,
1795
+ _request_timeout: Union[
1796
+ None,
1797
+ Annotated[StrictFloat, Field(gt=0)],
1798
+ Tuple[
1799
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1800
+ ],
1801
+ ] = None,
1802
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1803
+ _content_type: Optional[StrictStr] = None,
1804
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1805
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1806
+ ) -> Dict[str, List[OHLCV]]:
1807
+ """Get Symbols Marketcap With Ohlcv
1808
+
1809
+ This method can work in both sync and async modes based on the is_sync flag.
1810
+ """
1811
+ if self.is_sync:
1812
+ return self._get_marketcap_symbols_with_ohlcv_sync(
1813
+ timestamp=timestamp,
1814
+ timeframe=timeframe,
1815
+ market=market,
1816
+ top_n=top_n,
1817
+ ohlcv_limit=ohlcv_limit,
1818
+ _request_timeout=_request_timeout,
1819
+ _request_auth=_request_auth,
1820
+ _content_type=_content_type,
1821
+ _headers=_headers,
1822
+ _host_index=_host_index,
1823
+ )
1824
+
1825
+ else:
1826
+ return self._get_marketcap_symbols_with_ohlcv_async(
1827
+ timestamp=timestamp,
1828
+ timeframe=timeframe,
1829
+ market=market,
1830
+ top_n=top_n,
1831
+ ohlcv_limit=ohlcv_limit,
1832
+ _request_timeout=_request_timeout,
1833
+ _request_auth=_request_auth,
1834
+ _content_type=_content_type,
1835
+ _headers=_headers,
1836
+ _host_index=_host_index,
1837
+ )
1838
+
1839
+ @validate_call
1840
+ def get_marketcap_symbols_with_ohlcv_with_http_info(
1841
+ self,
1842
+ timestamp: Annotated[
1843
+ Optional[StrictInt],
1844
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
1845
+ ] = None,
1846
+ timeframe: Annotated[
1847
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
1848
+ ] = None,
1849
+ market: Annotated[
1850
+ Optional[MarketType],
1851
+ Field(description="Market for OHLCV data. Defaults to futures."),
1852
+ ] = None,
1853
+ top_n: Annotated[
1854
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
1855
+ ] = None,
1856
+ ohlcv_limit: Annotated[
1857
+ Optional[StrictInt],
1858
+ Field(description="Number of OHLCV data points to fetch"),
1859
+ ] = None,
1860
+ _request_timeout: Union[
1861
+ None,
1862
+ Annotated[StrictFloat, Field(gt=0)],
1863
+ Tuple[
1864
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1865
+ ],
1866
+ ] = None,
1867
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1868
+ _content_type: Optional[StrictStr] = None,
1869
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1870
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1871
+ ) -> ApiResponse[Dict[str, List[OHLCV]]]:
1872
+ """Get Symbols Marketcap With Ohlcv with HTTP info
1873
+
1874
+ This method can work in both sync and async modes based on the is_sync flag.
1875
+ """
1876
+ if self.is_sync:
1877
+ return self._get_marketcap_symbols_with_ohlcv_sync_with_http_info(
1878
+ timestamp=timestamp,
1879
+ timeframe=timeframe,
1880
+ market=market,
1881
+ top_n=top_n,
1882
+ ohlcv_limit=ohlcv_limit,
1883
+ _request_timeout=_request_timeout,
1884
+ _request_auth=_request_auth,
1885
+ _content_type=_content_type,
1886
+ _headers=_headers,
1887
+ _host_index=_host_index,
1888
+ )
1889
+
1890
+ else:
1891
+ return self._get_marketcap_symbols_with_ohlcv_async_with_http_info(
1892
+ timestamp=timestamp,
1893
+ timeframe=timeframe,
1894
+ market=market,
1895
+ top_n=top_n,
1896
+ ohlcv_limit=ohlcv_limit,
1897
+ _request_timeout=_request_timeout,
1898
+ _request_auth=_request_auth,
1899
+ _content_type=_content_type,
1900
+ _headers=_headers,
1901
+ _host_index=_host_index,
1902
+ )
1903
+
1904
+ @validate_call
1905
+ def get_marketcap_symbols_with_ohlcv_without_preload_content(
1906
+ self,
1907
+ timestamp: Annotated[
1908
+ Optional[StrictInt],
1909
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
1910
+ ] = None,
1911
+ timeframe: Annotated[
1912
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
1913
+ ] = None,
1914
+ market: Annotated[
1915
+ Optional[MarketType],
1916
+ Field(description="Market for OHLCV data. Defaults to futures."),
1917
+ ] = None,
1918
+ top_n: Annotated[
1919
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
1920
+ ] = None,
1921
+ ohlcv_limit: Annotated[
1922
+ Optional[StrictInt],
1923
+ Field(description="Number of OHLCV data points to fetch"),
1924
+ ] = None,
1925
+ _request_timeout: Union[
1926
+ None,
1927
+ Annotated[StrictFloat, Field(gt=0)],
1928
+ Tuple[
1929
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1930
+ ],
1931
+ ] = None,
1932
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1933
+ _content_type: Optional[StrictStr] = None,
1934
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1935
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1936
+ ) -> RESTResponseType:
1937
+ """Get Symbols Marketcap With Ohlcv without preloading content
1938
+
1939
+ This method can work in both sync and async modes based on the is_sync flag.
1940
+ """
1941
+ if self.is_sync:
1942
+ return self._get_marketcap_symbols_with_ohlcv_sync_without_preload_content(
1943
+ timestamp=timestamp,
1944
+ timeframe=timeframe,
1945
+ market=market,
1946
+ top_n=top_n,
1947
+ ohlcv_limit=ohlcv_limit,
1948
+ _request_timeout=_request_timeout,
1949
+ _request_auth=_request_auth,
1950
+ _content_type=_content_type,
1951
+ _headers=_headers,
1952
+ _host_index=_host_index,
1953
+ )
1954
+
1955
+ else:
1956
+ return self._get_marketcap_symbols_with_ohlcv_async_without_preload_content(
1957
+ timestamp=timestamp,
1958
+ timeframe=timeframe,
1959
+ market=market,
1960
+ top_n=top_n,
1961
+ ohlcv_limit=ohlcv_limit,
1962
+ _request_timeout=_request_timeout,
1963
+ _request_auth=_request_auth,
1964
+ _content_type=_content_type,
1965
+ _headers=_headers,
1966
+ _host_index=_host_index,
1967
+ )
1968
+
1969
+ # Private async implementation methods
1970
+ @validate_call
1971
+ async def _get_marketcap_symbols_with_ohlcv_async(
937
1972
  self,
938
1973
  timestamp: Annotated[
939
1974
  Optional[StrictInt],
@@ -1026,7 +2061,7 @@ class MarketcapApi:
1026
2061
  ).data
1027
2062
 
1028
2063
  @validate_call
1029
- async def get_marketcap_symbols_with_ohlcv_with_http_info(
2064
+ async def _get_marketcap_symbols_with_ohlcv_async_with_http_info(
1030
2065
  self,
1031
2066
  timestamp: Annotated[
1032
2067
  Optional[StrictInt],
@@ -1114,12 +2149,11 @@ class MarketcapApi:
1114
2149
  )
1115
2150
  await response_data.read()
1116
2151
  return self.api_client.response_deserialize(
1117
- response_data=response_data,
1118
- response_types_map=_response_types_map,
2152
+ response_data=response_data, response_types_map=_response_types_map
1119
2153
  )
1120
2154
 
1121
2155
  @validate_call
1122
- async def get_marketcap_symbols_with_ohlcv_without_preload_content(
2156
+ async def _get_marketcap_symbols_with_ohlcv_async_without_preload_content(
1123
2157
  self,
1124
2158
  timestamp: Annotated[
1125
2159
  Optional[StrictInt],
@@ -1205,7 +2239,153 @@ class MarketcapApi:
1205
2239
  response_data = await self.api_client.call_api(
1206
2240
  *_param, _request_timeout=_request_timeout
1207
2241
  )
1208
- return response_data.response
2242
+ return response_data
2243
+
2244
+ # Private sync implementation methods
2245
+ @validate_call
2246
+ def _get_marketcap_symbols_with_ohlcv_sync(
2247
+ self,
2248
+ timestamp: Annotated[
2249
+ Optional[StrictInt],
2250
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
2251
+ ] = None,
2252
+ timeframe: Annotated[
2253
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
2254
+ ] = None,
2255
+ market: Annotated[
2256
+ Optional[MarketType],
2257
+ Field(description="Market for OHLCV data. Defaults to futures."),
2258
+ ] = None,
2259
+ top_n: Annotated[
2260
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
2261
+ ] = None,
2262
+ ohlcv_limit: Annotated[
2263
+ Optional[StrictInt],
2264
+ Field(description="Number of OHLCV data points to fetch"),
2265
+ ] = None,
2266
+ _request_timeout: Union[
2267
+ None,
2268
+ Annotated[StrictFloat, Field(gt=0)],
2269
+ Tuple[
2270
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2271
+ ],
2272
+ ] = None,
2273
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2274
+ _content_type: Optional[StrictStr] = None,
2275
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2276
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2277
+ ) -> Dict[str, List[OHLCV]]:
2278
+ """Synchronous version of get_marketcap_symbols_with_ohlcv"""
2279
+ return async_to_sync(self._get_marketcap_symbols_with_ohlcv_async)(
2280
+ timestamp=timestamp,
2281
+ timeframe=timeframe,
2282
+ market=market,
2283
+ top_n=top_n,
2284
+ ohlcv_limit=ohlcv_limit,
2285
+ _request_timeout=_request_timeout,
2286
+ _request_auth=_request_auth,
2287
+ _content_type=_content_type,
2288
+ _headers=_headers,
2289
+ _host_index=_host_index,
2290
+ )
2291
+
2292
+ @validate_call
2293
+ def _get_marketcap_symbols_with_ohlcv_sync_with_http_info(
2294
+ self,
2295
+ timestamp: Annotated[
2296
+ Optional[StrictInt],
2297
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
2298
+ ] = None,
2299
+ timeframe: Annotated[
2300
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
2301
+ ] = None,
2302
+ market: Annotated[
2303
+ Optional[MarketType],
2304
+ Field(description="Market for OHLCV data. Defaults to futures."),
2305
+ ] = None,
2306
+ top_n: Annotated[
2307
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
2308
+ ] = None,
2309
+ ohlcv_limit: Annotated[
2310
+ Optional[StrictInt],
2311
+ Field(description="Number of OHLCV data points to fetch"),
2312
+ ] = None,
2313
+ _request_timeout: Union[
2314
+ None,
2315
+ Annotated[StrictFloat, Field(gt=0)],
2316
+ Tuple[
2317
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2318
+ ],
2319
+ ] = None,
2320
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2321
+ _content_type: Optional[StrictStr] = None,
2322
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2323
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2324
+ ) -> ApiResponse[Dict[str, List[OHLCV]]]:
2325
+ """Synchronous version of get_marketcap_symbols_with_ohlcv_with_http_info"""
2326
+ return async_to_sync(
2327
+ self._get_marketcap_symbols_with_ohlcv_async_with_http_info
2328
+ )(
2329
+ timestamp=timestamp,
2330
+ timeframe=timeframe,
2331
+ market=market,
2332
+ top_n=top_n,
2333
+ ohlcv_limit=ohlcv_limit,
2334
+ _request_timeout=_request_timeout,
2335
+ _request_auth=_request_auth,
2336
+ _content_type=_content_type,
2337
+ _headers=_headers,
2338
+ _host_index=_host_index,
2339
+ )
2340
+
2341
+ @validate_call
2342
+ def _get_marketcap_symbols_with_ohlcv_sync_without_preload_content(
2343
+ self,
2344
+ timestamp: Annotated[
2345
+ Optional[StrictInt],
2346
+ Field(description="Timestamp for which to fetch symbols and OHLCV data"),
2347
+ ] = None,
2348
+ timeframe: Annotated[
2349
+ Optional[StrictStr], Field(description="Timeframe for OHLCV data")
2350
+ ] = None,
2351
+ market: Annotated[
2352
+ Optional[MarketType],
2353
+ Field(description="Market for OHLCV data. Defaults to futures."),
2354
+ ] = None,
2355
+ top_n: Annotated[
2356
+ Optional[StrictInt], Field(description="Number of symbols to fetch")
2357
+ ] = None,
2358
+ ohlcv_limit: Annotated[
2359
+ Optional[StrictInt],
2360
+ Field(description="Number of OHLCV data points to fetch"),
2361
+ ] = None,
2362
+ _request_timeout: Union[
2363
+ None,
2364
+ Annotated[StrictFloat, Field(gt=0)],
2365
+ Tuple[
2366
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2367
+ ],
2368
+ ] = None,
2369
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2370
+ _content_type: Optional[StrictStr] = None,
2371
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2372
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2373
+ ) -> RESTResponseType:
2374
+ """Synchronous version of get_marketcap_symbols_with_ohlcv_without_preload_content"""
2375
+ return async_to_sync(
2376
+ self._get_marketcap_symbols_with_ohlcv_async_without_preload_content
2377
+ )(
2378
+ timestamp=timestamp,
2379
+ timeframe=timeframe,
2380
+ market=market,
2381
+ top_n=top_n,
2382
+ ohlcv_limit=ohlcv_limit,
2383
+ _request_timeout=_request_timeout,
2384
+ _request_auth=_request_auth,
2385
+ _content_type=_content_type,
2386
+ _headers=_headers,
2387
+ _host_index=_host_index,
2388
+ )
1209
2389
 
1210
2390
  def _get_marketcap_symbols_with_ohlcv_serialize(
1211
2391
  self,