crypticorn 2.11.4__py3-none-any.whl → 2.11.6__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.
@@ -13,6 +13,7 @@ class Exchange(ValidateEnumMixin, StrEnum):
13
13
 
14
14
  KUCOIN = "kucoin"
15
15
  BINGX = "bingx"
16
+ HYPERLIQUID = "hyperliquid"
16
17
 
17
18
 
18
19
  class InternalExchange(ValidateEnumMixin, StrEnum):
@@ -67,6 +67,7 @@ class ApiErrorIdentifier(StrEnum):
67
67
  INVALID_PARAMETER = "invalid_parameter_provided"
68
68
  LEVERAGE_EXCEEDED = "leverage_limit_exceeded"
69
69
  LIQUIDATION_PRICE_VIOLATION = "order_violates_liquidation_price_constraints"
70
+ MARGIN_MODE_CLASH = "margin_mode_clash"
70
71
  MODEL_NAME_NOT_UNIQUE = "model_name_not_unique"
71
72
  NO_CREDENTIALS = "no_credentials"
72
73
  NOW_API_DOWN = "now_api_down"
@@ -326,6 +327,11 @@ class ApiError(Enum, metaclass=ApiErrorFallback):
326
327
  ApiErrorType.SERVER_ERROR,
327
328
  ApiErrorLevel.ERROR,
328
329
  )
330
+ MARGIN_MODE_CLASH = (
331
+ ApiErrorIdentifier.MARGIN_MODE_CLASH,
332
+ ApiErrorType.USER_ERROR,
333
+ ApiErrorLevel.ERROR,
334
+ )
329
335
  MODEL_NAME_NOT_UNIQUE = (
330
336
  ApiErrorIdentifier.MODEL_NAME_NOT_UNIQUE,
331
337
  ApiErrorType.USER_ERROR,
@@ -680,6 +686,10 @@ class StatusCodeMapper:
680
686
  status.WS_1011_INTERNAL_ERROR,
681
687
  ),
682
688
  # Bad Requests (400) - Invalid parameters or states
689
+ ApiError.MARGIN_MODE_CLASH: (
690
+ status.HTTP_400_BAD_REQUEST,
691
+ status.WS_1008_POLICY_VIOLATION,
692
+ ),
683
693
  ApiError.INVALID_MODEL_NAME: (
684
694
  status.HTTP_400_BAD_REQUEST,
685
695
  status.WS_1008_POLICY_VIOLATION,
@@ -753,7 +763,10 @@ class StatusCodeMapper:
753
763
  status.HTTP_400_BAD_REQUEST,
754
764
  status.WS_1008_POLICY_VIOLATION,
755
765
  ),
