crypticorn 2.5.0rc5__py3-none-any.whl → 2.5.2__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 (144) hide show
  1. crypticorn/auth/main.py +2 -0
  2. crypticorn/client.py +60 -69
  3. crypticorn/common/__init__.py +3 -1
  4. crypticorn/common/auth.py +38 -20
  5. crypticorn/common/enums.py +4 -31
  6. crypticorn/common/errors.py +72 -17
  7. crypticorn/common/exceptions.py +29 -15
  8. crypticorn/common/mixins.py +37 -0
  9. crypticorn/common/status_router.py +42 -0
  10. crypticorn/common/urls.py +2 -1
  11. crypticorn/common/utils.py +9 -14
  12. crypticorn/hive/main.py +2 -0
  13. crypticorn/klines/client/__init__.py +10 -43
  14. crypticorn/klines/client/api/__init__.py +1 -1
  15. crypticorn/klines/client/api/change_in_timeframe_api.py +16 -31
  16. crypticorn/klines/client/api/funding_rates_api.py +8 -22
  17. crypticorn/klines/client/api/ohlcv_data_api.py +17 -38
  18. crypticorn/klines/client/api/{health_check_api.py → status_api.py} +18 -23
  19. crypticorn/klines/client/api/symbols_api.py +18 -34
  20. crypticorn/klines/client/api/udf_api.py +48 -59
  21. crypticorn/klines/client/api_client.py +1 -1
  22. crypticorn/klines/client/configuration.py +1 -1
  23. crypticorn/klines/client/exceptions.py +1 -1
  24. crypticorn/klines/client/models/__init__.py +9 -42
  25. crypticorn/klines/client/models/{change_in_timeframe_response.py → change_in_timeframe.py} +5 -5
  26. crypticorn/klines/client/models/{error_response.py → exception_detail.py} +25 -20
  27. crypticorn/klines/client/models/{funding_rate_response.py → funding_rate.py} +5 -5
  28. crypticorn/klines/client/models/{ohlcv_response.py → ohlcv_history.py} +14 -14
  29. crypticorn/klines/client/models/resolution.py +1 -1
  30. crypticorn/klines/client/models/{exchange.py → search_symbol.py} +17 -13
  31. crypticorn/klines/client/models/sort_direction.py +1 -1
  32. crypticorn/klines/client/models/{symbol_group_response.py → symbol_group.py} +5 -5
  33. crypticorn/klines/client/models/{symbol_info_response.py → symbol_info.py} +5 -5
  34. crypticorn/klines/client/models/symbol_type.py +1 -1
  35. crypticorn/klines/client/models/timeframe.py +1 -1
  36. crypticorn/klines/client/models/{udf_config_response.py → udf_config.py} +7 -19
  37. crypticorn/klines/client/rest.py +1 -1
  38. crypticorn/klines/main.py +40 -23
  39. crypticorn/metrics/client/__init__.py +3 -22
  40. crypticorn/metrics/client/api/__init__.py +1 -1
  41. crypticorn/metrics/client/api/exchanges_api.py +53 -97
  42. crypticorn/metrics/client/api/indicators_api.py +26 -52
  43. crypticorn/metrics/client/api/logs_api.py +8 -23
  44. crypticorn/metrics/client/api/marketcap_api.py +36 -88
  45. crypticorn/metrics/client/api/markets_api.py +26 -55
  46. crypticorn/metrics/client/api/{health_check_api.py → status_api.py} +18 -23
  47. crypticorn/metrics/client/api/tokens_api.py +7 -21
  48. crypticorn/metrics/client/api_client.py +1 -1
  49. crypticorn/metrics/client/configuration.py +1 -1
  50. crypticorn/metrics/client/exceptions.py +1 -1
  51. crypticorn/metrics/client/models/__init__.py +2 -21
  52. crypticorn/metrics/client/models/{error_response.py → exception_detail.py} +25 -20
  53. crypticorn/metrics/client/models/severity.py +1 -1
  54. crypticorn/metrics/client/models/time_interval.py +1 -1
  55. crypticorn/metrics/client/models/trading_status.py +1 -1
  56. crypticorn/metrics/client/rest.py +1 -1
  57. crypticorn/metrics/main.py +51 -43
  58. crypticorn/pay/main.py +2 -0
  59. crypticorn/trade/client/__init__.py +1 -5
  60. crypticorn/trade/client/api/exchanges_api.py +6 -6
  61. crypticorn/trade/client/api/trading_actions_api.py +16 -15
  62. crypticorn/trade/client/models/__init__.py +1 -5
  63. crypticorn/trade/client/models/action_model.py +1 -2
  64. crypticorn/trade/client/models/bot_model.py +3 -7
  65. crypticorn/trade/client/models/exchange_key_model.py +2 -11
  66. crypticorn/trade/client/models/execution_ids.py +1 -1
  67. crypticorn/trade/client/models/futures_trading_action.py +1 -2
  68. crypticorn/trade/client/models/notification_model.py +3 -12
  69. crypticorn/trade/client/models/order_model.py +7 -21
  70. crypticorn/trade/client/models/spot_trading_action.py +230 -0
  71. crypticorn/trade/client/models/strategy_exchange_info.py +2 -3
  72. crypticorn/trade/client/models/strategy_model_input.py +1 -2
  73. crypticorn/trade/client/models/strategy_model_output.py +1 -2
  74. crypticorn/trade/client/models/tpsl.py +3 -1
  75. crypticorn/trade/main.py +2 -0
  76. {crypticorn-2.5.0rc5.dist-info → crypticorn-2.5.2.dist-info}/METADATA +7 -5
  77. {crypticorn-2.5.0rc5.dist-info → crypticorn-2.5.2.dist-info}/RECORD +81 -141
  78. {crypticorn-2.5.0rc5.dist-info → crypticorn-2.5.2.dist-info}/WHEEL +1 -1
  79. crypticorn/common/sorter.py +0 -40
  80. crypticorn/klines/client/models/base_response_health_check_response.py +0 -114
  81. crypticorn/klines/client/models/base_response_list_change_in_timeframe_response.py +0 -123
  82. crypticorn/klines/client/models/base_response_list_funding_rate_response.py +0 -118
  83. crypticorn/klines/client/models/base_response_list_str.py +0 -106
  84. crypticorn/klines/client/models/base_response_ohlcv_response.py +0 -114
  85. crypticorn/klines/client/models/health_check_response.py +0 -91
  86. crypticorn/klines/client/models/history_error_response.py +0 -89
  87. crypticorn/klines/client/models/history_no_data_response.py +0 -99
  88. crypticorn/klines/client/models/history_success_response.py +0 -99
  89. crypticorn/klines/client/models/http_validation_error.py +0 -99
  90. crypticorn/klines/client/models/market.py +0 -35
  91. crypticorn/klines/client/models/market_type.py +0 -35
  92. crypticorn/klines/client/models/response_get_history_udf_history_get.py +0 -198
  93. crypticorn/klines/client/models/response_get_udf_history.py +0 -198
  94. crypticorn/klines/client/models/search_symbol_response.py +0 -104
  95. crypticorn/klines/client/models/validation_error.py +0 -105
  96. crypticorn/klines/client/models/validation_error_loc_inner.py +0 -159
  97. crypticorn/metrics/client/models/base_response_dict.py +0 -106
  98. crypticorn/metrics/client/models/base_response_health_check_response.py +0 -114
  99. crypticorn/metrics/client/models/base_response_list_dict.py +0 -106
  100. crypticorn/metrics/client/models/base_response_list_exchange_mapping.py +0 -118
  101. crypticorn/metrics/client/models/base_response_list_str.py +0 -106
  102. crypticorn/metrics/client/models/exchange_mapping.py +0 -134
  103. crypticorn/metrics/client/models/health_check_response.py +0 -91
  104. crypticorn/metrics/client/models/http_validation_error.py +0 -99
  105. crypticorn/metrics/client/models/market.py +0 -35
  106. crypticorn/metrics/client/models/market_type.py +0 -35
  107. crypticorn/metrics/client/models/validation_error.py +0 -105
  108. crypticorn/metrics/client/models/validation_error_loc_inner.py +0 -159
  109. crypticorn/pay/client/models/api_status_res.py +0 -83
  110. crypticorn/pay/client/models/body_create_now_invoice.py +0 -98
  111. crypticorn/pay/client/models/body_create_product.py +0 -98
  112. crypticorn/pay/client/models/body_get_products.py +0 -87
  113. crypticorn/pay/client/models/body_handle_now_webhook.py +0 -98
  114. crypticorn/pay/client/models/body_update_product.py +0 -98
  115. crypticorn/pay/client/models/combined_payment_history.py +0 -101
  116. crypticorn/pay/client/models/create_invoice_req.py +0 -188
  117. crypticorn/pay/client/models/create_invoice_res.py +0 -188
  118. crypticorn/pay/client/models/currency.py +0 -165
  119. crypticorn/pay/client/models/estimate_price_req.py +0 -91
  120. crypticorn/pay/client/models/estimate_price_res.py +0 -102
  121. crypticorn/pay/client/models/get_currencies_res.py +0 -99
  122. crypticorn/pay/client/models/get_payment_status_res.py +0 -222
  123. crypticorn/pay/client/models/get_payments_list_res.py +0 -109
  124. crypticorn/pay/client/models/min_amount_req.py +0 -124
  125. crypticorn/pay/client/models/min_amount_res.py +0 -105
  126. crypticorn/pay/client/models/now_fee_structure.py +0 -104
  127. crypticorn/pay/client/models/now_payment_model.py +0 -124
  128. crypticorn/pay/client/models/now_payment_status.py +0 -42
  129. crypticorn/pay/client/models/now_webhook_payload.py +0 -181
  130. crypticorn/pay/client/models/partial_product_update_model.py +0 -150
  131. crypticorn/pay/client/models/product.py +0 -87
  132. crypticorn/pay/client/models/product_model.py +0 -128
  133. crypticorn/pay/client/models/product_subs_model.py +0 -108
  134. crypticorn/pay/client/models/product_update_model.py +0 -150
  135. crypticorn/pay/client/models/unified_payment_model.py +0 -112
  136. crypticorn/trade/client/models/api_error_identifier.py +0 -104
  137. crypticorn/trade/client/models/api_error_level.py +0 -37
  138. crypticorn/trade/client/models/api_error_type.py +0 -37
  139. crypticorn/trade/client/models/api_key_model.py +0 -156
  140. crypticorn/trade/client/models/exchange.py +0 -35
  141. crypticorn/trade/client/models/market_type.py +0 -35
  142. /crypticorn/common/{pydantic.py → decorators.py} +0 -0
  143. {crypticorn-2.5.0rc5.dist-info → crypticorn-2.5.2.dist-info}/entry_points.txt +0 -0
  144. {crypticorn-2.5.0rc5.dist-info → crypticorn-2.5.2.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Marketcap Service API
5
5
 
6
- API for retrieving historical marketcap data, available exchanges, and indicators. ## Features - Historical marketcap data - OHLCV data with marketcap - Technical indicators (KER, SMA) - Exchange and symbol mappings - Error logs
6
+ API for retrieving historical marketcap data, available exchanges, and indicators.
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -17,16 +17,8 @@ from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import Field, StrictInt, StrictStr
20
- from typing import Optional
20
+ from typing import Any, Dict, List, Optional
21
21
  from typing_extensions import Annotated
22
- from crypticorn.metrics.client.models.base_response_list_dict import (
23
- BaseResponseListDict,
24
- )
25
- from crypticorn.metrics.client.models.base_response_list_exchange_mapping import (
26
- BaseResponseListExchangeMapping,
27
- )
28
- from crypticorn.metrics.client.models.base_response_list_str import BaseResponseListStr
29
- from crypticorn.metrics.client.models.market_type import MarketType
30
22
  from crypticorn.metrics.client.models.time_interval import TimeInterval
31
23
  from crypticorn.metrics.client.models.trading_status import TradingStatus
32
24
 
@@ -51,7 +43,7 @@ class ExchangesApi:
51
43
  async def get_available_exchanges(
52
44
  self,
53
45
  market: Annotated[
54
- MarketType, Field(description="Market type (spot or futures)")
46
+ StrictStr, Field(description="Market type (spot or futures)")
55
47
  ],
56
48
  symbol: Annotated[
57
49
  StrictStr, Field(description="Symbol to fetch available exchanges for")
@@ -93,13 +85,13 @@ class ExchangesApi:
93
85
  _content_type: Optional[StrictStr] = None,
94
86
  _headers: Optional[Dict[StrictStr, Any]] = None,
95
87
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
96
- ) -> BaseResponseListDict:
88
+ ) -> List[Dict[str, object]]:
97
89
  """Get Available Exchanges
98
90
 
99
91
  Get available exchanges for a symbol with various filtering options.
100
92
 
101
93
  :param market: Market type (spot or futures) (required)
102
- :type market: MarketType
94
+ :type market: str
103
95
  :param symbol: Symbol to fetch available exchanges for (required)
104
96
  :type symbol: str
105
97
  :param interval: Interval for which to fetch available exchanges
@@ -149,11 +141,7 @@ class ExchangesApi:
149
141
  )
150
142
 
151
143
  _response_types_map: Dict[str, Optional[str]] = {
152
- "200": "BaseResponseListDict",
153
- "400": "ErrorResponse",
154
- "404": "ErrorResponse",
155
- "500": "ErrorResponse",
156
- "422": "HTTPValidationError",
144
+ "200": "List[Dict[str, object]]",
157
145
  }
158
146
  response_data = await self.api_client.call_api(
159
147
  *_param, _request_timeout=_request_timeout
@@ -168,7 +156,7 @@ class ExchangesApi:
168
156
  async def get_available_exchanges_with_http_info(
169
157
  self,
170
158
  market: Annotated[
171
- MarketType, Field(description="Market type (spot or futures)")
159
+ StrictStr, Field(description="Market type (spot or futures)")
172
160
  ],
173
161
  symbol: Annotated[
174
162
  StrictStr, Field(description="Symbol to fetch available exchanges for")
@@ -210,13 +198,13 @@ class ExchangesApi:
210
198
  _content_type: Optional[StrictStr] = None,
211
199
  _headers: Optional[Dict[StrictStr, Any]] = None,
212
200
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
213
- ) -> ApiResponse[BaseResponseListDict]:
201
+ ) -> ApiResponse[List[Dict[str, object]]]:
214
202
  """Get Available Exchanges
215
203
 
216
204
  Get available exchanges for a symbol with various filtering options.
217
205
 
218
206
  :param market: Market type (spot or futures) (required)
219
- :type market: MarketType
207
+ :type market: str
220
208
  :param symbol: Symbol to fetch available exchanges for (required)
221
209
  :type symbol: str
222
210
  :param interval: Interval for which to fetch available exchanges
@@ -266,11 +254,7 @@ class ExchangesApi:
266
254
  )
