crypticorn 2.16.0__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 +1 -0
  13. crypticorn/common/metrics.py +18 -0
  14. crypticorn/common/middleware.py +46 -0
  15. crypticorn/common/pagination.py +137 -18
  16. crypticorn/common/router/admin_router.py +12 -2
  17. crypticorn/common/utils.py +2 -1
  18. crypticorn/common/warnings.py +7 -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.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/METADATA +65 -20
  81. {crypticorn-2.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/RECORD +85 -83
  82. crypticorn/trade/client/api/futures_trading_panel_api.py +0 -1285
  83. {crypticorn-2.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/WHEEL +0 -0
  84. {crypticorn-2.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/entry_points.txt +0 -0
  85. {crypticorn-2.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/licenses/LICENSE +0 -0
  86. {crypticorn-2.16.0.dist-info → crypticorn-2.17.0rc2.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,24 @@ from crypticorn.metrics.client.api_client import ApiClient, RequestSerialized
25
25
  from crypticorn.metrics.client.api_response import ApiResponse
26
26
  from crypticorn.metrics.client.rest import RESTResponseType
27
27
 
28
+ # Import async_to_sync for sync methods
29
+ try:
30
+ from asgiref.sync import async_to_sync
31
+
32
+ _HAS_ASGIREF = True
33
+ except ImportError:
34
+ _HAS_ASGIREF = False
35
+
36
+ def async_to_sync(async_func):
37
+ """Fallback decorator that raises an error if asgiref is not available."""
38
+
39
+ def wrapper(*args, **kwargs):
40
+ raise ImportError(
41
+ "asgiref is required for sync methods. Install with: pip install asgiref"
42
+ )
43
+
44
+ return wrapper
45
+
28
46
 
29
47
  class IndicatorsApi:
30
48
  """NOTE: This class is auto generated by OpenAPI Generator
@@ -33,13 +51,189 @@ class IndicatorsApi:
33
51
  Do not edit the class manually.
34
52
  """
35
53
 
36
- def __init__(self, api_client=None) -> None:
54
+ def __init__(self, api_client=None, is_sync: bool = False) -> None:
37
55
  if api_client is None:
38
56
  api_client = ApiClient.get_default()
39
57
  self.api_client = api_client
58
+ self.is_sync = is_sync
40
59
 
41
60
  @validate_call
42
- async def get_ker_indicator(
61
+ def get_ker_indicator(
62
+ self,
63
+ symbol: Annotated[
64
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
65
+ ],
66
+ market: Annotated[
67
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
68
+ ] = None,
69
+ period: Annotated[
70
+ Optional[StrictInt], Field(description="KER indicator period")
71
+ ] = None,
72
+ timestamp: Annotated[
73
+ Optional[StrictInt],
74
+ Field(description="Timestamp for which to fetch KER indicator"),
75
+ ] = None,
76
+ _request_timeout: Union[
77
+ None,
78
+ Annotated[StrictFloat, Field(gt=0)],
79
+ Tuple[
80
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
81
+ ],
82
+ ] = None,
83
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
84
+ _content_type: Optional[StrictStr] = None,
85
+ _headers: Optional[Dict[StrictStr, Any]] = None,
86
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
87
+ ) -> Dict[str, object]:
88
+ """Get Ker Indicator
89
+
90
+ This method can work in both sync and async modes based on the is_sync flag.
91
+ """
92
+ if self.is_sync:
93
+ return self._get_ker_indicator_sync(
94
+ symbol=symbol,
95
+ market=market,
96
+ period=period,
97
+ timestamp=timestamp,
98
+ _request_timeout=_request_timeout,
99
+ _request_auth=_request_auth,
100
+ _content_type=_content_type,
101
+ _headers=_headers,
102
+ _host_index=_host_index,
103
+ )
104
+
105
+ else:
106
+ return self._get_ker_indicator_async(
107
+ symbol=symbol,
108
+ market=market,
109
+ period=period,
110
+ timestamp=timestamp,
111
+ _request_timeout=_request_timeout,
112
+ _request_auth=_request_auth,
113
+ _content_type=_content_type,
114
+ _headers=_headers,
115
+ _host_index=_host_index,
116
+ )
117
+
118
+ @validate_call
119
+ def get_ker_indicator_with_http_info(
120
+ self,
121
+ symbol: Annotated[
122
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
123
+ ],
124
+ market: Annotated[
125
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
126
+ ] = None,
127
+ period: Annotated[
128
+ Optional[StrictInt], Field(description="KER indicator period")
129
+ ] = None,
130
+ timestamp: Annotated[
131
+ Optional[StrictInt],
132
+ Field(description="Timestamp for which to fetch KER indicator"),
133
+ ] = None,
134
+ _request_timeout: Union[
135
+ None,
136
+ Annotated[StrictFloat, Field(gt=0)],
137
+ Tuple[
138
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
139
+ ],
140
+ ] = None,
141
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
142
+ _content_type: Optional[StrictStr] = None,
143
+ _headers: Optional[Dict[StrictStr, Any]] = None,
144
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
145
+ ) -> ApiResponse[Dict[str, object]]:
146
+ """Get Ker Indicator with HTTP info
147
+
148
+ This method can work in both sync and async modes based on the is_sync flag.
149
+ """
150
+ if self.is_sync:
151
+ return self._get_ker_indicator_sync_with_http_info(
152
+ symbol=symbol,
153
+ market=market,
154
+ period=period,
155
+ timestamp=timestamp,
156
+ _request_timeout=_request_timeout,
157
+ _request_auth=_request_auth,
158
+ _content_type=_content_type,
159
+ _headers=_headers,
160
+ _host_index=_host_index,
161
+ )
162
+
163
+ else:
164
+ return self._get_ker_indicator_async_with_http_info(
165
+ symbol=symbol,
166
+ market=market,
167
+ period=period,
168
+ timestamp=timestamp,
169
+ _request_timeout=_request_timeout,
170
+ _request_auth=_request_auth,
171
+ _content_type=_content_type,
172
+ _headers=_headers,
173
+ _host_index=_host_index,
174
+ )
175
+
176
+ @validate_call
177
+ def get_ker_indicator_without_preload_content(
178
+ self,
179
+ symbol: Annotated[
180
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
181
+ ],
182
+ market: Annotated[
183
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
184
+ ] = None,
185
+ period: Annotated[
186
+ Optional[StrictInt], Field(description="KER indicator period")
187
+ ] = None,
188
+ timestamp: Annotated[
189
+ Optional[StrictInt],
190
+ Field(description="Timestamp for which to fetch KER indicator"),
191
+ ] = None,
192
+ _request_timeout: Union[
193
+ None,
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Tuple[
196
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
197
+ ],
198
+ ] = None,
199
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
200
+ _content_type: Optional[StrictStr] = None,
201
+ _headers: Optional[Dict[StrictStr, Any]] = None,
202
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
+ ) -> RESTResponseType:
204
+ """Get Ker Indicator without preloading content
205
+
206
+ This method can work in both sync and async modes based on the is_sync flag.
207
+ """
208
+ if self.is_sync:
209
+ return self._get_ker_indicator_sync_without_preload_content(
210
+ symbol=symbol,
211
+ market=market,
212
+ period=period,
213
+ timestamp=timestamp,
214
+ _request_timeout=_request_timeout,
215
+ _request_auth=_request_auth,
216
+ _content_type=_content_type,
217
+ _headers=_headers,
218
+ _host_index=_host_index,
219
+ )
220
+
221
+ else:
222
+ return self._get_ker_indicator_async_without_preload_content(
223
+ symbol=symbol,
224
+ market=market,
225
+ period=period,
226
+ timestamp=timestamp,
227
+ _request_timeout=_request_timeout,
228
+ _request_auth=_request_auth,
229
+ _content_type=_content_type,
230
+ _headers=_headers,
231
+ _host_index=_host_index,
232
+ )
233
+
234
+ # Private async implementation methods
235
+ @validate_call
236
+ async def _get_ker_indicator_async(
43
237
  self,
44
238
  symbol: Annotated[
45
239
  StrictStr, Field(description="Symbol to fetch KER indicator for")
@@ -124,7 +318,7 @@ class IndicatorsApi:
124
318
  ).data
125
319
 
126
320
  @validate_call
127
- async def get_ker_indicator_with_http_info(
321
+ async def _get_ker_indicator_async_with_http_info(
128
322
  self,
129
323
  symbol: Annotated[
130
324
  StrictStr, Field(description="Symbol to fetch KER indicator for")
@@ -204,12 +398,11 @@ class IndicatorsApi:
204
398
  )
205
399
  await response_data.read()
206
400
  return self.api_client.response_deserialize(
207
- response_data=response_data,
208
- response_types_map=_response_types_map,
401
+ response_data=response_data, response_types_map=_response_types_map
209
402
  )
210
403
 
211
404
  @validate_call
212
- async def get_ker_indicator_without_preload_content(
405
+ async def _get_ker_indicator_async_without_preload_content(
213
406
  self,
214
407
  symbol: Annotated[
215
408
  StrictStr, Field(description="Symbol to fetch KER indicator for")
@@ -287,7 +480,131 @@ class IndicatorsApi:
287
480
  response_data = await self.api_client.call_api(
288
481
  *_param, _request_timeout=_request_timeout
289
482
  )
290
- return response_data.response
483
+ return response_data
484
+
485
+ # Private sync implementation methods
486
+ @validate_call
487
+ def _get_ker_indicator_sync(
488
+ self,
489
+ symbol: Annotated[
490
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
491
+ ],
492
+ market: Annotated[
493
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
494
+ ] = None,
495
+ period: Annotated[
496
+ Optional[StrictInt], Field(description="KER indicator period")
497
+ ] = None,
498
+ timestamp: Annotated[
499
+ Optional[StrictInt],
500
+ Field(description="Timestamp for which to fetch KER indicator"),
501
+ ] = None,
502
+ _request_timeout: Union[
503
+ None,
504
+ Annotated[StrictFloat, Field(gt=0)],
505
+ Tuple[
506
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
507
+ ],
508
+ ] = None,
509
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
510
+ _content_type: Optional[StrictStr] = None,
511
+ _headers: Optional[Dict[StrictStr, Any]] = None,
512
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
513
+ ) -> Dict[str, object]:
514
+ """Synchronous version of get_ker_indicator"""
515
+ return async_to_sync(self._get_ker_indicator_async)(
516
+ symbol=symbol,
517
+ market=market,
518
+ period=period,
519
+ timestamp=timestamp,
520
+ _request_timeout=_request_timeout,
521
+ _request_auth=_request_auth,
522
+ _content_type=_content_type,
523
+ _headers=_headers,
524
+ _host_index=_host_index,
525
+ )
526
+
527
+ @validate_call
528
+ def _get_ker_indicator_sync_with_http_info(
529
+ self,
530
+ symbol: Annotated[
531
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
532
+ ],
533
+ market: Annotated[
534
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
535
+ ] = None,
536
+ period: Annotated[
537
+ Optional[StrictInt], Field(description="KER indicator period")
538
+ ] = None,
539
+ timestamp: Annotated[
540
+ Optional[StrictInt],
541
+ Field(description="Timestamp for which to fetch KER indicator"),
542
+ ] = None,
543
+ _request_timeout: Union[
544
+ None,
545
+ Annotated[StrictFloat, Field(gt=0)],
546
+ Tuple[
547
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
548
+ ],
549
+ ] = None,
550
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
551
+ _content_type: Optional[StrictStr] = None,
552
+ _headers: Optional[Dict[StrictStr, Any]] = None,
553
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
554
+ ) -> ApiResponse[Dict[str, object]]:
555
+ """Synchronous version of get_ker_indicator_with_http_info"""
556
+ return async_to_sync(self._get_ker_indicator_async_with_http_info)(
557
+ symbol=symbol,
558
+ market=market,
559
+ period=period,
560
+ timestamp=timestamp,
561
+ _request_timeout=_request_timeout,
562
+ _request_auth=_request_auth,
563
+ _content_type=_content_type,
564
+ _headers=_headers,
565
+ _host_index=_host_index,
566
+ )
567
+
568
+ @validate_call
569
+ def _get_ker_indicator_sync_without_preload_content(
570
+ self,
571
+ symbol: Annotated[
572
+ StrictStr, Field(description="Symbol to fetch KER indicator for")
573
+ ],
574
+ market: Annotated[
575
+ Optional[MarketType], Field(description="Market. Defaults to futures.")
576
+ ] = None,
577
+ period: Annotated[
578
+ Optional[StrictInt], Field(description="KER indicator period")
579
+ ] = None,
580
+ timestamp: Annotated[
581
+ Optional[StrictInt],
582
+ Field(description="Timestamp for which to fetch KER indicator"),
583
+ ] = None,
584
+ _request_timeout: Union[
585
+ None,
586
+ Annotated[StrictFloat, Field(gt=0)],
587
+ Tuple[
588
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
589
+ ],
590
+ ] = None,
591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
592
+ _content_type: Optional[StrictStr] = None,
593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
595
+ ) -> RESTResponseType:
596
+ """Synchronous version of get_ker_indicator_without_preload_content"""
597
+ return async_to_sync(self._get_ker_indicator_async_without_preload_content)(
598
+ symbol=symbol,
599
+ market=market,
600
+ period=period,
601
+ timestamp=timestamp,
602
+ _request_timeout=_request_timeout,
603
+ _request_auth=_request_auth,
604
+ _content_type=_content_type,
605
+ _headers=_headers,
606
+ _host_index=_host_index,
607
+ )
291
608
 
292
609
  def _get_ker_indicator_serialize(
293
610
  self,
@@ -361,7 +678,188 @@ class IndicatorsApi:
361
678
  )
362
679
 
363
680
  @validate_call
364
- async def get_sma_indicator(
681
+ def get_sma_indicator(
682
+ self,
683
+ symbol: Annotated[
684
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
685
+ ],
686
+ market: Annotated[
687
+ Optional[MarketType],
688
+ Field(description="The market type to use for the SMA indicator"),
689
+ ] = None,
690
+ period: Annotated[
691
+ Optional[StrictInt],
692
+ Field(description="The period to use for the SMA indicator"),
693
+ ] = None,
694
+ timestamp: Annotated[
695
+ Optional[StrictInt],
696
+ Field(description="The timestamp for which to fetch the SMA indicator"),
697
+ ] = None,
698
+ _request_timeout: Union[
699
+ None,
700
+ Annotated[StrictFloat, Field(gt=0)],
701
+ Tuple[
702
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
703
+ ],
704
+ ] = None,
705
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
706
+ _content_type: Optional[StrictStr] = None,
707
+ _headers: Optional[Dict[StrictStr, Any]] = None,
708
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
709
+ ) -> Dict[str, object]:
710
+ """Get Sma Indicator
711
+
712
+ This method can work in both sync and async modes based on the is_sync flag.
713
+ """
714
+ if self.is_sync:
715
+ return self._get_sma_indicator_sync(
716
+ symbol=symbol,
717
+ market=market,
718
+ period=period,
719
+ timestamp=timestamp,
720
+ _request_timeout=_request_timeout,
721
+ _request_auth=_request_auth,
722
+ _content_type=_content_type,
723
+ _headers=_headers,
724
+ _host_index=_host_index,
725
+ )
726
+
727
+ else:
728
+ return self._get_sma_indicator_async(
729
+ symbol=symbol,
730
+ market=market,
731
+ period=period,
732
+ timestamp=timestamp,
733
+ _request_timeout=_request_timeout,
734
+ _request_auth=_request_auth,
735
+ _content_type=_content_type,
736
+ _headers=_headers,
737
+ _host_index=_host_index,
738
+ )
739
+
740
+ @validate_call
741
+ def get_sma_indicator_with_http_info(
742
+ self,
743
+ symbol: Annotated[
744
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
745
+ ],
746
+ market: Annotated[
747
+ Optional[MarketType],
748
+ Field(description="The market type to use for the SMA indicator"),
749
+ ] = None,
750
+ period: Annotated[
751
+ Optional[StrictInt],
752
+ Field(description="The period to use for the SMA indicator"),
753
+ ] = None,
754
+ timestamp: Annotated[
755
+ Optional[StrictInt],
756
+ Field(description="The timestamp for which to fetch the SMA indicator"),
757
+ ] = None,
758
+ _request_timeout: Union[
759
+ None,
760
+ Annotated[StrictFloat, Field(gt=0)],
761
+ Tuple[
762
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
763
+ ],
764
+ ] = None,
765
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
766
+ _content_type: Optional[StrictStr] = None,
767
+ _headers: Optional[Dict[StrictStr, Any]] = None,
768
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
769
+ ) -> ApiResponse[Dict[str, object]]:
770
+ """Get Sma Indicator with HTTP info
771
+
772
+ This method can work in both sync and async modes based on the is_sync flag.
773
+ """
774
+ if self.is_sync:
775
+ return self._get_sma_indicator_sync_with_http_info(
776
+ symbol=symbol,
777
+ market=market,
778
+ period=period,
779
+ timestamp=timestamp,
780
+ _request_timeout=_request_timeout,
781
+ _request_auth=_request_auth,
782
+ _content_type=_content_type,
783
+ _headers=_headers,
784
+ _host_index=_host_index,
785
+ )
786
+
787
+ else:
788
+ return self._get_sma_indicator_async_with_http_info(
789
+ symbol=symbol,
790
+ market=market,
791
+ period=period,
792
+ timestamp=timestamp,
793
+ _request_timeout=_request_timeout,
794
+ _request_auth=_request_auth,
795
+ _content_type=_content_type,
796
+ _headers=_headers,
797
+ _host_index=_host_index,
798
+ )
799
+
800
+ @validate_call
801
+ def get_sma_indicator_without_preload_content(
802
+ self,
803
+ symbol: Annotated[
804
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
805
+ ],
806
+ market: Annotated[
807
+ Optional[MarketType],
808
+ Field(description="The market type to use for the SMA indicator"),
809
+ ] = None,
810
+ period: Annotated[
811
+ Optional[StrictInt],
812
+ Field(description="The period to use for the SMA indicator"),
813
+ ] = None,
814
+ timestamp: Annotated[
815
+ Optional[StrictInt],
816
+ Field(description="The timestamp for which to fetch the SMA indicator"),
817
+ ] = None,
818
+ _request_timeout: Union[
819
+ None,
820
+ Annotated[StrictFloat, Field(gt=0)],
821
+ Tuple[
822
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
823
+ ],
824
+ ] = None,
825
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
826
+ _content_type: Optional[StrictStr] = None,
827
+ _headers: Optional[Dict[StrictStr, Any]] = None,
828
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
829
+ ) -> RESTResponseType:
830
+ """Get Sma Indicator without preloading content
831
+
832
+ This method can work in both sync and async modes based on the is_sync flag.
833
+ """
834
+ if self.is_sync:
835
+ return self._get_sma_indicator_sync_without_preload_content(
836
+ symbol=symbol,
837
+ market=market,
838
+ period=period,
839
+ timestamp=timestamp,
840
+ _request_timeout=_request_timeout,
841
+ _request_auth=_request_auth,
842
+ _content_type=_content_type,
843
+ _headers=_headers,
844
+ _host_index=_host_index,
845
+ )
846
+
847
+ else:
848
+ return self._get_sma_indicator_async_without_preload_content(
849
+ symbol=symbol,
850
+ market=market,
851
+ period=period,
852
+ timestamp=timestamp,
853
+ _request_timeout=_request_timeout,
854
+ _request_auth=_request_auth,
855
+ _content_type=_content_type,
856
+ _headers=_headers,
857
+ _host_index=_host_index,
858
+ )
859
+
860
+ # Private async implementation methods
861
+ @validate_call
862
+ async def _get_sma_indicator_async(
365
863
  self,
366
864
  symbol: Annotated[
367
865
  StrictStr, Field(description="Symbol to fetch SMA indicator for")
@@ -448,7 +946,7 @@ class IndicatorsApi:
448
946
  ).data
449
947
 
450
948
  @validate_call
451
- async def get_sma_indicator_with_http_info(
949
+ async def _get_sma_indicator_async_with_http_info(
452
950
  self,
453
951
  symbol: Annotated[
454
952
  StrictStr, Field(description="Symbol to fetch SMA indicator for")
@@ -530,12 +1028,11 @@ class IndicatorsApi:
530
1028
  )
531
1029
  await response_data.read()
532
1030
  return self.api_client.response_deserialize(
533
- response_data=response_data,
534
- response_types_map=_response_types_map,
1031
+ response_data=response_data, response_types_map=_response_types_map
535
1032
  )
536
1033
 
537
1034
  @validate_call
538
- async def get_sma_indicator_without_preload_content(
1035
+ async def _get_sma_indicator_async_without_preload_content(
539
1036
  self,
540
1037
  symbol: Annotated[
541
1038
  StrictStr, Field(description="Symbol to fetch SMA indicator for")
@@ -615,7 +1112,137 @@ class IndicatorsApi:
615
1112
  response_data = await self.api_client.call_api(
616
1113
  *_param, _request_timeout=_request_timeout
617
1114
  )
618
- return response_data.response
1115
+ return response_data
1116
+
1117
+ # Private sync implementation methods
1118
+ @validate_call
1119
+ def _get_sma_indicator_sync(
1120
+ self,
1121
+ symbol: Annotated[
1122
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
1123
+ ],
1124
+ market: Annotated[
1125
+ Optional[MarketType],
1126
+ Field(description="The market type to use for the SMA indicator"),
1127
+ ] = None,
1128
+ period: Annotated[
1129
+ Optional[StrictInt],
1130
+ Field(description="The period to use for the SMA indicator"),
1131
+ ] = None,
1132
+ timestamp: Annotated[
1133
+ Optional[StrictInt],
1134
+ Field(description="The timestamp for which to fetch the SMA indicator"),
1135
+ ] = None,
1136
+ _request_timeout: Union[
1137
+ None,
1138
+ Annotated[StrictFloat, Field(gt=0)],
1139
+ Tuple[
1140
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1141
+ ],
1142
+ ] = None,
1143
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1144
+ _content_type: Optional[StrictStr] = None,
1145
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1146
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1147
+ ) -> Dict[str, object]:
1148
+ """Synchronous version of get_sma_indicator"""
1149
+ return async_to_sync(self._get_sma_indicator_async)(
1150
+ symbol=symbol,
1151
+ market=market,
1152
+ period=period,
1153
+ timestamp=timestamp,
1154
+ _request_timeout=_request_timeout,
1155
+ _request_auth=_request_auth,
1156
+ _content_type=_content_type,
1157
+ _headers=_headers,
1158
+ _host_index=_host_index,
1159
+ )
1160
+
1161
+ @validate_call
1162
+ def _get_sma_indicator_sync_with_http_info(
1163
+ self,
1164
+ symbol: Annotated[
1165
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
1166
+ ],
1167
+ market: Annotated[
1168
+ Optional[MarketType],
1169
+ Field(description="The market type to use for the SMA indicator"),
1170
+ ] = None,
1171
+ period: Annotated[
1172
+ Optional[StrictInt],
1173
+ Field(description="The period to use for the SMA indicator"),
1174
+ ] = None,
1175
+ timestamp: Annotated[
1176
+ Optional[StrictInt],
1177
+ Field(description="The timestamp for which to fetch the SMA indicator"),
1178
+ ] = None,
1179
+ _request_timeout: Union[
1180
+ None,
1181
+ Annotated[StrictFloat, Field(gt=0)],
1182
+ Tuple[
1183
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1184
+ ],
1185
+ ] = None,
1186
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1187
+ _content_type: Optional[StrictStr] = None,
1188
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1189
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1190
+ ) -> ApiResponse[Dict[str, object]]:
1191
+ """Synchronous version of get_sma_indicator_with_http_info"""
1192
+ return async_to_sync(self._get_sma_indicator_async_with_http_info)(
1193
+ symbol=symbol,
1194
+ market=market,
1195
+ period=period,
1196
+ timestamp=timestamp,
1197
+ _request_timeout=_request_timeout,
1198
+ _request_auth=_request_auth,
1199
+ _content_type=_content_type,
1200
+ _headers=_headers,
1201
+ _host_index=_host_index,
1202
+ )
1203
+
1204
+ @validate_call
1205
+ def _get_sma_indicator_sync_without_preload_content(
1206
+ self,
1207
+ symbol: Annotated[
1208
+ StrictStr, Field(description="Symbol to fetch SMA indicator for")
1209
+ ],
1210
+ market: Annotated[
1211
+ Optional[MarketType],
1212
+ Field(description="The market type to use for the SMA indicator"),
1213
+ ] = None,
1214
+ period: Annotated[
1215
+ Optional[StrictInt],
1216
+ Field(description="The period to use for the SMA indicator"),
1217
+ ] = None,
1218
+ timestamp: Annotated[
1219
+ Optional[StrictInt],
1220
+ Field(description="The timestamp for which to fetch the SMA indicator"),
1221
+ ] = None,
1222
+ _request_timeout: Union[
1223
+ None,
1224
+ Annotated[StrictFloat, Field(gt=0)],
1225
+ Tuple[
1226
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1227
+ ],
1228
+ ] = None,
1229
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1230
+ _content_type: Optional[StrictStr] = None,
1231
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1232
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1233
+ ) -> RESTResponseType:
1234
+ """Synchronous version of get_sma_indicator_without_preload_content"""
1235
+ return async_to_sync(self._get_sma_indicator_async_without_preload_content)(
1236
+ symbol=symbol,
1237
+ market=market,
1238
+ period=period,
1239
+ timestamp=timestamp,
1240
+ _request_timeout=_request_timeout,
1241
+ _request_auth=_request_auth,
1242
+ _content_type=_content_type,
1243
+ _headers=_headers,
1244
+ _host_index=_host_index,
1245
+ )
619
1246
 
620
1247
  def _get_sma_indicator_serialize(
621
1248
  self,