756
- ApiError.LIQUIDATION_PRICE_VIOLATION: status.HTTP_400_BAD_REQUEST,
766
+ ApiError.LIQUIDATION_PRICE_VIOLATION: (
767
+ status.HTTP_400_BAD_REQUEST,
768
+ status.WS_1008_POLICY_VIOLATION,
769
+ ),
757
770
  ApiError.ORDER_ALREADY_FILLED: (
758
771
  status.HTTP_400_BAD_REQUEST,
759
772
  status.WS_1008_POLICY_VIOLATION,
@@ -271,7 +271,7 @@ class AdminApi:
271
271
  include: Annotated[
272
272
  Optional[List[StrictStr]],
273
273
  Field(
274
- description="List of dependencies to include in the response. If not provided, all installed packages will be returned."
274
+ description="List of regex patterns to match against package names. If not provided, all installed packages will be returned."
275
275
  ),
276
276
  ] = None,
277
277
  _request_timeout: Union[
@@ -285,12 +285,12 @@ class AdminApi:
285
285
  _content_type: Optional[StrictStr] = None,
286
286
  _headers: Optional[Dict[StrictStr, Any]] = None,
287
287
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
288
- ) -> List[object]:
288
+ ) -> Dict[str, str]:
289
289
  """List Installed Packages
290
290
 
291
- Return a list of installed packages and versions.
291
+ Return a list of installed packages and versions. The include parameter accepts regex patterns to match against package names. For example: - crypticorn.* will match all packages starting with 'crypticorn' - .*tic.* will match all packages containing 'tic' in their name
292
292
 
293
- :param include: List of dependencies to include in the response. If not provided, all installed packages will be returned.
293
+ :param include: List of regex patterns to match against package names. If not provided, all installed packages will be returned.
294
294
  :type include: List[str]
295
295
  :param _request_timeout: timeout setting for this request. If one
296
296
  number provided, it will be total request
@@ -323,7 +323,7 @@ class AdminApi:
323
323
  )
324
324
 
325
325
  _response_types_map: Dict[str, Optional[str]] = {
326
- "200": "List[object]",
326
+ "200": "Dict[str, str]",
327
327
  }
328
328
  response_data = await self.api_client.call_api(
329
329
  *_param, _request_timeout=_request_timeout
@@ -340,7 +340,7 @@ class AdminApi:
340
340
  include: Annotated[
341
341
  Optional[List[StrictStr]],
342
342
  Field(
343
- description="List of dependencies to include in the response. If not provided, all installed packages will be returned."
343
+ description="List of regex patterns to match against package names. If not provided, all installed packages will be returned."
344
344
  ),
345
345
  ] = None,
346
346
  _request_timeout: Union[
@@ -354,12 +354,12 @@ class AdminApi:
354
354
  _content_type: Optional[StrictStr] = None,
355
355
  _headers: Optional[Dict[StrictStr, Any]] = None,
356
356
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
357
- ) -> ApiResponse[List[object]]:
357
+ ) -> ApiResponse[Dict[str, str]]:
358
358
  """List Installed Packages
359
359
 
360
- Return a list of installed packages and versions.
360
+ Return a list of installed packages and versions. The include parameter accepts regex patterns to match against package names. For example: - crypticorn.* will match all packages starting with 'crypticorn' - .*tic.* will match all packages containing 'tic' in their name
361
361
 
362
- :param include: List of dependencies to include in the response. If not provided, all installed packages will be returned.
362
+ :param include: List of regex patterns to match against package names. If not provided, all installed packages will be returned.
363
363
  :type include: List[str]
364
364
  :param _request_timeout: timeout setting for this request. If one
365
365
  number provided, it will be total request
@@ -392,7 +392,7 @@ class AdminApi:
392
392
  )
393
393
 
394
394
  _response_types_map: Dict[str, Optional[str]] = {
395
- "200": "List[object]",
395
+ "200": "Dict[str, str]",
396
396
  }