267
255
 
268
256
  _response_types_map: Dict[str, Optional[str]] = {
269
- "200": "BaseResponseListDict",
270
- "400": "ErrorResponse",
271
- "404": "ErrorResponse",
272
- "500": "ErrorResponse",
273
- "422": "HTTPValidationError",
257
+ "200": "List[Dict[str, object]]",
274
258
  }
275
259
  response_data = await self.api_client.call_api(
276
260
  *_param, _request_timeout=_request_timeout
@@ -285,7 +269,7 @@ class ExchangesApi:
285
269
  async def get_available_exchanges_without_preload_content(
286
270
  self,
287
271
  market: Annotated[
288
- MarketType, Field(description="Market type (spot or futures)")
272
+ StrictStr, Field(description="Market type (spot or futures)")
289
273
  ],
290
274
  symbol: Annotated[
291
275
  StrictStr, Field(description="Symbol to fetch available exchanges for")
@@ -333,7 +317,7 @@ class ExchangesApi:
333
317
  Get available exchanges for a symbol with various filtering options.
334
318
 
335
319
  :param market: Market type (spot or futures) (required)
336
- :type market: MarketType
320
+ :type market: str
337
321
  :param symbol: Symbol to fetch available exchanges for (required)
338
322
  :type symbol: str
339
323
  :param interval: Interval for which to fetch available exchanges
@@ -383,11 +367,7 @@ class ExchangesApi:
383
367
  )
384
368
 
385
369
  _response_types_map: Dict[str, Optional[str]] = {
386
- "200": "BaseResponseListDict",
387
- "400": "ErrorResponse",
388
- "404": "ErrorResponse",
389
- "500": "ErrorResponse",
390
- "422": "HTTPValidationError",
370
+ "200": "List[Dict[str, object]]",
391
371
  }
392
372
  response_data = await self.api_client.call_api(
393
373
  *_param, _request_timeout=_request_timeout
@@ -424,7 +404,7 @@ class ExchangesApi:
424
404
 
425
405
  # process the path parameters
426
406
  if market is not None:
427
- _path_params["market"] = market.value
407
+ _path_params["market"] = market
428
408
  if symbol is not None:
429
409
  _path_params["symbol"] = symbol
430
410
  # process the query parameters
@@ -480,7 +460,7 @@ class ExchangesApi:
480
460
  async def get_available_exchanges_for_market(
481
461
  self,
482
462
  market: Annotated[
483
- MarketType, Field(description="Market type (spot or futures)")
463
+ StrictStr, Field(description="Market type (spot or futures)")
484
464
  ],
485
465
  _request_timeout: Union[
486
466
  None,
@@ -493,13 +473,13 @@ class ExchangesApi:
493
473
  _content_type: Optional[StrictStr] = None,
494
474
  _headers: Optional[Dict[StrictStr, Any]] = None,
495
475
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
496
- ) -> BaseResponseListStr:
476
+ ) -> List[str]:
497
477
  """Get Exchange List
498
478
 
499
479
  Get list of exchanges for a market.
500
480
 
501
481
  :param market: Market type (spot or futures) (required)
502
- :type market: MarketType
482
+ :type market: str
503
483
  :param _request_timeout: timeout setting for this request. If one
504
484
  number provided, it will be total request
505
485
  timeout. It can also be a pair (tuple) of
@@ -531,11 +511,7 @@ class ExchangesApi:
531
511
  )
532
512
 
533
513
  _response_types_map: Dict[str, Optional[str]] = {
534
- "200": "BaseResponseListStr",
535
- "400": "ErrorResponse",
536
- "404": "ErrorResponse",
537
- "500": "ErrorResponse",
538
- "422": "HTTPValidationError",
514
+ "200": "List[str]",
539
515
  }
540
516
  response_data = await self.api_client.call_api(
541
517
  *_param, _request_timeout=_request_timeout
@@ -550,7 +526,7 @@ class ExchangesApi:
550
526
  async def get_available_exchanges_for_market_with_http_info(
551
527
  self,
552
528
  market: Annotated[
553
- MarketType, Field(description="Market type (spot or futures)")
529
+ StrictStr, Field(description="Market type (spot or futures)")
554
530
  ],
555
531
  _request_timeout: Union[
556
532
  None,
@@ -563,13 +539,13 @@ class ExchangesApi:
563
539
  _content_type: Optional[StrictStr] = None,
564
540
  _headers: Optional[Dict[StrictStr, Any]] = None,
565
541
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
566
- ) -> ApiResponse[BaseResponseListStr]:
542
+ ) -> ApiResponse[List[str]]:
567
543
  """Get Exchange List
568
544
 
569
545
  Get list of exchanges for a market.
570
546
 
571
547
  :param market: Market type (spot or futures) (required)
572
- :type market: MarketType
548
+ :type market: str
573
549
  :param _request_timeout: timeout setting for this request. If one
574
550
  number provided, it will be total request
575
551
  timeout. It can also be a pair (tuple) of
@@ -601,11 +577,7 @@ class ExchangesApi:
601
577
  )
602
578
 
603
579
  _response_types_map: Dict[str, Optional[str]] = {
604
- "200": "BaseResponseListStr",
605
- "400": "ErrorResponse",
606
- "404": "ErrorResponse",
607
- "500": "ErrorResponse",
608
- "422": "HTTPValidationError",
580
+ "200": "List[str]",
609
581
  }
610
582
  response_data = await self.api_client.call_api(
611
583
  *_param, _request_timeout=_request_timeout
@@ -620,7 +592,7 @@ class ExchangesApi:
620
592
  async def get_available_exchanges_for_market_without_preload_content(
621
593
  self,
622
594
  market: Annotated[
623
- MarketType, Field(description="Market type (spot or futures)")
595
+ StrictStr, Field(description="Market type (spot or futures)")
624
596
  ],
625
597
  _request_timeout: Union[
626
598
  None,
@@ -639,7 +611,7 @@ class ExchangesApi:
639
611
  Get list of exchanges for a market.
640
612
 
641
613
  :param market: Market type (spot or futures) (required)
642
- :type market: MarketType
614
+ :type market: str
643
615
  :param _request_timeout: timeout setting for this request. If one
644
616
  number provided, it will be total request
645
617
  timeout. It can also be a pair (tuple) of
@@ -671,11 +643,7 @@ class ExchangesApi:
671
643
  )
672
644
 
673
645
  _response_types_map: Dict[str, Optional[str]] = {
674
- "200": "BaseResponseListStr",
675
- "400": "ErrorResponse",
676
- "404": "ErrorResponse",
677
- "500": "ErrorResponse",
678
- "422": "HTTPValidationError",
646
+ "200": "List[str]",
679
647
  }
680
648
  response_data = await self.api_client.call_api(
681
649
  *_param, _request_timeout=_request_timeout
@@ -706,7 +674,7 @@ class ExchangesApi:
706
674
 
707
675
  # process the path parameters
708
676
  if market is not None:
709
- _path_params["market"] = market.value
677
+ _path_params["market"] = market
710
678
  # process the query parameters
711
679
  # process the header parameters
712
680
  # process the form parameters
@@ -740,9 +708,9 @@ class ExchangesApi:
740
708
  async def get_exchange_mappings(
741
709
  self,
742
710
  market: Annotated[
743
- MarketType, Field(description="Market type (spot or futures)")
711
+ StrictStr, Field(description="Market type (spot or futures)")
744
712
  ],
745
- exchange_name: Annotated[
713
+ exchange: Annotated[
746
714
  Optional[StrictStr],
747
715
  Field(description="Exchange name for which to fetch exchange mappings"),
748
716
  ] = None,
@@ -757,15 +725,15 @@ class ExchangesApi:
757
725
  _content_type: Optional[StrictStr] = None,
758
726
  _headers: Optional[Dict[StrictStr, Any]] = None,
759
727
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
760
- ) -> BaseResponseListExchangeMapping:
728
+ ) -> List[str]:
761
729
  """Get Exchange Mappings
762
730
 
763
731
  Get exchange mappings for a market with optional exchange name filter.
764
732
 
765
733
  :param market: Market type (spot or futures) (required)
766
- :type market: MarketType
767
- :param exchange_name: Exchange name for which to fetch exchange mappings
768
- :type exchange_name: str
734
+ :type market: str
735
+ :param exchange: Exchange name for which to fetch exchange mappings
736
+ :type exchange: str
769
737
  :param _request_timeout: timeout setting for this request. If one
770
738
  number provided, it will be total request
771
739
  timeout. It can also be a pair (tuple) of
@@ -790,7 +758,7 @@ class ExchangesApi:
790
758
 
791
759
  _param = self._get_exchange_mappings_serialize(
792
760
  market=market,
793
- exchange_name=exchange_name,
761
+ exchange=exchange,
794
762
  _request_auth=_request_auth,
795
763
  _content_type=_content_type,
796
764
  _headers=_headers,
@@ -798,11 +766,7 @@ class ExchangesApi:
798
766
  )
799
767
 
800
768
  _response_types_map: Dict[str, Optional[str]] = {
801
- "200": "BaseResponseListExchangeMapping",
802
- "400": "ErrorResponse",
803
- "404": "ErrorResponse",
804
- "500": "ErrorResponse",
805
- "422": "HTTPValidationError",
769
+ "200": "List[str]",
806
770
  }
807
771
  response_data = await self.api_client.call_api(
808
772
  *_param, _request_timeout=_request_timeout
@@ -817,9 +781,9 @@ class ExchangesApi:
817
781
  async def get_exchange_mappings_with_http_info(
818
782
  self,
819
783
  market: Annotated[
820
- MarketType, Field(description="Market type (spot or futures)")
784
+ StrictStr, Field(description="Market type (spot or futures)")
821
785
  ],
822
- exchange_name: Annotated[
786
+ exchange: Annotated[
823
787
  Optional[StrictStr],
824
788
  Field(description="Exchange name for which to fetch exchange mappings"),
825
789
  ] = None,
@@ -834,15 +798,15 @@ class ExchangesApi:
834
798
  _content_type: Optional[StrictStr] = None,
835
799
  _headers: Optional[Dict[StrictStr, Any]] = None,
836
800
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
837
- ) -> ApiResponse[BaseResponseListExchangeMapping]:
801
+ ) -> ApiResponse[List[str]]:
838
802
  """Get Exchange Mappings
839
803
 
840
804
  Get exchange mappings for a market with optional exchange name filter.
841
805
 
842
806
  :param market: Market type (spot or futures) (required)
843
- :type market: MarketType
844
- :param exchange_name: Exchange name for which to fetch exchange mappings
845
- :type exchange_name: str
807
+ :type market: str
808
+ :param exchange: Exchange name for which to fetch exchange mappings
809
+ :type exchange: str
846
810
  :param _request_timeout: timeout setting for this request. If one
847
811
  number provided, it will be total request
848
812
  timeout. It can also be a pair (tuple) of
@@ -867,7 +831,7 @@ class ExchangesApi:
867
831
 
868
832
  _param = self._get_exchange_mappings_serialize(
869
833
  market=market,
870
- exchange_name=exchange_name,
834
+ exchange=exchange,
871
835
  _request_auth=_request_auth,
872
836
  _content_type=_content_type,
873
837
  _headers=_headers,
@@ -875,11 +839,7 @@ class ExchangesApi:
875
839
  )
876
840
 
877
841
  _response_types_map: Dict[str, Optional[str]] = {
878
- "200": "BaseResponseListExchangeMapping",
879
- "400": "ErrorResponse",
880
- "404": "ErrorResponse",
881
- "500": "ErrorResponse",
882
- "422": "HTTPValidationError",
842
+ "200": "List[str]",
883
843
  }
884
844
  response_data = await self.api_client.call_api(
885
845
  *_param, _request_timeout=_request_timeout
@@ -894,9 +854,9 @@ class ExchangesApi:
894
854
  async def get_exchange_mappings_without_preload_content(
895
855
  self,
896
856
  market: Annotated[
897
- MarketType, Field(description="Market type (spot or futures)")
857
+ StrictStr, Field(description="Market type (spot or futures)")
898
858
  ],
899
- exchange_name: Annotated[
859
+ exchange: Annotated[
900
860
  Optional[StrictStr],
901
861
  Field(description="Exchange name for which to fetch exchange mappings"),
902
862
  ] = None,
@@ -917,9 +877,9 @@ class ExchangesApi:
917
877
  Get exchange mappings for a market with optional exchange name filter.
918
878
 
919
879
  :param market: Market type (spot or futures) (required)
920
- :type market: MarketType
921
- :param exchange_name: Exchange name for which to fetch exchange mappings
922
- :type exchange_name: str
880
+ :type market: str
881
+ :param exchange: Exchange name for which to fetch exchange mappings
882
+ :type exchange: str
923
883
  :param _request_timeout: timeout setting for this request. If one
924
884
  number provided, it will be total request
925
885
  timeout. It can also be a pair (tuple) of
@@ -944,7 +904,7 @@ class ExchangesApi:
944
904
 
945
905
  _param = self._get_exchange_mappings_serialize(
946
906
  market=market,
947
- exchange_name=exchange_name,
907
+ exchange=exchange,
948
908
  _request_auth=_request_auth,
949
909
  _content_type=_content_type,
950
910
  _headers=_headers,
@@ -952,11 +912,7 @@ class ExchangesApi:
952
912
  )
953
913
 
954
914
  _response_types_map: Dict[str, Optional[str]] = {
955
- "200": "BaseResponseListExchangeMapping",
956
- "400": "ErrorResponse",
957
- "404": "ErrorResponse",
958
- "500": "ErrorResponse",
959
- "422": "HTTPValidationError",
915
+ "200": "List[str]",
960
916
  }
961
917
  response_data = await self.api_client.call_api(
962
918
  *_param, _request_timeout=_request_timeout
@@ -966,7 +922,7 @@ class ExchangesApi:
966
922
  def _get_exchange_mappings_serialize(
967
923
  self,
968
924
  market,
969
- exchange_name,
925
+ exchange,
970
926
  _request_auth,
971
927
  _content_type,
972
928
  _headers,
@@ -988,11 +944,11 @@ class ExchangesApi:
988
944
 
989
945
  # process the path parameters
990
946
  if market is not None:
991
- _path_params["market"] = market.value
947
+ _path_params["market"] = market
992
948
  # process the query parameters
993
- if exchange_name is not None:
949
+ if exchange is not None:
994
950
 
995
- _query_params.append(("exchange_name", exchange_name))
951
+ _query_params.append(("exchange", exchange))
996
952
 
997
953
  # process the header parameters
998
954
  # process the form parameters
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Marketcap Service API
5
5
 
6
- API for retrieving historical marketcap data, available exchanges, and indicators. ## Features - Historical marketcap data - OHLCV data with marketcap - Technical indicators (KER, SMA) - Exchange and symbol mappings - Error logs
6
+ API for retrieving historical marketcap data, available exchanges, and indicators.
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -17,10 +17,8 @@ from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import Field, StrictInt, StrictStr
20
- from typing import Optional
20
+ from typing import Any, Dict, Optional
21
21
  from typing_extensions import Annotated
22
- from crypticorn.metrics.client.models.base_response_dict import BaseResponseDict
23
- from crypticorn.metrics.client.models.market_type import MarketType
24
22
 
25
23
  from crypticorn.metrics.client.api_client import ApiClient, RequestSerialized
26
24
  from crypticorn.metrics.client.api_response import ApiResponse
@@ -43,7 +41,7 @@ class IndicatorsApi:
43
41
  async def get_ker_indicator(
44
42
  self,
45
43
  symbol: StrictStr,
46
- market: Annotated[Optional[MarketType], Field(description="Market")] = None,
44
+ market: Annotated[Optional[StrictStr], Field(description="Market")] = None,
47
45
  period: Annotated[
48
46
  Optional[StrictInt], Field(description="KER indicator period")
49
47
  ] = None,
@@ -62,7 +60,7 @@ class IndicatorsApi:
62
60
  _content_type: Optional[StrictStr] = None,
63
61
  _headers: Optional[Dict[StrictStr, Any]] = None,
64
62
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
65
- ) -> BaseResponseDict:
63
+ ) -> Dict[str, object]:
66
64
  """Get Ker Indicator
67
65
 
68
66
  Calculate and retrieve the KER indicator for a symbol.
@@ -70,7 +68,7 @@ class IndicatorsApi:
70
68
  :param symbol: (required)
71
69
  :type symbol: str
72
70
  :param market: Market
73
- :type market: MarketType
71
+ :type market: str
74
72
  :param period: KER indicator period
75
73
  :type period: int
76
74
  :param timestamp: Timestamp for which to fetch KER indicator
@@ -109,11 +107,7 @@ class IndicatorsApi:
109
107
  )
110
108
 
111
109
  _response_types_map: Dict[str, Optional[str]] = {
112
- "200": "BaseResponseDict",
113
- "400": "ErrorResponse",
114
- "404": "ErrorResponse",
115
- "500": "ErrorResponse",
116
- "422": "HTTPValidationError",
110
+ "200": "Dict[str, object]",
117
111
  }
118
112
  response_data = await self.api_client.call_api(
119
113
  *_param, _request_timeout=_request_timeout
@@ -128,7 +122,7 @@ class IndicatorsApi:
128
122
  async def get_ker_indicator_with_http_info(
129
123
  self,
130
124
  symbol: StrictStr,
131
- market: Annotated[Optional[MarketType], Field(description="Market")] = None,
125
+ market: Annotated[Optional[StrictStr], Field(description="Market")] = None,
132
126
  period: Annotated[
133
127
  Optional[StrictInt], Field(description="KER indicator period")
134
128
  ] = None,
@@ -147,7 +141,7 @@ class IndicatorsApi:
147
141
  _content_type: Optional[StrictStr] = None,
148
142
  _headers: Optional[Dict[StrictStr, Any]] = None,
149
143
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
150
- ) -> ApiResponse[BaseResponseDict]:
144
+ ) -> ApiResponse[Dict[str, object]]:
151
145
  """Get Ker Indicator
152
146
 
153
147
  Calculate and retrieve the KER indicator for a symbol.
@@ -155,7 +149,7 @@ class IndicatorsApi:
155
149
  :param symbol: (required)
156
150
  :type symbol: str
157
151
  :param market: Market
158
- :type market: MarketType
152
+ :type market: str
159
153
  :param period: KER indicator period
160
154
  :type period: int
161
155
  :param timestamp: Timestamp for which to fetch KER indicator
@@ -194,11 +188,7 @@ class IndicatorsApi:
194
188
  )
195
189
 
196
190
  _response_types_map: Dict[str, Optional[str]] = {
197
- "200": "BaseResponseDict",
198
- "400": "ErrorResponse",
199
- "404": "ErrorResponse",
200
- "500": "ErrorResponse",
201
- "422": "HTTPValidationError",
191
+ "200": "Dict[str, object]",
202
192
  }
203
193
  response_data = await self.api_client.call_api(
204
194
  *_param, _request_timeout=_request_timeout
@@ -213,7 +203,7 @@ class IndicatorsApi:
213
203
  async def get_ker_indicator_without_preload_content(
214
204
  self,
215
205
  symbol: StrictStr,
216
- market: Annotated[Optional[MarketType], Field(description="Market")] = None,
206
+ market: Annotated[Optional[StrictStr], Field(description="Market")] = None,
217
207
  period: Annotated[
218
208
  Optional[StrictInt], Field(description="KER indicator period")
219
209
  ] = None,
@@ -240,7 +230,7 @@ class IndicatorsApi:
240
230
  :param symbol: (required)
241
231
  :type symbol: str
242
232
  :param market: Market
243
- :type market: MarketType
233
+ :type market: str
244
234
  :param period: KER indicator period
245
235
  :type period: int
246
236
  :param timestamp: Timestamp for which to fetch KER indicator
@@ -279,11 +269,7 @@ class IndicatorsApi:
279
269
  )
280
270
 
281
271
  _response_types_map: Dict[str, Optional[str]] = {
282
- "200": "BaseResponseDict",
283
- "400": "ErrorResponse",
284
- "404": "ErrorResponse",
285
- "500": "ErrorResponse",
286
- "422": "HTTPValidationError",
272
+ "200": "Dict[str, object]",
287
273
  }
288
274
  response_data = await self.api_client.call_api(
289
275
  *_param, _request_timeout=_request_timeout
@@ -321,7 +307,7 @@ class IndicatorsApi:
321
307
  # process the query parameters
322
308
  if market is not None:
323
309
 
324
- _query_params.append(("market", market.value))
310
+ _query_params.append(("market", market))
325
311
 
326
312
  if period is not None:
327
313
 
@@ -364,7 +350,7 @@ class IndicatorsApi:
364
350
  self,
365
351
  symbol: StrictStr,
366
352
  market: Annotated[
367
- Optional[MarketType],
353
+ Optional[StrictStr],
368
354
  Field(description="The market type to use for the SMA indicator"),
369
355
  ] = None,
370
356
  period: Annotated[
@@ -386,7 +372,7 @@ class IndicatorsApi:
386
372
  _content_type: Optional[StrictStr] = None,
387
373
  _headers: Optional[Dict[StrictStr, Any]] = None,
388
374
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
389
- ) -> BaseResponseDict:
375
+ ) -> Dict[str, object]:
390
376
  """Get Sma Indicator
391
377
 
392
378
  Calculate and retrieve the Simple Moving Average (SMA) indicator for a symbol.
@@ -394,7 +380,7 @@ class IndicatorsApi:
394
380
  :param symbol: (required)
395
381
  :type symbol: str
396
382
  :param market: The market type to use for the SMA indicator
397
- :type market: MarketType
383
+ :type market: str
398
384
  :param period: The period to use for the SMA indicator
399
385
  :type period: int
400
386
  :param timestamp: The timestamp for which to fetch the SMA indicator
@@ -433,11 +419,7 @@ class IndicatorsApi:
433
419
  )
434
420
 
435
421
  _response_types_map: Dict[str, Optional[str]] = {
436
- "200": "BaseResponseDict",
437
- "400": "ErrorResponse",
438
- "404": "ErrorResponse",
439
- "500": "ErrorResponse",
440
- "422": "HTTPValidationError",
422
+ "200": "Dict[str, object]",
441
423
  }
442
424
  response_data = await self.api_client.call_api(
443
425
  *_param, _request_timeout=_request_timeout
@@ -453,7 +435,7 @@ class IndicatorsApi:
453
435
  self,
454
436
  symbol: StrictStr,
455
437
  market: Annotated[
456
- Optional[MarketType],
438
+ Optional[StrictStr],
457
439
  Field(description="The market type to use for the SMA indicator"),
458
440
  ] = None,
459
441
  period: Annotated[
@@ -475,7 +457,7 @@ class IndicatorsApi:
475
457
  _content_type: Optional[StrictStr] = None,
476
458
  _headers: Optional[Dict[StrictStr, Any]] = None,
477
459
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
478
- ) -> ApiResponse[BaseResponseDict]:
460
+ ) -> ApiResponse[Dict[str, object]]:
479
461
  """Get Sma Indicator
480
462
 
481
463
  Calculate and retrieve the Simple Moving Average (SMA) indicator for a symbol.
@@ -483,7 +465,7 @@ class IndicatorsApi:
483
465
  :param symbol: (required)
484
466
  :type symbol: str
485
467
  :param market: The market type to use for the SMA indicator
486
- :type market: MarketType
468
+ :type market: str
487
469
  :param period: The period to use for the SMA indicator
488
470
  :type period: int
489
471
  :param timestamp: The timestamp for which to fetch the SMA indicator
@@ -522,11 +504,7 @@ class IndicatorsApi:
522
504
  )
523
505
 
524
506
  _response_types_map: Dict[str, Optional[str]] = {
525
- "200": "BaseResponseDict",
526
- "400": "ErrorResponse",
527
- "404": "ErrorResponse",
528
- "500": "ErrorResponse",
529
- "422": "HTTPValidationError",
507
+ "200": "Dict[str, object]",
530
508
  }
531
509
  response_data = await self.api_client.call_api(
532
510
  *_param, _request_timeout=_request_timeout
@@ -542,7 +520,7 @@ class IndicatorsApi:
542
520
  self,
543
521
  symbol: StrictStr,
544
522
  market: Annotated[
545
- Optional[MarketType],
523
+ Optional[StrictStr],
546
524
  Field(description="The market type to use for the SMA indicator"),
547
525
  ] = None,
548
526
  period: Annotated[
@@ -572,7 +550,7 @@ class IndicatorsApi:
572
550
  :param symbol: (required)
573
551
  :type symbol: str
574
552
  :param market: The market type to use for the SMA indicator
575
- :type market: MarketType
553
+ :type market: str
576
554
  :param period: The period to use for the SMA indicator
577
555
  :type period: int
578
556
  :param timestamp: The timestamp for which to fetch the SMA indicator
@@ -611,11 +589,7 @@ class IndicatorsApi:
611
589
  )
612
590
 
613
591
  _response_types_map: Dict[str, Optional[str]] = {
614
- "200": "BaseResponseDict",
615
- "400": "ErrorResponse",
616
- "404": "ErrorResponse",
617
- "500": "ErrorResponse",
618
- "422": "HTTPValidationError",
592
+ "200": "Dict[str, object]",
619
593
  }
620
594
  response_data = await self.api_client.call_api(
621
595
  *_param, _request_timeout=_request_timeout
@@ -653,7 +627,7 @@ class IndicatorsApi:
653
627
  # process the query parameters
654
628
  if market is not None:
655
629
 
656
- _query_params.append(("market", market.value))
630
+ _query_params.append(("market", market))
657
631
 
658
632
  if period is not None:
659
633