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
@@ -27,6 +27,24 @@ from crypticorn.trade.client.api_client import ApiClient, RequestSerialized
27
27
  from crypticorn.trade.client.api_response import ApiResponse
28
28
  from crypticorn.trade.client.rest import RESTResponseType
29
29
 
30
+ # Import async_to_sync for sync methods
31
+ try:
32
+ from asgiref.sync import async_to_sync
33
+
34
+ _HAS_ASGIREF = True
35
+ except ImportError:
36
+ _HAS_ASGIREF = False
37
+
38
+ def async_to_sync(async_func):
39
+ """Fallback decorator that raises an error if asgiref is not available."""
40
+
41
+ def wrapper(*args, **kwargs):
42
+ raise ImportError(
43
+ "asgiref is required for sync methods. Install with: pip install asgiref"
44
+ )
45
+
46
+ return wrapper
47
+
30
48
 
31
49
  class StrategiesApi:
32
50
  """NOTE: This class is auto generated by OpenAPI Generator
@@ -35,13 +53,135 @@ class StrategiesApi:
35
53
  Do not edit the class manually.
36
54
  """
37
55
 
38
- def __init__(self, api_client=None) -> None:
56
+ def __init__(self, api_client=None, is_sync: bool = False) -> None:
39
57
  if api_client is None:
40
58
  api_client = ApiClient.get_default()
41
59
  self.api_client = api_client
60
+ self.is_sync = is_sync
61
+
62
+ @validate_call
63
+ def create_strategy(
64
+ self,
65
+ strategy_create: StrategyCreate,
66
+ _request_timeout: Union[
67
+ None,
68
+ Annotated[StrictFloat, Field(gt=0)],
69
+ Tuple[
70
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
71
+ ],
72
+ ] = None,
73
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
74
+ _content_type: Optional[StrictStr] = None,
75
+ _headers: Optional[Dict[StrictStr, Any]] = None,
76
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
77
+ ) -> Strategy:
78
+ """Create Strategy
79
+
80
+ This method can work in both sync and async modes based on the is_sync flag.
81
+ """
82
+ if self.is_sync:
83
+ return self._create_strategy_sync(
84
+ strategy_create=strategy_create,
85
+ _request_timeout=_request_timeout,
86
+ _request_auth=_request_auth,
87
+ _content_type=_content_type,
88
+ _headers=_headers,
89
+ _host_index=_host_index,
90
+ )
91
+
92
+ else:
93
+ return self._create_strategy_async(
94
+ strategy_create=strategy_create,
95
+ _request_timeout=_request_timeout,
96
+ _request_auth=_request_auth,
97
+ _content_type=_content_type,
98
+ _headers=_headers,
99
+ _host_index=_host_index,
100
+ )
101
+
102
+ @validate_call
103
+ def create_strategy_with_http_info(
104
+ self,
105
+ strategy_create: StrategyCreate,
106
+ _request_timeout: Union[
107
+ None,
108
+ Annotated[StrictFloat, Field(gt=0)],
109
+ Tuple[
110
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
111
+ ],
112
+ ] = None,
113
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
114
+ _content_type: Optional[StrictStr] = None,
115
+ _headers: Optional[Dict[StrictStr, Any]] = None,
116
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
117
+ ) -> ApiResponse[Strategy]:
118
+ """Create Strategy with HTTP info
119
+
120
+ This method can work in both sync and async modes based on the is_sync flag.
121
+ """
122
+ if self.is_sync:
123
+ return self._create_strategy_sync_with_http_info(
124
+ strategy_create=strategy_create,
125
+ _request_timeout=_request_timeout,
126
+ _request_auth=_request_auth,
127
+ _content_type=_content_type,
128
+ _headers=_headers,
129
+ _host_index=_host_index,
130
+ )
131
+
132
+ else:
133
+ return self._create_strategy_async_with_http_info(
134
+ strategy_create=strategy_create,
135
+ _request_timeout=_request_timeout,
136
+ _request_auth=_request_auth,
137
+ _content_type=_content_type,
138
+ _headers=_headers,
139
+ _host_index=_host_index,
140
+ )
141
+
142
+ @validate_call
143
+ def create_strategy_without_preload_content(
144
+ self,
145
+ strategy_create: StrategyCreate,
146
+ _request_timeout: Union[
147
+ None,
148
+ Annotated[StrictFloat, Field(gt=0)],
149
+ Tuple[
150
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
151
+ ],
152
+ ] = None,
153
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
154
+ _content_type: Optional[StrictStr] = None,
155
+ _headers: Optional[Dict[StrictStr, Any]] = None,
156
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
157
+ ) -> RESTResponseType:
158
+ """Create Strategy without preloading content
159
+
160
+ This method can work in both sync and async modes based on the is_sync flag.
161
+ """
162
+ if self.is_sync:
163
+ return self._create_strategy_sync_without_preload_content(
164
+ strategy_create=strategy_create,
165
+ _request_timeout=_request_timeout,
166
+ _request_auth=_request_auth,
167
+ _content_type=_content_type,
168
+ _headers=_headers,
169
+ _host_index=_host_index,
170
+ )
171
+
172
+ else:
173
+ return self._create_strategy_async_without_preload_content(
174
+ strategy_create=strategy_create,
175
+ _request_timeout=_request_timeout,
176
+ _request_auth=_request_auth,
177
+ _content_type=_content_type,
178
+ _headers=_headers,
179
+ _host_index=_host_index,
180
+ )
42
181
 
182
+ # Private async implementation methods
43
183
  @validate_call