397
397
  response_data = await self.api_client.call_api(
398
398
  *_param, _request_timeout=_request_timeout
@@ -409,7 +409,7 @@ class AdminApi:
409
409
  include: Annotated[
410
410
  Optional[List[StrictStr]],
411
411
  Field(
412
- description="List of dependencies to include in the response. If not provided, all installed packages will be returned."
412
+ description="List of regex patterns to match against package names. If not provided, all installed packages will be returned."
413
413
  ),
414
414
  ] = None,
415
415
  _request_timeout: Union[
@@ -426,9 +426,9 @@ class AdminApi:
426
426
  ) -> RESTResponseType:
427
427
  """List Installed Packages
428
428
 
429
- Return a list of installed packages and versions.
429
+ Return a list of installed packages and versions. The include parameter accepts regex patterns to match against package names. For example: - crypticorn.* will match all packages starting with 'crypticorn' - .*tic.* will match all packages containing 'tic' in their name
430
430
 
431
- :param include: List of dependencies to include in the response. If not provided, all installed packages will be returned.
431
+ :param include: List of regex patterns to match against package names. If not provided, all installed packages will be returned.
432
432
  :type include: List[str]
433
433
  :param _request_timeout: timeout setting for this request. If one
434
434
  number provided, it will be total request
@@ -461,7 +461,7 @@ class AdminApi:
461
461
  )
462
462
 
463
463
  _response_types_map: Dict[str, Optional[str]] = {
464
- "200": "List[object]",
464
+ "200": "Dict[str, str]",
465
465
  }
466
466
  response_data = await self.api_client.call_api(
467
467
  *_param, _request_timeout=_request_timeout
@@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import StrictStr, field_validator
20
- from typing import Any, Dict, Optional
20
+ from typing import Optional
21
21
 
22
22
  from crypticorn.klines.client.api_client import ApiClient, RequestSerialized
23
23
  from crypticorn.klines.client.api_response import ApiResponse
@@ -294,7 +294,7 @@ class StatusApi:
294
294
  _content_type: Optional[StrictStr] = None,
295
295
  _headers: Optional[Dict[StrictStr, Any]] = None,
296
296
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
297
- ) -> Dict[str, object]:
297
+ ) -> str:
298
298
  """Ping
299
299
 
300
300
  Returns 'OK' if the API is running.
@@ -329,7 +329,7 @@ class StatusApi:
329
329
  )
330
330
 
331
331
  _response_types_map: Dict[str, Optional[str]] = {
332
- "200": "Dict[str, object]",
332
+ "200": "str",
333
333
  }
334
334
  response_data = await self.api_client.call_api(
335
335
  *_param, _request_timeout=_request_timeout
@@ -354,7 +354,7 @@ class StatusApi:
354
354
  _content_type: Optional[StrictStr] = None,
355
355
  _headers: Optional[Dict[StrictStr, Any]] = None,
356
356
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
357
- ) -> ApiResponse[Dict[str, object]]:
357
+ ) -> ApiResponse[str]:
358
358
  """Ping
359
359
 
360
360
  Returns 'OK' if the API is running.
@@ -389,7 +389,7 @@ class StatusApi:
389
389
  )
390
390
 
391
391
  _response_types_map: Dict[str, Optional[str]] = {
392
- "200": "Dict[str, object]",
392
+ "200": "str",
393
393
  }
394
394
  response_data = await self.api_client.call_api(
395
395
  *_param, _request_timeout=_request_timeout
@@ -449,7 +449,7 @@ class StatusApi:
449
449
  )
450
450
 
451
451
  _response_types_map: Dict[str, Optional[str]] = {
452
- "200": "Dict[str, object]",
452
+ "200": "str",
453
453
  }
454
454
  response_data = await self.api_client.call_api(
455
455
  *_param, _request_timeout=_request_timeout
@@ -215,7 +215,9 @@ class Configuration:
215
215
  debug: Optional[bool] = None,
216
216
  ) -> None:
217
217
  """Constructor"""
218
- self._base_path = "http://localhost/v1/klines" if host is None else host
218
+ self._base_path = (
219
+ "https://api.crypticorn.dev/v1/klines" if host is None else host
220
+ )
219
221
  """Default Base url
220
222
  """
221
223
  self.server_index = 0 if server_index is None and host is None else server_index
@@ -557,7 +559,7 @@ class Configuration:
557
559
  """
558
560
  return [
559
561
  {
560
- "url": "http://localhost/v1/klines",
562
+ "url": "https://api.crypticorn.dev/v1/klines",
561
563
  "description": "No description provided",
562
564
  }
563
565
  ]
@@ -20,7 +20,7 @@ from typing_extensions import Self
20
20
 
21
21
  class ApiErrorIdentifier(str, Enum):
22
22
  """
23
- API error identifiers
23
+ Unique identifier of the API error.
24
24
  """
25
25
 
26
26
  """
@@ -20,7 +20,7 @@ from typing_extensions import Self
20
20
 
21
21
  class ApiErrorLevel(str, Enum):
22
22
  """
23
- API error levels
23
+ Level of the API error.
24
24
  """
25
25
 
26
26
  """
@@ -20,7 +20,7 @@ from typing_extensions import Self
20
20
 
21
21
  class ApiErrorType(str, Enum):
22
22
  """
23
- Type of API error
23
+ Type of the API error.
24
24
  """
25
25
 
26
26
  """
@@ -28,7 +28,7 @@ from typing_extensions import Self
28
28
 
29
29
  class ExceptionDetail(BaseModel):
30
30
  """
31
- This is the detail of the exception. It is used to enrich the exception with additional information by unwrapping the ApiError into its components.
31
+ Exception details returned to the client.
32
32
  """ # noqa: E501
33
33
 
34
34
  message: Optional[StrictStr] = None
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
21
- from typing import Any, ClassVar, Dict, List, Union
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
@@ -29,11 +29,11 @@ class OHLCV(BaseModel):
29
29
  """ # noqa: E501
30
30
 
31
31
  timestamp: StrictInt = Field(description="Timestamp in seconds")
32
- open: Union[StrictFloat, StrictInt] = Field(description="Open prices")
33
- high: Union[StrictFloat, StrictInt] = Field(description="High prices")
34
- low: Union[StrictFloat, StrictInt] = Field(description="Low prices")
35
- close: Union[StrictFloat, StrictInt] = Field(description="Close prices")
36
- volume: Union[StrictFloat, StrictInt] = Field(description="Volume")
32
+ open: Optional[Union[StrictFloat, StrictInt]]
33
+ high: Optional[Union[StrictFloat, StrictInt]]
34
+ low: Optional[Union[StrictFloat, StrictInt]]
35
+ close: Optional[Union[StrictFloat, StrictInt]]
36
+ volume: Optional[Union[StrictFloat, StrictInt]]
37
37
  __properties: ClassVar[List[str]] = [
38
38
  "timestamp",
39
39
  "open",
@@ -80,6 +80,31 @@ class OHLCV(BaseModel):
80
80
  exclude=excluded_fields,
81
81
  exclude_none=True,
82
82
  )
83
+ # set to None if open (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.open is None and "open" in self.model_fields_set:
86
+ _dict["open"] = None
87
+
88
+ # set to None if high (nullable) is None
89
+ # and model_fields_set contains the field
90
+ if self.high is None and "high" in self.model_fields_set:
91
+ _dict["high"] = None
92
+
93
+ # set to None if low (nullable) is None
94
+ # and model_fields_set contains the field
95
+ if self.low is None and "low" in self.model_fields_set:
96
+ _dict["low"] = None
97
+
98
+ # set to None if close (nullable) is None
99
+ # and model_fields_set contains the field
100
+ if self.close is None and "close" in self.model_fields_set:
101
+ _dict["close"] = None
102
+
103
+ # set to None if volume (nullable) is None
104
+ # and model_fields_set contains the field
105
+ if self.volume is None and "volume" in self.model_fields_set:
106
+ _dict["volume"] = None
107
+
83
108
  return _dict
84
109
 
85
110
  @classmethod
crypticorn/klines/main.py CHANGED
@@ -68,14 +68,14 @@ class OHLCVDataApiWrapper(OHLCVDataApi):
68
68
  rows = []
69
69
  for item in response:
70
70
  row = {
71
- 'timestamp': item.timestamp,
72
- 'open': item.open,
73
- 'high': item.high,
74
- 'low': item.low,
75
- 'close': item.close,
76
- 'volume': item.volume
71
+ "timestamp": item.timestamp,
72
+ "open": item.open,
73
+ "high": item.high,
74
+ "low": item.low,
75
+ "close": item.close,
76
+ "volume": item.volume,
77
77
  }
78
- rows.append(row)
78
+ rows.append(row)
79
79
  df = pd.DataFrame(rows)
80
80
  return df