44
- async def create_strategy(
184
+ async def _create_strategy_async(
45
185
  self,
46
186
  strategy_create: StrategyCreate,
47
187
  _request_timeout: Union[
@@ -105,7 +245,7 @@ class StrategiesApi:
105
245
  ).data
106
246
 
107
247
  @validate_call
108
- async def create_strategy_with_http_info(
248
+ async def _create_strategy_async_with_http_info(
109
249
  self,
110
250
  strategy_create: StrategyCreate,
111
251
  _request_timeout: Union[
@@ -164,12 +304,11 @@ class StrategiesApi:
164
304
  )
165
305
  await response_data.read()
166
306
  return self.api_client.response_deserialize(
167
- response_data=response_data,
168
- response_types_map=_response_types_map,
307
+ response_data=response_data, response_types_map=_response_types_map
169
308
  )
170
309
 
171
310
  @validate_call
172
- async def create_strategy_without_preload_content(
311
+ async def _create_strategy_async_without_preload_content(
173
312
  self,
174
313
  strategy_create: StrategyCreate,
175
314
  _request_timeout: Union[
@@ -226,7 +365,86 @@ class StrategiesApi:
226
365
  response_data = await self.api_client.call_api(
227
366
  *_param, _request_timeout=_request_timeout
228
367
  )
229
- return response_data.response
368
+ return response_data
369
+
370
+ # Private sync implementation methods
371
+ @validate_call
372
+ def _create_strategy_sync(
373
+ self,
374
+ strategy_create: StrategyCreate,
375
+ _request_timeout: Union[
376
+ None,
377
+ Annotated[StrictFloat, Field(gt=0)],
378
+ Tuple[
379
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
380
+ ],
381
+ ] = None,
382
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
383
+ _content_type: Optional[StrictStr] = None,
384
+ _headers: Optional[Dict[StrictStr, Any]] = None,
385
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
386
+ ) -> Strategy:
387
+ """Synchronous version of create_strategy"""
388
+ return async_to_sync(self._create_strategy_async)(
389
+ strategy_create=strategy_create,
390
+ _request_timeout=_request_timeout,
391
+ _request_auth=_request_auth,
392
+ _content_type=_content_type,
393
+ _headers=_headers,
394
+ _host_index=_host_index,
395
+ )
396
+
397
+ @validate_call
398
+ def _create_strategy_sync_with_http_info(
399
+ self,
400
+ strategy_create: StrategyCreate,
401
+ _request_timeout: Union[
402
+ None,
403
+ Annotated[StrictFloat, Field(gt=0)],
404
+ Tuple[
405
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
406
+ ],
407
+ ] = None,
408
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
409
+ _content_type: Optional[StrictStr] = None,
410
+ _headers: Optional[Dict[StrictStr, Any]] = None,
411
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
412
+ ) -> ApiResponse[Strategy]:
413
+ """Synchronous version of create_strategy_with_http_info"""
414
+ return async_to_sync(self._create_strategy_async_with_http_info)(
415
+ strategy_create=strategy_create,
416
+ _request_timeout=_request_timeout,
417
+ _request_auth=_request_auth,
418
+ _content_type=_content_type,
419
+ _headers=_headers,
420
+ _host_index=_host_index,
421
+ )
422
+
423
+ @validate_call
424
+ def _create_strategy_sync_without_preload_content(
425
+ self,
426
+ strategy_create: StrategyCreate,
427
+ _request_timeout: Union[
428
+ None,
429
+ Annotated[StrictFloat, Field(gt=0)],
430
+ Tuple[
431
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
432
+ ],
433
+ ] = None,
434
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
435
+ _content_type: Optional[StrictStr] = None,
436
+ _headers: Optional[Dict[StrictStr, Any]] = None,
437
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
438
+ ) -> RESTResponseType:
439
+ """Synchronous version of create_strategy_without_preload_content"""
440
+ return async_to_sync(self._create_strategy_async_without_preload_content)(
441
+ strategy_create=strategy_create,
442
+ _request_timeout=_request_timeout,
443
+ _request_auth=_request_auth,
444
+ _content_type=_content_type,
445
+ _headers=_headers,
446
+ _host_index=_host_index,
447
+ )
230
448
 
231
449
  def _create_strategy_serialize(
232
450
  self,
@@ -293,7 +511,167 @@ class StrategiesApi:
293
511
  )
294
512
 
295
513
  @validate_call
296
- async def get_strategies(
514
+ def get_strategies(
515
+ self,
516
+ limit: Annotated[
517
+ Optional[StrictInt],
518
+ Field(
519
+ description="Limit the number of strategies returned. 0 means no limit."
520
+ ),
521
+ ] = None,
522
+ offset: Annotated[
523
+ Optional[StrictInt],
524
+ Field(
525
+ description="Offset the number of strategies returned. 0 means no offset."
526
+ ),
527
+ ] = None,
528
+ _request_timeout: Union[
529
+ None,
530
+ Annotated[StrictFloat, Field(gt=0)],
531
+ Tuple[
532
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
533
+ ],
534
+ ] = None,
535
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
536
+ _content_type: Optional[StrictStr] = None,
537
+ _headers: Optional[Dict[StrictStr, Any]] = None,
538
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
539
+ ) -> List[Strategy]:
540
+ """Get Strategies
541
+
542
+ This method can work in both sync and async modes based on the is_sync flag.
543
+ """
544
+ if self.is_sync:
545
+ return self._get_strategies_sync(
546
+ limit=limit,
547
+ offset=offset,
548
+ _request_timeout=_request_timeout,
549
+ _request_auth=_request_auth,
550
+ _content_type=_content_type,
551
+ _headers=_headers,
552
+ _host_index=_host_index,
553
+ )
554
+
555
+ else:
556
+ return self._get_strategies_async(
557
+ limit=limit,
558
+ offset=offset,
559
+ _request_timeout=_request_timeout,
560
+ _request_auth=_request_auth,
561
+ _content_type=_content_type,
562
+ _headers=_headers,
563
+ _host_index=_host_index,
564
+ )
565
+
566
+ @validate_call
567
+ def get_strategies_with_http_info(
568
+ self,
569
+ limit: Annotated[
570
+ Optional[StrictInt],
571
+ Field(
572
+ description="Limit the number of strategies returned. 0 means no limit."
573
+ ),
574
+ ] = None,
575
+ offset: Annotated[
576
+ Optional[StrictInt],
577
+ Field(
578
+ description="Offset the number of strategies returned. 0 means no offset."
579
+ ),
580
+ ] = None,
581
+ _request_timeout: Union[
582
+ None,
583
+ Annotated[StrictFloat, Field(gt=0)],
584
+ Tuple[
585
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
586
+ ],
587
+ ] = None,
588
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
589
+ _content_type: Optional[StrictStr] = None,
590
+ _headers: Optional[Dict[StrictStr, Any]] = None,
591
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
592
+ ) -> ApiResponse[List[Strategy]]:
593
+ """Get Strategies with HTTP info
594
+
595
+ This method can work in both sync and async modes based on the is_sync flag.
596
+ """
597
+ if self.is_sync:
598
+ return self._get_strategies_sync_with_http_info(
599
+ limit=limit,
600
+ offset=offset,
601
+ _request_timeout=_request_timeout,
602
+ _request_auth=_request_auth,
603
+ _content_type=_content_type,
604
+ _headers=_headers,
605
+ _host_index=_host_index,
606
+ )
607
+
608
+ else:
609
+ return self._get_strategies_async_with_http_info(
610
+ limit=limit,
611
+ offset=offset,
612
+ _request_timeout=_request_timeout,
613
+ _request_auth=_request_auth,
614
+ _content_type=_content_type,
615
+ _headers=_headers,
616
+ _host_index=_host_index,
617
+ )
618
+
619
+ @validate_call
620
+ def get_strategies_without_preload_content(
621
+ self,
622
+ limit: Annotated[
623
+ Optional[StrictInt],
624
+ Field(
625
+ description="Limit the number of strategies returned. 0 means no limit."
626
+ ),
627
+ ] = None,
628
+ offset: Annotated[
629
+ Optional[StrictInt],
630
+ Field(
631
+ description="Offset the number of strategies returned. 0 means no offset."
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 Strategies 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_strategies_sync_without_preload_content(
652
+ limit=limit,
653
+ offset=offset,
654
+ _request_timeout=_request_timeout,
655
+ _request_auth=_request_auth,
656
+ _content_type=_content_type,
657
+ _headers=_headers,
658
+ _host_index=_host_index,
659
+ )
660
+
661
+ else:
662
+ return self._get_strategies_async_without_preload_content(
663
+ limit=limit,
664
+ offset=offset,
665
+ _request_timeout=_request_timeout,
666
+ _request_auth=_request_auth,
667
+ _content_type=_content_type,
668
+ _headers=_headers,
669
+ _host_index=_host_index,
670
+ )
671
+
672
+ # Private async implementation methods
673
+ @validate_call
674
+ async def _get_strategies_async(
297
675
  self,
298
676
  limit: Annotated[
299
677
  Optional[StrictInt],
@@ -371,7 +749,7 @@ class StrategiesApi:
371
749
  ).data
372
750
 
373
751
  @validate_call
374
- async def get_strategies_with_http_info(
752
+ async def _get_strategies_async_with_http_info(
375
753
  self,
376
754
  limit: Annotated[
377
755
  Optional[StrictInt],
@@ -444,12 +822,11 @@ class StrategiesApi:
444
822
  )
445
823
  await response_data.read()
446
824
  return self.api_client.response_deserialize(
447
- response_data=response_data,
448
- response_types_map=_response_types_map,
825
+ response_data=response_data, response_types_map=_response_types_map
449
826
  )
450
827
 
451
828
  @validate_call
452
- async def get_strategies_without_preload_content(
829
+ async def _get_strategies_async_without_preload_content(
453
830
  self,
454
831
  limit: Annotated[
455
832
  Optional[StrictInt],
@@ -520,31 +897,146 @@ class StrategiesApi:
520
897
  response_data = await self.api_client.call_api(
521
898
  *_param, _request_timeout=_request_timeout
522
899
  )
523
- return response_data.response
900
+ return response_data
524
901
 
525
- def _get_strategies_serialize(
902
+ # Private sync implementation methods
903
+ @validate_call
904
+ def _get_strategies_sync(
526
905
  self,
527
- limit,
528
- offset,
529
- _request_auth,
530
- _content_type,
531
- _headers,
532
- _host_index,
533
- ) -> RequestSerialized:
534
-
535
- _host = None
536
-
537
- _collection_formats: Dict[str, str] = {}
538
-
539
- _path_params: Dict[str, str] = {}
540
- _query_params: List[Tuple[str, str]] = []
541
- _header_params: Dict[str, Optional[str]] = _headers or {}
542
- _form_params: List[Tuple[str, str]] = []
543
- _files: Dict[
544
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
545
- ] = {}
546
- _body_params: Optional[bytes] = None
547
-
906
+ limit: Annotated[
907
+ Optional[StrictInt],
908
+ Field(
909
+ description="Limit the number of strategies returned. 0 means no limit."
910
+ ),
911
+ ] = None,
912
+ offset: Annotated[
913
+ Optional[StrictInt],
914
+ Field(
915
+ description="Offset the number of strategies returned. 0 means no offset."
916
+ ),
917
+ ] = None,
918
+ _request_timeout: Union[
919
+ None,
920
+ Annotated[StrictFloat, Field(gt=0)],
921
+ Tuple[
922
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
923
+ ],
924
+ ] = None,
925
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
926
+ _content_type: Optional[StrictStr] = None,
927
+ _headers: Optional[Dict[StrictStr, Any]] = None,
928
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
929
+ ) -> List[Strategy]:
930
+ """Synchronous version of get_strategies"""
931
+ return async_to_sync(self._get_strategies_async)(
932
+ limit=limit,
933
+ offset=offset,
934
+ _request_timeout=_request_timeout,
935
+ _request_auth=_request_auth,
936
+ _content_type=_content_type,
937
+ _headers=_headers,
938
+ _host_index=_host_index,
939
+ )
940
+
941
+ @validate_call
942
+ def _get_strategies_sync_with_http_info(
943
+ self,
944
+ limit: Annotated[
945
+ Optional[StrictInt],
946
+ Field(
947
+ description="Limit the number of strategies returned. 0 means no limit."
948
+ ),
949
+ ] = None,
950
+ offset: Annotated[
951
+ Optional[StrictInt],
952
+ Field(
953
+ description="Offset the number of strategies returned. 0 means no offset."
954
+ ),
955
+ ] = None,
956
+ _request_timeout: Union[
957
+ None,
958
+ Annotated[StrictFloat, Field(gt=0)],
959
+ Tuple[
960
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
961
+ ],
962
+ ] = None,
963
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
964
+ _content_type: Optional[StrictStr] = None,
965
+ _headers: Optional[Dict[StrictStr, Any]] = None,
966
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
967
+ ) -> ApiResponse[List[Strategy]]:
968
+ """Synchronous version of get_strategies_with_http_info"""
969
+ return async_to_sync(self._get_strategies_async_with_http_info)(
970
+ limit=limit,
971
+ offset=offset,
972
+ _request_timeout=_request_timeout,
973
+ _request_auth=_request_auth,
974
+ _content_type=_content_type,
975
+ _headers=_headers,
976
+ _host_index=_host_index,
977
+ )
978
+
979
+ @validate_call
980
+ def _get_strategies_sync_without_preload_content(
981
+ self,
982
+ limit: Annotated[
983
+ Optional[StrictInt],
984
+ Field(
985
+ description="Limit the number of strategies returned. 0 means no limit."
986
+ ),
987
+ ] = None,
988
+ offset: Annotated[
989
+ Optional[StrictInt],
990
+ Field(
991
+ description="Offset the number of strategies returned. 0 means no offset."
992
+ ),
993
+ ] = None,
994
+ _request_timeout: Union[
995
+ None,
996
+ Annotated[StrictFloat, Field(gt=0)],
997
+ Tuple[
998
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
999
+ ],
1000
+ ] = None,
1001
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1002
+ _content_type: Optional[StrictStr] = None,
1003
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1004
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1005
+ ) -> RESTResponseType:
1006
+ """Synchronous version of get_strategies_without_preload_content"""
1007
+ return async_to_sync(self._get_strategies_async_without_preload_content)(
1008
+ limit=limit,
1009
+ offset=offset,
1010
+ _request_timeout=_request_timeout,
1011
+ _request_auth=_request_auth,
1012
+ _content_type=_content_type,
1013
+ _headers=_headers,
1014
+ _host_index=_host_index,
1015
+ )
1016
+
1017
+ def _get_strategies_serialize(
1018
+ self,
1019
+ limit,
1020
+ offset,
1021
+ _request_auth,
1022
+ _content_type,
1023
+ _headers,
1024
+ _host_index,
1025
+ ) -> RequestSerialized:
1026
+
1027
+ _host = None
1028
+
1029
+ _collection_formats: Dict[str, str] = {}
1030
+
1031
+ _path_params: Dict[str, str] = {}
1032
+ _query_params: List[Tuple[str, str]] = []
1033
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1034
+ _form_params: List[Tuple[str, str]] = []
1035
+ _files: Dict[
1036
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1037
+ ] = {}
1038
+ _body_params: Optional[bytes] = None
1039
+
548
1040
  # process the path parameters
549
1041
  # process the query parameters
550
1042
  if limit is not None:
@@ -584,7 +1076,119 @@ class StrategiesApi:
584
1076
  )
585
1077
 
586
1078
  @validate_call
587
- async def get_strategy_usage(
1079
+ def get_strategy_usage(
1080
+ self,
1081
+ _request_timeout: Union[
1082
+ None,
1083
+ Annotated[StrictFloat, Field(gt=0)],
1084
+ Tuple[
1085
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1086
+ ],
1087
+ ] = None,
1088
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1089
+ _content_type: Optional[StrictStr] = None,
1090
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1091
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1092
+ ) -> List[List[object]]:
1093
+ """Get Strategy Usage
1094
+
1095
+ This method can work in both sync and async modes based on the is_sync flag.
1096
+ """
1097
+ if self.is_sync:
1098
+ return self._get_strategy_usage_sync(
1099
+ _request_timeout=_request_timeout,
1100
+ _request_auth=_request_auth,
1101
+ _content_type=_content_type,
1102
+ _headers=_headers,
1103
+ _host_index=_host_index,
1104
+ )
1105
+
1106
+ else:
1107
+ return self._get_strategy_usage_async(
1108
+ _request_timeout=_request_timeout,
1109
+ _request_auth=_request_auth,
1110
+ _content_type=_content_type,
1111
+ _headers=_headers,
1112
+ _host_index=_host_index,
1113
+ )
1114
+
1115
+ @validate_call
1116
+ def get_strategy_usage_with_http_info(
1117
+ self,
1118
+ _request_timeout: Union[
1119
+ None,
1120
+ Annotated[StrictFloat, Field(gt=0)],
1121
+ Tuple[
1122
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1123
+ ],
1124
+ ] = None,
1125
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1126
+ _content_type: Optional[StrictStr] = None,
1127
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1128
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1129
+ ) -> ApiResponse[List[List[object]]]:
1130
+ """Get Strategy Usage with HTTP info
1131
+
1132
+ This method can work in both sync and async modes based on the is_sync flag.
1133
+ """
1134
+ if self.is_sync:
1135
+ return self._get_strategy_usage_sync_with_http_info(
1136
+ _request_timeout=_request_timeout,
1137
+ _request_auth=_request_auth,
1138
+ _content_type=_content_type,
1139
+ _headers=_headers,
1140
+ _host_index=_host_index,
1141
+ )
1142
+
1143
+ else:
1144
+ return self._get_strategy_usage_async_with_http_info(
1145
+ _request_timeout=_request_timeout,
1146
+ _request_auth=_request_auth,
1147
+ _content_type=_content_type,
1148
+ _headers=_headers,
1149
+ _host_index=_host_index,
1150
+ )
1151
+
1152
+ @validate_call
1153
+ def get_strategy_usage_without_preload_content(
1154
+ self,
1155
+ _request_timeout: Union[
1156
+ None,
1157
+ Annotated[StrictFloat, Field(gt=0)],
1158
+ Tuple[
1159
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1160
+ ],
1161
+ ] = None,
1162
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1163
+ _content_type: Optional[StrictStr] = None,
1164
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1165
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1166
+ ) -> RESTResponseType:
1167
+ """Get Strategy Usage without preloading content
1168
+
1169
+ This method can work in both sync and async modes based on the is_sync flag.
1170
+ """
1171
+ if self.is_sync:
1172
+ return self._get_strategy_usage_sync_without_preload_content(
1173
+ _request_timeout=_request_timeout,
1174
+ _request_auth=_request_auth,
1175
+ _content_type=_content_type,
1176
+ _headers=_headers,
1177
+ _host_index=_host_index,
1178
+ )
1179
+
1180
+ else:
1181
+ return self._get_strategy_usage_async_without_preload_content(
1182
+ _request_timeout=_request_timeout,
1183
+ _request_auth=_request_auth,
1184
+ _content_type=_content_type,
1185
+ _headers=_headers,
1186
+ _host_index=_host_index,
1187
+ )
1188
+
1189
+ # Private async implementation methods
1190
+ @validate_call
1191
+ async def _get_strategy_usage_async(
588
1192
  self,
589
1193
  _request_timeout: Union[
590
1194
  None,
@@ -644,7 +1248,7 @@ class StrategiesApi:
644
1248
  ).data
645
1249
 
646
1250
  @validate_call
647
- async def get_strategy_usage_with_http_info(
1251
+ async def _get_strategy_usage_async_with_http_info(
648
1252
  self,
649
1253
  _request_timeout: Union[
650
1254
  None,
@@ -699,12 +1303,11 @@ class StrategiesApi:
699
1303
  )
700
1304
  await response_data.read()
701
1305
  return self.api_client.response_deserialize(
702
- response_data=response_data,
703
- response_types_map=_response_types_map,
1306
+ response_data=response_data, response_types_map=_response_types_map
704
1307
  )
705
1308
 
706
1309
  @validate_call
707
- async def get_strategy_usage_without_preload_content(
1310
+ async def _get_strategy_usage_async_without_preload_content(
708
1311
  self,
709
1312
  _request_timeout: Union[
710
1313
  None,
@@ -757,7 +1360,80 @@ class StrategiesApi:
757
1360
  response_data = await self.api_client.call_api(
758
1361
  *_param, _request_timeout=_request_timeout
759
1362
  )
760
- return response_data.response
1363
+ return response_data
1364
+
1365
+ # Private sync implementation methods
1366
+ @validate_call
1367
+ def _get_strategy_usage_sync(
1368
+ self,
1369
+ _request_timeout: Union[
1370
+ None,
1371
+ Annotated[StrictFloat, Field(gt=0)],
1372
+ Tuple[
1373
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1374
+ ],
1375
+ ] = None,
1376
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1377
+ _content_type: Optional[StrictStr] = None,
1378
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1379
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1380
+ ) -> List[List[object]]:
1381
+ """Synchronous version of get_strategy_usage"""
1382
+ return async_to_sync(self._get_strategy_usage_async)(
1383
+ _request_timeout=_request_timeout,
1384
+ _request_auth=_request_auth,
1385
+ _content_type=_content_type,
1386
+ _headers=_headers,
1387
+ _host_index=_host_index,
1388
+ )
1389
+
1390
+ @validate_call
1391
+ def _get_strategy_usage_sync_with_http_info(
1392
+ self,
1393
+ _request_timeout: Union[
1394
+ None,
1395
+ Annotated[StrictFloat, Field(gt=0)],
1396
+ Tuple[
1397
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1398
+ ],
1399
+ ] = None,
1400
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1401
+ _content_type: Optional[StrictStr] = None,
1402
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1403
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1404
+ ) -> ApiResponse[List[List[object]]]:
1405
+ """Synchronous version of get_strategy_usage_with_http_info"""
1406
+ return async_to_sync(self._get_strategy_usage_async_with_http_info)(
1407
+ _request_timeout=_request_timeout,
1408
+ _request_auth=_request_auth,
1409
+ _content_type=_content_type,
1410
+ _headers=_headers,
1411
+ _host_index=_host_index,
1412
+ )
1413
+
1414
+ @validate_call
1415
+ def _get_strategy_usage_sync_without_preload_content(
1416
+ self,
1417
+ _request_timeout: Union[
1418
+ None,
1419
+ Annotated[StrictFloat, Field(gt=0)],
1420
+ Tuple[
1421
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1422
+ ],
1423
+ ] = None,
1424
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1425
+ _content_type: Optional[StrictStr] = None,
1426
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1427
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1428
+ ) -> RESTResponseType:
1429
+ """Synchronous version of get_strategy_usage_without_preload_content"""
1430
+ return async_to_sync(self._get_strategy_usage_async_without_preload_content)(
1431
+ _request_timeout=_request_timeout,
1432
+ _request_auth=_request_auth,
1433
+ _content_type=_content_type,
1434
+ _headers=_headers,
1435
+ _host_index=_host_index,
1436
+ )
761
1437
 
762
1438
  def _get_strategy_usage_serialize(
763
1439
  self,
@@ -792,26 +1468,147 @@ class StrategiesApi:
792
1468
  ["application/json"]
793
1469
  )
794
1470
 
795
- # authentication setting
796
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1471
+ # authentication setting
1472
+ _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1473
+
1474
+ return self.api_client.param_serialize(
1475
+ method="GET",
1476
+ resource_path="/strategies/usage",
1477
+ path_params=_path_params,
1478
+ query_params=_query_params,
1479
+ header_params=_header_params,
1480
+ body=_body_params,
1481
+ post_params=_form_params,
1482
+ files=_files,
1483
+ auth_settings=_auth_settings,
1484
+ collection_formats=_collection_formats,
1485
+ _host=_host,
1486
+ _request_auth=_request_auth,
1487
+ )
1488
+
1489
+ @validate_call
1490
+ def kill_strategy(
1491
+ self,
1492
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1493
+ _request_timeout: Union[
1494
+ None,
1495
+ Annotated[StrictFloat, Field(gt=0)],
1496
+ Tuple[
1497
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1498
+ ],
1499
+ ] = None,
1500
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1501
+ _content_type: Optional[StrictStr] = None,
1502
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1503
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1504
+ ) -> None:
1505
+ """Kill Strategy
1506
+
1507
+ This method can work in both sync and async modes based on the is_sync flag.
1508
+ """
1509
+ if self.is_sync:
1510
+ return self._kill_strategy_sync(
1511
+ id=id,
1512
+ _request_timeout=_request_timeout,
1513
+ _request_auth=_request_auth,
1514
+ _content_type=_content_type,
1515
+ _headers=_headers,
1516
+ _host_index=_host_index,
1517
+ )
1518
+
1519
+ else:
1520
+ return self._kill_strategy_async(
1521
+ id=id,
1522
+ _request_timeout=_request_timeout,
1523
+ _request_auth=_request_auth,
1524
+ _content_type=_content_type,
1525
+ _headers=_headers,
1526
+ _host_index=_host_index,
1527
+ )
1528
+
1529
+ @validate_call
1530
+ def kill_strategy_with_http_info(
1531
+ self,
1532
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1533
+ _request_timeout: Union[
1534
+ None,
1535
+ Annotated[StrictFloat, Field(gt=0)],
1536
+ Tuple[
1537
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1538
+ ],
1539
+ ] = None,
1540
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1541
+ _content_type: Optional[StrictStr] = None,
1542
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1543
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1544
+ ) -> ApiResponse[None]:
1545
+ """Kill Strategy with HTTP info
1546
+
1547
+ This method can work in both sync and async modes based on the is_sync flag.
1548
+ """
1549
+ if self.is_sync:
1550
+ return self._kill_strategy_sync_with_http_info(
1551
+ id=id,
1552
+ _request_timeout=_request_timeout,
1553
+ _request_auth=_request_auth,
1554
+ _content_type=_content_type,
1555
+ _headers=_headers,
1556
+ _host_index=_host_index,
1557
+ )
1558
+
1559
+ else:
1560
+ return self._kill_strategy_async_with_http_info(
1561
+ id=id,
1562
+ _request_timeout=_request_timeout,
1563
+ _request_auth=_request_auth,
1564
+ _content_type=_content_type,
1565
+ _headers=_headers,
1566
+ _host_index=_host_index,
1567
+ )
797
1568
 
798
- return self.api_client.param_serialize(
799
- method="GET",
800
- resource_path="/strategies/usage",
801
- path_params=_path_params,
802
- query_params=_query_params,
803
- header_params=_header_params,
804
- body=_body_params,
805
- post_params=_form_params,
806
- files=_files,
807
- auth_settings=_auth_settings,
808
- collection_formats=_collection_formats,
809
- _host=_host,
810
- _request_auth=_request_auth,
811
- )
1569
+ @validate_call
1570
+ def kill_strategy_without_preload_content(
1571
+ self,
1572
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1573
+ _request_timeout: Union[
1574
+ None,
1575
+ Annotated[StrictFloat, Field(gt=0)],
1576
+ Tuple[
1577
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1578
+ ],
1579
+ ] = None,
1580
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1581
+ _content_type: Optional[StrictStr] = None,
1582
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1583
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1584
+ ) -> RESTResponseType:
1585
+ """Kill Strategy without preloading content
1586
+
1587
+ This method can work in both sync and async modes based on the is_sync flag.
1588
+ """
1589
+ if self.is_sync:
1590
+ return self._kill_strategy_sync_without_preload_content(
1591
+ id=id,
1592
+ _request_timeout=_request_timeout,
1593
+ _request_auth=_request_auth,
1594
+ _content_type=_content_type,
1595
+ _headers=_headers,
1596
+ _host_index=_host_index,
1597
+ )
1598
+
1599
+ else:
1600
+ return self._kill_strategy_async_without_preload_content(
1601
+ id=id,
1602
+ _request_timeout=_request_timeout,
1603
+ _request_auth=_request_auth,
1604
+ _content_type=_content_type,
1605
+ _headers=_headers,
1606
+ _host_index=_host_index,
1607
+ )
812
1608
 
1609
+ # Private async implementation methods
813
1610
  @validate_call
814
- async def kill_strategy(
1611
+ async def _kill_strategy_async(
815
1612
  self,
816
1613
  id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
817
1614
  _request_timeout: Union[
@@ -875,7 +1672,7 @@ class StrategiesApi:
875
1672
  ).data
876
1673
 
877
1674
  @validate_call
878
- async def kill_strategy_with_http_info(
1675
+ async def _kill_strategy_async_with_http_info(
879
1676
  self,
880
1677
  id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
881
1678
  _request_timeout: Union[
@@ -934,12 +1731,11 @@ class StrategiesApi:
934
1731
  )
935
1732
  await response_data.read()
936
1733
  return self.api_client.response_deserialize(
937
- response_data=response_data,
938
- response_types_map=_response_types_map,
1734
+ response_data=response_data, response_types_map=_response_types_map
939
1735
  )
940
1736
 
941
1737
  @validate_call
942
- async def kill_strategy_without_preload_content(
1738
+ async def _kill_strategy_async_without_preload_content(
943
1739
  self,
944
1740
  id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
945
1741
  _request_timeout: Union[
@@ -996,7 +1792,86 @@ class StrategiesApi:
996
1792
  response_data = await self.api_client.call_api(
997
1793
  *_param, _request_timeout=_request_timeout
998
1794
  )
999
- return response_data.response
1795
+ return response_data
1796
+
1797
+ # Private sync implementation methods
1798
+ @validate_call
1799
+ def _kill_strategy_sync(
1800
+ self,
1801
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1802
+ _request_timeout: Union[
1803
+ None,
1804
+ Annotated[StrictFloat, Field(gt=0)],
1805
+ Tuple[
1806
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1807
+ ],
1808
+ ] = None,
1809
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1810
+ _content_type: Optional[StrictStr] = None,
1811
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1812
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1813
+ ) -> None:
1814
+ """Synchronous version of kill_strategy"""
1815
+ return async_to_sync(self._kill_strategy_async)(
1816
+ id=id,
1817
+ _request_timeout=_request_timeout,
1818
+ _request_auth=_request_auth,
1819
+ _content_type=_content_type,
1820
+ _headers=_headers,
1821
+ _host_index=_host_index,
1822
+ )
1823
+
1824
+ @validate_call
1825
+ def _kill_strategy_sync_with_http_info(
1826
+ self,
1827
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1828
+ _request_timeout: Union[
1829
+ None,
1830
+ Annotated[StrictFloat, Field(gt=0)],
1831
+ Tuple[
1832
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1833
+ ],
1834
+ ] = None,
1835
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1836
+ _content_type: Optional[StrictStr] = None,
1837
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1838
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1839
+ ) -> ApiResponse[None]:
1840
+ """Synchronous version of kill_strategy_with_http_info"""
1841
+ return async_to_sync(self._kill_strategy_async_with_http_info)(
1842
+ id=id,
1843
+ _request_timeout=_request_timeout,
1844
+ _request_auth=_request_auth,
1845
+ _content_type=_content_type,
1846
+ _headers=_headers,
1847
+ _host_index=_host_index,
1848
+ )
1849
+
1850
+ @validate_call
1851
+ def _kill_strategy_sync_without_preload_content(
1852
+ self,
1853
+ id: Annotated[StrictStr, Field(description="The ID of the strategy to kill.")],
1854
+ _request_timeout: Union[
1855
+ None,
1856
+ Annotated[StrictFloat, Field(gt=0)],
1857
+ Tuple[
1858
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1859
+ ],
1860
+ ] = None,
1861
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1862
+ _content_type: Optional[StrictStr] = None,
1863
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1864
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1865
+ ) -> RESTResponseType:
1866
+ """Synchronous version of kill_strategy_without_preload_content"""
1867
+ return async_to_sync(self._kill_strategy_async_without_preload_content)(
1868
+ id=id,
1869
+ _request_timeout=_request_timeout,
1870
+ _request_auth=_request_auth,
1871
+ _content_type=_content_type,
1872
+ _headers=_headers,
1873
+ _host_index=_host_index,
1874
+ )
1000
1875
 
1001
1876
  def _kill_strategy_serialize(
1002
1877
  self,
@@ -1053,7 +1928,143 @@ class StrategiesApi:
1053
1928
  )
1054
1929
 
1055
1930
  @validate_call
1056
- async def update_strategy(
1931
+ def update_strategy(
1932
+ self,
1933
+ id: Annotated[
1934
+ StrictStr, Field(description="The ID of the strategy to update.")
1935
+ ],
1936
+ strategy_update: StrategyUpdate,
1937
+ _request_timeout: Union[
1938
+ None,
1939
+ Annotated[StrictFloat, Field(gt=0)],
1940
+ Tuple[
1941
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1942
+ ],
1943
+ ] = None,
1944
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1945
+ _content_type: Optional[StrictStr] = None,
1946
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1947
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1948
+ ) -> Strategy:
1949
+ """Update Strategy
1950
+
1951
+ This method can work in both sync and async modes based on the is_sync flag.
1952
+ """
1953
+ if self.is_sync:
1954
+ return self._update_strategy_sync(
1955
+ id=id,
1956
+ strategy_update=strategy_update,
1957
+ _request_timeout=_request_timeout,
1958
+ _request_auth=_request_auth,
1959
+ _content_type=_content_type,
1960
+ _headers=_headers,
1961
+ _host_index=_host_index,
1962
+ )
1963
+
1964
+ else:
1965
+ return self._update_strategy_async(
1966
+ id=id,
1967
+ strategy_update=strategy_update,
1968
+ _request_timeout=_request_timeout,
1969
+ _request_auth=_request_auth,
1970
+ _content_type=_content_type,
1971
+ _headers=_headers,
1972
+ _host_index=_host_index,
1973
+ )
1974
+
1975
+ @validate_call
1976
+ def update_strategy_with_http_info(
1977
+ self,
1978
+ id: Annotated[
1979
+ StrictStr, Field(description="The ID of the strategy to update.")
1980
+ ],
1981
+ strategy_update: StrategyUpdate,
1982
+ _request_timeout: Union[
1983
+ None,
1984
+ Annotated[StrictFloat, Field(gt=0)],
1985
+ Tuple[
1986
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1987
+ ],
1988
+ ] = None,
1989
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1990
+ _content_type: Optional[StrictStr] = None,
1991
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1992
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1993
+ ) -> ApiResponse[Strategy]:
1994
+ """Update Strategy with HTTP info
1995
+
1996
+ This method can work in both sync and async modes based on the is_sync flag.
1997
+ """
1998
+ if self.is_sync:
1999
+ return self._update_strategy_sync_with_http_info(
2000
+ id=id,
2001
+ strategy_update=strategy_update,
2002
+ _request_timeout=_request_timeout,
2003
+ _request_auth=_request_auth,
2004
+ _content_type=_content_type,
2005
+ _headers=_headers,
2006
+ _host_index=_host_index,
2007
+ )
2008
+
2009
+ else:
2010
+ return self._update_strategy_async_with_http_info(
2011
+ id=id,
2012
+ strategy_update=strategy_update,
2013
+ _request_timeout=_request_timeout,
2014
+ _request_auth=_request_auth,
2015
+ _content_type=_content_type,
2016
+ _headers=_headers,
2017
+ _host_index=_host_index,
2018
+ )
2019
+
2020
+ @validate_call
2021
+ def update_strategy_without_preload_content(
2022
+ self,
2023
+ id: Annotated[
2024
+ StrictStr, Field(description="The ID of the strategy to update.")
2025
+ ],
2026
+ strategy_update: StrategyUpdate,
2027
+ _request_timeout: Union[
2028
+ None,
2029
+ Annotated[StrictFloat, Field(gt=0)],
2030
+ Tuple[
2031
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2032
+ ],
2033
+ ] = None,
2034
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2035
+ _content_type: Optional[StrictStr] = None,
2036
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2037
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2038
+ ) -> RESTResponseType:
2039
+ """Update Strategy without preloading content
2040
+
2041
+ This method can work in both sync and async modes based on the is_sync flag.
2042
+ """
2043
+ if self.is_sync:
2044
+ return self._update_strategy_sync_without_preload_content(
2045
+ id=id,
2046
+ strategy_update=strategy_update,
2047
+ _request_timeout=_request_timeout,
2048
+ _request_auth=_request_auth,
2049
+ _content_type=_content_type,
2050
+ _headers=_headers,
2051
+ _host_index=_host_index,
2052
+ )
2053
+
2054
+ else:
2055
+ return self._update_strategy_async_without_preload_content(
2056
+ id=id,
2057
+ strategy_update=strategy_update,
2058
+ _request_timeout=_request_timeout,
2059
+ _request_auth=_request_auth,
2060
+ _content_type=_content_type,
2061
+ _headers=_headers,
2062
+ _host_index=_host_index,
2063
+ )
2064
+
2065
+ # Private async implementation methods
2066
+ @validate_call
2067
+ async def _update_strategy_async(
1057
2068
  self,
1058
2069
  id: Annotated[
1059
2070
  StrictStr, Field(description="The ID of the strategy to update.")
@@ -1123,7 +2134,7 @@ class StrategiesApi:
1123
2134
  ).data
1124
2135
 
1125
2136
  @validate_call
1126
- async def update_strategy_with_http_info(
2137
+ async def _update_strategy_async_with_http_info(
1127
2138
  self,
1128
2139
  id: Annotated[
1129
2140
  StrictStr, Field(description="The ID of the strategy to update.")
@@ -1188,12 +2199,11 @@ class StrategiesApi:
1188
2199
  )
1189
2200
  await response_data.read()
1190
2201
  return self.api_client.response_deserialize(
1191
- response_data=response_data,
1192
- response_types_map=_response_types_map,
2202
+ response_data=response_data, response_types_map=_response_types_map
1193
2203
  )
1194
2204
 
1195
2205
  @validate_call
1196
- async def update_strategy_without_preload_content(
2206
+ async def _update_strategy_async_without_preload_content(
1197
2207
  self,
1198
2208
  id: Annotated[
1199
2209
  StrictStr, Field(description="The ID of the strategy to update.")
@@ -1256,7 +2266,98 @@ class StrategiesApi:
1256
2266
  response_data = await self.api_client.call_api(
1257
2267
  *_param, _request_timeout=_request_timeout
1258
2268
  )
1259
- return response_data.response
2269
+ return response_data
2270
+
2271
+ # Private sync implementation methods
2272
+ @validate_call
2273
+ def _update_strategy_sync(
2274
+ self,
2275
+ id: Annotated[
2276
+ StrictStr, Field(description="The ID of the strategy to update.")
2277
+ ],
2278
+ strategy_update: StrategyUpdate,
2279
+ _request_timeout: Union[
2280
+ None,
2281
+ Annotated[StrictFloat, Field(gt=0)],
2282
+ Tuple[
2283
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2284
+ ],
2285
+ ] = None,
2286
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2287
+ _content_type: Optional[StrictStr] = None,
2288
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2289
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2290
+ ) -> Strategy:
2291
+ """Synchronous version of update_strategy"""
2292
+ return async_to_sync(self._update_strategy_async)(
2293
+ id=id,
2294
+ strategy_update=strategy_update,
2295
+ _request_timeout=_request_timeout,
2296
+ _request_auth=_request_auth,
2297
+ _content_type=_content_type,
2298
+ _headers=_headers,
2299
+ _host_index=_host_index,
2300
+ )
2301
+
2302
+ @validate_call
2303
+ def _update_strategy_sync_with_http_info(
2304
+ self,
2305
+ id: Annotated[
2306
+ StrictStr, Field(description="The ID of the strategy to update.")
2307
+ ],
2308
+ strategy_update: StrategyUpdate,
2309
+ _request_timeout: Union[
2310
+ None,
2311
+ Annotated[StrictFloat, Field(gt=0)],
2312
+ Tuple[
2313
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2314
+ ],
2315
+ ] = None,
2316
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2317
+ _content_type: Optional[StrictStr] = None,
2318
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2319
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2320
+ ) -> ApiResponse[Strategy]:
2321
+ """Synchronous version of update_strategy_with_http_info"""
2322
+ return async_to_sync(self._update_strategy_async_with_http_info)(
2323
+ id=id,
2324
+ strategy_update=strategy_update,
2325
+ _request_timeout=_request_timeout,
2326
+ _request_auth=_request_auth,
2327
+ _content_type=_content_type,
2328
+ _headers=_headers,
2329
+ _host_index=_host_index,
2330
+ )
2331
+
2332
+ @validate_call
2333
+ def _update_strategy_sync_without_preload_content(
2334
+ self,
2335
+ id: Annotated[
2336
+ StrictStr, Field(description="The ID of the strategy to update.")
2337
+ ],
2338
+ strategy_update: StrategyUpdate,
2339
+ _request_timeout: Union[
2340
+ None,
2341
+ Annotated[StrictFloat, Field(gt=0)],
2342
+ Tuple[
2343
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
2344
+ ],
2345
+ ] = None,
2346
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2347
+ _content_type: Optional[StrictStr] = None,
2348
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2349
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2350
+ ) -> RESTResponseType:
2351
+ """Synchronous version of update_strategy_without_preload_content"""
2352
+ return async_to_sync(self._update_strategy_async_without_preload_content)(
2353
+ id=id,
2354
+ strategy_update=strategy_update,
2355
+ _request_timeout=_request_timeout,
2356
+ _request_auth=_request_auth,
2357
+ _content_type=_content_type,
2358
+ _headers=_headers,
2359
+ _host_index=_host_index,
2360
+ )
1260
2361
 
1261
2362
  def _update_strategy_serialize(
1262
2363
  self,