81
81
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.11.4
3
+ Version: 2.11.6
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License-Expression: MIT
@@ -69,8 +69,8 @@ crypticorn/common/__init__.py,sha256=DXEuUU_kaLBSBcvpiFie_ROuK5XEZuTMIfsg-BZE0iE
69
69
  crypticorn/common/ansi_colors.py,sha256=-tMlUTE8NI7TPv7uj0kGRe-SI2hGaUNPKBFI_dfiZy0,1392
70
70
  crypticorn/common/auth.py,sha256=HxiAEej315qQGbX0p8WmQI50blUTOWsMWpCtguMx-A4,8786
71
71
  crypticorn/common/decorators.py,sha256=t5Y3vSJ-gt0n2vOYYjYN0dtzNXvZxrJs2SEItpzG8oo,1127
72
- crypticorn/common/enums.py,sha256=md7C_p2gAu6BbDboLm-DYYuJWjCHgRdk68iC1H5ZqPg,755
73
- crypticorn/common/errors.py,sha256=cAxMlHLLR-StgMmSdUwhnN0eUh0aBQmW0BIXYfa1GOI,28023
72
+ crypticorn/common/enums.py,sha256=YE7ObydyWAKO8MOSQBwk9M1PzzaPvlnxc6Dbpu78QMk,787
73
+ crypticorn/common/errors.py,sha256=jmQwGak91K48su6n9V2AcJ05oAGUcuZHd15vR4F1BHU,28412
74
74
  crypticorn/common/exceptions.py,sha256=31WcS1OEcGBAMc3FnPrtb6jFbh6Ni1v9Kciz7Av4y84,6098
75
75
  crypticorn/common/logging.py,sha256=3ZTFB9j8Mqy_AlNYABUFQ_134OH0YtophJkP4_GDJ9w,4408
76
76
  crypticorn/common/middleware.py,sha256=O7XiXPimNYUhF9QTv6yFUTVlb91-SK-3CfTrWMNP6Ck,1011
@@ -122,34 +122,34 @@ crypticorn/hive/client/models/target.py,sha256=otOJK8s5WVUen6J1AQZpRiD330RIpaJU6
122
122
  crypticorn/hive/client/models/target_info.py,sha256=hFaOMZlirH2B68DQstL_c4WvtejwXyOk67lxIaeuh3Q,2857
123
123
  crypticorn/hive/client/models/target_type.py,sha256=FUMaEFkPM7EvStPJE1auimDJ9mxDf6pbsFf-dF3coGw,684
124
124
  crypticorn/klines/__init__.py,sha256=9UUW013uZ5x4evz5zRUxbNid-6O9WAPPYvPZIHpAwms,87
125
- crypticorn/klines/main.py,sha256=s93aizwJVVdtFw6_NbnuG5rJDWzXvPoQSKMwJwbrTcs,2695
125
+ crypticorn/klines/main.py,sha256=C_I_Q1VBVJ7dh8oTu7-lMFvb--rYYRjDq9trA1jEtyM,2694
126
126
  crypticorn/klines/client/__init__.py,sha256=KAwR6kMFkKap_1Un_HsT8LqYLsTIKUNIJe9JI6Acprg,2792
127
127
  crypticorn/klines/client/api_client.py,sha256=XYk_eoVRHxQDoTKJJwMpO__LbU1DQtpMikBTyulJrvE,26925
128
128
  crypticorn/klines/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
129
- crypticorn/klines/client/configuration.py,sha256=BbSjKLJEKc7v3aY4BX1G9U6nac_Krqi4msBkBZQ5tKg,19153
129
+ crypticorn/klines/client/configuration.py,sha256=9nI4_ej_iuKQay936DjvHIQ9jXFZ6f9tT4I02pgn9EM,19197
130
130
  crypticorn/klines/client/exceptions.py,sha256=UQOoeVgvSQknAxeG-nfg0629MfAQH0IpDBwnB0t4Qb8,6418
131
131
  crypticorn/klines/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
132
  crypticorn/klines/client/rest.py,sha256=M3VBl9SLU3D0L3DBX3Nr7sgL0Moh1G2mJX8KD_yyKbY,7021
133
133
  crypticorn/klines/client/api/__init__.py,sha256=OPC4DMWEWdqEKjnZicasGIx7tlOCenxz_rdAQJli-2M,519
134
- crypticorn/klines/client/api/admin_api.py,sha256=SF3nAFP7kWyzG-z9pkUW_EjdKN_PkXiIR33e1W6TzKY,59124
134
+ crypticorn/klines/client/api/admin_api.py,sha256=CGhHJ8O45QlNP6Zn3bXx-m92IOJM5Vz9clRIO2DM_VI,59836
135
135
  crypticorn/klines/client/api/change_in_timeframe_api.py,sha256=ALxGByJu6KBs2DBtoSP8ijjT4fc8eeWFsMn4focnbaA,12710
136
136
  crypticorn/klines/client/api/funding_rates_api.py,sha256=8RNBfVKzLchukiPDjN7IXErF0audGsaJizL6iCuAh7U,13860
137
137
  crypticorn/klines/client/api/ohlcv_data_api.py,sha256=zmj0dMTzofFf97np9mDZ4647Rj4gjL6w268GdUo_dmc,16806
138
- crypticorn/klines/client/api/status_api.py,sha256=t25JyJxf7tCVCwrSUpyqN0ad8vcTRtxSfqQNLmurEeo,19708
138
+ crypticorn/klines/client/api/status_api.py,sha256=U-y34gBUyrwqF6-A98Jk0q17WL88SPDMctOu1XlSu7I,19627
139
139
  crypticorn/klines/client/api/symbols_api.py,sha256=5TXxVW_6dHUAwbHd9qq2dNaM8orszUpYk1NdrNu6m9k,11059
140
140
  crypticorn/klines/client/api/udf_api.py,sha256=zaPJPsyyuYfNzO28xkkn_ZDJOwVaDlwtYSq8uoHLQMo,60899
141
141
  crypticorn/klines/client/models/__init__.py,sha256=xcPaL5Lz08YQOYkpODE_u13QTeOQSEomdcO4WMlJcmc,1686
142
- crypticorn/klines/client/models/api_error_identifier.py,sha256=DJFq_7Bf4LSuUuckQjFXtWzbJCi9OxvY2wT3oIIk3jc,4945
143
- crypticorn/klines/client/models/api_error_level.py,sha256=5m0d06bYaHGVgGC2y8cDmmokuHzIjJOPFM50874Wkm8,762
144
- crypticorn/klines/client/models/api_error_type.py,sha256=SiuXT2lbTkDgNDA6pptaPwO1g4jSHSHnJprUmavmHS0,803
142
+ crypticorn/klines/client/models/api_error_identifier.py,sha256=2ubTzmfJ__LuBq-PT987bpQtqf73rSu8bbXa4OOvuis,4959
143
+ crypticorn/klines/client/models/api_error_level.py,sha256=bNh7rTARLMKFdBMm3FLyVLI23MwN4gzE_4oi1gJsxq4,769
144
+ crypticorn/klines/client/models/api_error_type.py,sha256=3u1K25La6DmnoJc7UL_PeK7FpbTd36NQhb9FfpeP1uE,808
145
145
  crypticorn/klines/client/models/change_in_timeframe.py,sha256=NBt_u2n5U1P1S8c28edokdbqyvTOYUQ7dYgvi2g_Ci8,2554
146
- crypticorn/klines/client/models/exception_detail.py,sha256=OU_H52xmYcKJ2f0W-kovSdISVaBYrpwF3XH7_Q88Fck,3953
146
+ crypticorn/klines/client/models/exception_detail.py,sha256=b5ecngiYXygCAEzWFCjQ7kon7Km8l3BU4ntHMrirExQ,3847
147
147
  crypticorn/klines/client/models/funding_rate.py,sha256=MU24vcCoIbyFQntfzkWaU8HHIDkjogrKDjvQwA7_FXU,2687
148
148
  crypticorn/klines/client/models/funding_rate_response.py,sha256=HuvD4kd6jzJGzJBbZh2nUGbY022kfOBcvTbY9Nswx0E,3497
149
149
  crypticorn/klines/client/models/internal_exchange.py,sha256=Kf_eokFz8j6LFXKRYV4NU9zSsEB3GdMppnSgDplGgG8,861
150
150
  crypticorn/klines/client/models/log_level.py,sha256=7Fs-tsgqDurXrTfovY-B-wz3OTE_wr6IGlAZaveXJbc,766
151
151
  crypticorn/klines/client/models/market_type.py,sha256=iborRpJg9DypJuxB_RtkAzlzFaJLL4Onn1HYDbFXkEc,708
152
- crypticorn/klines/client/models/ohlcv.py,sha256=Xht0wCRM-2cHn3b9nwRKM0x8RVZNg5Dqxly0jrzHTiU,3194
152
+ crypticorn/klines/client/models/ohlcv.py,sha256=eRXht6zjIGpZXfVHmbak41mmmXq_76ugUeXKAw8M5xY,4087
153
153
  crypticorn/klines/client/models/resolution.py,sha256=xmyK99K0R7-8XEz3vEjEfPUT70BtRjbSHtsTs6wheFE,761
154
154
  crypticorn/klines/client/models/search_symbol.py,sha256=nxYE-yLT71UXXEh4I8euPMZcGrlbkBxGZKONJvRxK2g,2798
155
155
  crypticorn/klines/client/models/sort_direction.py,sha256=wFU7tm4M9bgR55rgN2aKLBPISnG9xKGTEXqcNV4fkSw,707
@@ -261,9 +261,9 @@ crypticorn/trade/client/models/strategy_model_input.py,sha256=ala19jARyfA5ysys5D
261
261
  crypticorn/trade/client/models/strategy_model_output.py,sha256=2o2lhbgUSTznowpMLEHF1Ex9TG9oRmzlCIb-gXqo7_s,5643
262
262
  crypticorn/trade/client/models/tpsl.py,sha256=C2KgTIZs-a8W4msdaXgBKJcwtA-o5wR4rBauRP-iQxU,4317
263
263
  crypticorn/trade/client/models/trading_action_type.py,sha256=pGq_TFLMPfYFizYP-xKgEC1ZF4U3lGdJYoGa_ZH2x-Q,769
264
- crypticorn-2.11.4.dist-info/licenses/LICENSE,sha256=HonAVvzFXkP2C1d7D3ByIKPwjGH8NcHTAQvKH7uvOHQ,1856
265
- crypticorn-2.11.4.dist-info/METADATA,sha256=HWeN0esFv-9WixvK9p3DHDzm_PBZyXfKyt1mKxHfH5g,8640
266
- crypticorn-2.11.4.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
267
- crypticorn-2.11.4.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
268
- crypticorn-2.11.4.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
269
- crypticorn-2.11.4.dist-info/RECORD,,
264
+ crypticorn-2.11.6.dist-info/licenses/LICENSE,sha256=HonAVvzFXkP2C1d7D3ByIKPwjGH8NcHTAQvKH7uvOHQ,1856
265
+ crypticorn-2.11.6.dist-info/METADATA,sha256=AeTyyu2Hcp5u55AY21qiwChn4tqew8QLJFk9bF5rM70,8640
266
+ crypticorn-2.11.6.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
267
+ crypticorn-2.11.6.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
268
+ crypticorn-2.11.6.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
269
+ crypticorn-2.11.6.dist-info/RECORD,,