crypticorn 2.4.6__py3-none-any.whl → 2.4.7__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 (52) hide show
  1. crypticorn/common/auth.py +7 -9
  2. crypticorn/common/errors.py +5 -0
  3. crypticorn/common/utils.py +15 -5
  4. crypticorn/klines/main.py +10 -5
  5. crypticorn/metrics/main.py +5 -4
  6. crypticorn/trade/client/__init__.py +6 -8
  7. crypticorn/trade/client/api/__init__.py +1 -0
  8. crypticorn/trade/client/api/api_keys_api.py +273 -167
  9. crypticorn/trade/client/api/bots_api.py +226 -140
  10. crypticorn/trade/client/api/exchanges_api.py +51 -31
  11. crypticorn/trade/client/api/futures_trading_panel_api.py +272 -169
  12. crypticorn/trade/client/api/notifications_api.py +323 -200
  13. crypticorn/trade/client/api/orders_api.py +60 -40
  14. crypticorn/trade/client/api/status_api.py +49 -31
  15. crypticorn/trade/client/api/strategies_api.py +223 -137
  16. crypticorn/trade/client/api/trading_actions_api.py +170 -106
  17. crypticorn/trade/client/api_client.py +153 -111
  18. crypticorn/trade/client/api_response.py +3 -2
  19. crypticorn/trade/client/configuration.py +115 -128
  20. crypticorn/trade/client/exceptions.py +21 -25
  21. crypticorn/trade/client/models/__init__.py +6 -8
  22. crypticorn/trade/client/models/action_model.py +54 -108
  23. crypticorn/trade/client/models/api_error_identifier.py +72 -76
  24. crypticorn/trade/client/models/api_error_level.py +11 -9
  25. crypticorn/trade/client/models/api_error_type.py +11 -9
  26. crypticorn/trade/client/models/bot_model.py +36 -57
  27. crypticorn/trade/client/models/bot_status.py +11 -9
  28. crypticorn/trade/client/models/exchange.py +9 -7
  29. crypticorn/trade/client/models/exchange_key_model.py +34 -44
  30. crypticorn/trade/client/models/execution_ids.py +18 -18
  31. crypticorn/trade/client/models/futures_balance.py +27 -43
  32. crypticorn/trade/client/models/futures_trading_action.py +50 -102
  33. crypticorn/trade/client/models/http_validation_error.py +15 -19
  34. crypticorn/trade/client/models/margin_mode.py +9 -7
  35. crypticorn/trade/client/models/market_type.py +9 -7
  36. crypticorn/trade/client/models/notification_model.py +32 -52
  37. crypticorn/trade/client/models/order_model.py +72 -112
  38. crypticorn/trade/client/models/order_status.py +12 -10
  39. crypticorn/trade/client/models/post_futures_action.py +16 -20
  40. crypticorn/trade/client/models/strategy_exchange_info.py +16 -15
  41. crypticorn/trade/client/models/strategy_model_input.py +33 -61
  42. crypticorn/trade/client/models/strategy_model_output.py +33 -61
  43. crypticorn/trade/client/models/tpsl.py +25 -39
  44. crypticorn/trade/client/models/trading_action_type.py +11 -9
  45. crypticorn/trade/client/models/validation_error.py +18 -24
  46. crypticorn/trade/client/models/validation_error_loc_inner.py +16 -37
  47. crypticorn/trade/client/rest.py +38 -23
  48. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/METADATA +8 -2
  49. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/RECORD +52 -52
  50. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/WHEEL +0 -0
  51. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/entry_points.txt +0 -0
  52. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Trading API
4
+ Trading API
5
5
 
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
7
 
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -17,15 +17,7 @@ from inspect import getfullargspec
17
17
  import json
18
18
  import pprint
19
19
  import re # noqa: F401
20
- from pydantic import (
21
- BaseModel,
22
- ConfigDict,
23
- Field,
24
- StrictInt,
25
- StrictStr,
26
- ValidationError,
27
- field_validator,
28
- )
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, ValidationError, field_validator
29
21
  from typing import Optional
30
22
  from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
31
23
  from typing_extensions import Literal, Self
@@ -33,7 +25,6 @@ from pydantic import Field
33
25
 
34
26
  VALIDATIONERRORLOCINNER_ANY_OF_SCHEMAS = ["int", "str"]
35
27
 
36
-
37
28
  class ValidationErrorLocInner(BaseModel):
38
29
  """
39
30
  ValidationErrorLocInner
@@ -47,7 +38,7 @@ class ValidationErrorLocInner(BaseModel):
47
38
  actual_instance: Optional[Union[int, str]] = None
48
39
  else:
49
40
  actual_instance: Any = None
50
- any_of_schemas: Set[str] = {"int", "str"}
41
+ any_of_schemas: Set[str] = { "int", "str" }
51
42
 
52
43
  model_config = {
53
44
  "validate_assignment": True,
@@ -57,18 +48,14 @@ class ValidationErrorLocInner(BaseModel):
57
48
  def __init__(self, *args, **kwargs) -> None:
58
49
  if args:
59
50
  if len(args) > 1:
60
- raise ValueError(
61
- "If a position argument is used, only 1 is allowed to set `actual_instance`"
62
- )
51
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
63
52
  if kwargs:
64
- raise ValueError(
65
- "If a position argument is used, keyword arguments cannot be used."
66
- )
53
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
67
54
  super().__init__(actual_instance=args[0])
68
55
  else:
69
56
  super().__init__(**kwargs)
70
57
 
71
- @field_validator("actual_instance")
58
+ @field_validator('actual_instance')
72
59
  def actual_instance_must_validate_anyof(cls, v):
73
60
  instance = ValidationErrorLocInner.model_construct()
74
61
  error_messages = []
@@ -86,10 +73,7 @@ class ValidationErrorLocInner(BaseModel):
86
73
  error_messages.append(str(e))
87
74
  if error_messages:
88
75
  # no match
89
- raise ValueError(
90
- "No match found when setting the actual_instance in ValidationErrorLocInner with anyOf schemas: int, str. Details: "
91
- + ", ".join(error_messages)
92
- )
76
+ raise ValueError("No match found when setting the actual_instance in ValidationErrorLocInner with anyOf schemas: int, str. Details: " + ", ".join(error_messages))
93
77
  else:
94
78
  return v
95
79
 
@@ -123,10 +107,7 @@ class ValidationErrorLocInner(BaseModel):
123
107
 
124
108
  if error_messages:
125
109
  # no match
126
- raise ValueError(
127
- "No match found when deserializing the JSON string into ValidationErrorLocInner with anyOf schemas: int, str. Details: "
128
- + ", ".join(error_messages)
129
- )
110
+ raise ValueError("No match found when deserializing the JSON string into ValidationErrorLocInner with anyOf schemas: int, str. Details: " + ", ".join(error_messages))
130
111
  else:
131
112
  return instance
132
113
 
@@ -135,9 +116,7 @@ class ValidationErrorLocInner(BaseModel):
135
116
  if self.actual_instance is None:
136
117
  return "null"
137
118
 
138
- if hasattr(self.actual_instance, "to_json") and callable(
139
- self.actual_instance.to_json
140
- ):
119
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
141
120
  return self.actual_instance.to_json()
142
121
  else:
143
122
  return json.dumps(self.actual_instance)
@@ -147,9 +126,7 @@ class ValidationErrorLocInner(BaseModel):
147
126
  if self.actual_instance is None:
148
127
  return None
149
128
 
150
- if hasattr(self.actual_instance, "to_dict") and callable(
151
- self.actual_instance.to_dict
152
- ):
129
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
153
130
  return self.actual_instance.to_dict()
154
131
  else:
155
132
  return self.actual_instance
@@ -157,3 +134,5 @@ class ValidationErrorLocInner(BaseModel):
157
134
  def to_str(self) -> str:
158
135
  """Returns the string representation of the actual instance"""
159
136
  return pprint.pformat(self.model_dump())
137
+
138
+
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Trading API
4
+ Trading API
5
5
 
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
7
 
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -25,8 +25,7 @@ from crypticorn.trade.client.exceptions import ApiException, ApiValueError
25
25
 
26
26
  RESTResponseType = aiohttp.ClientResponse
27
27
 
28
- ALLOW_RETRY_METHODS = frozenset({"DELETE", "GET", "HEAD", "OPTIONS", "PUT", "TRACE"})
29
-
28
+ ALLOW_RETRY_METHODS = frozenset({'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PUT', 'TRACE'})
30
29
 
31
30
  class RESTResponse(io.IOBase):
32
31
 
@@ -91,7 +90,7 @@ class RESTClientObject:
91
90
  headers=None,
92
91
  body=None,
93
92
  post_params=None,
94
- _request_timeout=None,
93
+ _request_timeout=None
95
94
  ):
96
95
  """Execute request
97
96
 
@@ -108,7 +107,15 @@ class RESTClientObject:
108
107
  (connection, read) timeouts.
109
108
  """
110
109
  method = method.upper()
111
- assert method in ["GET", "HEAD", "DELETE", "POST", "PUT", "PATCH", "OPTIONS"]
110
+ assert method in [
111
+ 'GET',
112
+ 'HEAD',
113
+ 'DELETE',
114
+ 'POST',
115
+ 'PUT',
116
+ 'PATCH',
117
+ 'OPTIONS'
118
+ ]
112
119
 
113
120
  if post_params and body:
114
121
  raise ApiValueError(
@@ -120,10 +127,15 @@ class RESTClientObject:
120
127
  # url already contains the URL query string
121
128
  timeout = _request_timeout or 5 * 60
122
129
 
123
- if "Content-Type" not in headers:
124
- headers["Content-Type"] = "application/json"
130
+ if 'Content-Type' not in headers:
131
+ headers['Content-Type'] = 'application/json'
125
132
 
126
- args = {"method": method, "url": url, "timeout": timeout, "headers": headers}
133
+ args = {
134
+ "method": method,
135
+ "url": url,
136
+ "timeout": timeout,
137
+ "headers": headers
138
+ }
127
139
 
128
140
  if self.proxy:
129
141
  args["proxy"] = self.proxy
@@ -131,22 +143,27 @@ class RESTClientObject:
131
143
  args["proxy_headers"] = self.proxy_headers
132
144
 
133
145
  # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
134
- if method in ["POST", "PUT", "PATCH", "OPTIONS", "DELETE"]:
135
- if re.search("json", headers["Content-Type"], re.IGNORECASE):
146
+ if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
147
+ if re.search('json', headers['Content-Type'], re.IGNORECASE):
136
148
  if body is not None:
137
149
  body = json.dumps(body)
138
150
  args["data"] = body
139
- elif headers["Content-Type"] == "application/x-www-form-urlencoded":
151
+ elif headers['Content-Type'] == 'application/x-www-form-urlencoded':
140
152
  args["data"] = aiohttp.FormData(post_params)
141
- elif headers["Content-Type"] == "multipart/form-data":
153
+ elif headers['Content-Type'] == 'multipart/form-data':
142
154
  # must del headers['Content-Type'], or the correct
143
155
  # Content-Type which generated by aiohttp
144
- del headers["Content-Type"]
156
+ del headers['Content-Type']
145
157
  data = aiohttp.FormData()
146
158
  for param in post_params:
147
159
  k, v = param
148
160
  if isinstance(v, tuple) and len(v) == 3:
149
- data.add_field(k, value=v[1], filename=v[0], content_type=v[2])
161
+ data.add_field(
162
+ k,
163
+ value=v[1],
164
+ filename=v[0],
165
+ content_type=v[2]
166
+ )
150
167
  else:
151
168
  # Ensures that dict objects are serialized
152
169
  if isinstance(v, dict):
@@ -173,9 +190,7 @@ class RESTClientObject:
173
190
  # https pool manager
174
191
  if self.pool_manager is None:
175
192
  self.pool_manager = aiohttp.ClientSession(
176
- connector=aiohttp.TCPConnector(
177
- limit=self.maxsize, ssl=self.ssl_context
178
- ),
193
+ connector=aiohttp.TCPConnector(limit=self.maxsize, ssl=self.ssl_context),
179
194
  trust_env=True,
180
195
  )
181
196
  pool_manager = self.pool_manager
@@ -188,8 +203,8 @@ class RESTClientObject:
188
203
  attempts=self.retries,
189
204
  factor=2.0,
190
205
  start_timeout=0.1,
191
- max_timeout=120.0,
192
- ),
206
+ max_timeout=120.0
207
+ )
193
208
  )
194
209
  pool_manager = self.retry_client
195
210
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.4.6
3
+ Version: 2.4.7
4
4
  Summary: Maximise Your Crypto Trading Profits with AI Predictions
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  Project-URL: Homepage, https://crypticorn.com
@@ -21,19 +21,23 @@ Requires-Dist: aiohttp<4.0.0,>=3.8.4
21
21
  Requires-Dist: aiohttp-retry<3.0.0,>=2.8.3
22
22
  Requires-Dist: pydantic<3.0.0,>=2.0.0
23
23
  Requires-Dist: typing-extensions<5.0.0,>=4.7.1
24
- Requires-Dist: pandas<3.0.0,>=2.2.0
25
24
  Requires-Dist: requests<3.0.0,>=2.32.0
26
25
  Requires-Dist: tqdm<5.0.0,>=4.67.0
27
26
  Provides-Extra: dev
28
27
  Requires-Dist: streamlit; extra == "dev"
29
28
  Requires-Dist: httpx; extra == "dev"
30
29
  Requires-Dist: black; extra == "dev"
30
+ Requires-Dist: ruff; extra == "dev"
31
+ Requires-Dist: isort; extra == "dev"
32
+ Requires-Dist: mypy; extra == "dev"
31
33
  Requires-Dist: openapi-generator-cli<8.0.0,>=7.12.0; extra == "dev"
32
34
  Provides-Extra: test
33
35
  Requires-Dist: pytest==8.3.5; extra == "test"
34
36
  Requires-Dist: pytest-asyncio==0.26.0; extra == "test"
35
37
  Requires-Dist: pytest-cov==6.1.1; extra == "test"
36
38
  Requires-Dist: python-dotenv==1.0.1; extra == "test"
39
+ Provides-Extra: extra
40
+ Requires-Dist: pandas<3.0.0,>=2.2.0; extra == "extra"
37
41
 
38
42
  # What is Crypticorn?
39
43
 
@@ -49,6 +53,8 @@ cryptocurrency market.
49
53
 
50
54
  ## Installation
51
55
 
56
+ >Python 3.10+ required
57
+
52
58
  You can install the latest stable version from PyPi:
53
59
  ```bash
54
60
  pip install crypticorn
@@ -60,14 +60,14 @@ crypticorn/cli/init.py,sha256=hwiu3kOuWVNYNwy9bIhYGCgf6w0kPtimRXUXoNqM-IE,3429
60
60
  crypticorn/cli/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  crypticorn/cli/templates/auth.py,sha256=Q1TxlA7qzhjvrqp1xz1aV2vGnj3DKFNN-VSl3o0B-dI,983
62
62
  crypticorn/common/__init__.py,sha256=7DCYhqkqmzCyACdLWn3GuhccBcx5jQcwlIsl_cCr7gM,269
63
- crypticorn/common/auth.py,sha256=wPdPLgTva4-bN-iOv8woe6n1t06LXNRbhbsNIEAHkuE,7496
63
+ crypticorn/common/auth.py,sha256=VHJNJEDpJGsusQPeEN3FQDDYz3WN2TZ2WetSXqCaZfI,7565
64
64
  crypticorn/common/enums.py,sha256=6cCwQZVdXUoN33WA8kSf4LeSZyExZcWO2ahSsgGddCs,1243
65
- crypticorn/common/errors.py,sha256=L4Tcfbd5ckzWlHDnN1K0eTXIOkQU1xFhqsgNdG6yI9o,19968
65
+ crypticorn/common/errors.py,sha256=LyX32A8Bgl20DrQmeUOPYYp1KIj4uRjvha4VyTFZm0A,20102
66
66
  crypticorn/common/pydantic.py,sha256=pmnGYCIrLv59wZkDbvPyK9NJmgPJWW74LXTdIWSjOkY,1063
67
67
  crypticorn/common/scopes.py,sha256=MgH9sGodJfPjEqVtFsaczNmwEaGL2wuGzeTpga_ehXs,2407
68
68
  crypticorn/common/sorter.py,sha256=keRRp4u7KJk3nS2A8tMdSF8Hbc1jcsre8KdTVuetfGc,1278
69
69
  crypticorn/common/urls.py,sha256=X557WaODUqW2dECi-mOjTbmhkSpnp40fPXDdvlnBXfo,805
70
- crypticorn/common/utils.py,sha256=qzpTTdZarpK9vgCQi36puS2GS_vmdIA6ApxoOVuszPg,1460
70
+ crypticorn/common/utils.py,sha256=TonfbX7PdlLekjda5nM4EstTCCu9T1hoW_TGGirXUjc,1939
71
71
  crypticorn/hive/__init__.py,sha256=hRfTlEzEql4msytdUC_04vfaHzVKG5CGZle1M-9QFgY,81
72
72
  crypticorn/hive/main.py,sha256=U4wurkxnKai2i7iiq049ah9nVzBxmexRxBdFIWfd9qE,631
73
73
  crypticorn/hive/client/__init__.py,sha256=b4XBX-fBb0vVHY6323ADasKFSbL66UDeUi0aV3-aNj8,2376
@@ -101,7 +101,7 @@ crypticorn/hive/client/models/target_type.py,sha256=rv9ub_0BM5DAR8jtGAZKbTO7RObE
101
101
  crypticorn/hive/client/models/validation_error.py,sha256=CHRYCMcCRjt3ylBorHFBN7Q-Brn72fcn_c2-L8Q9zK8,3146
102
102
  crypticorn/hive/client/models/validation_error_loc_inner.py,sha256=bpciQHI2dsFuFT2ZUyiS7ez9kjnt_YP0IQnQdYDCoyI,5050
103
103
  crypticorn/klines/__init__.py,sha256=9UUW013uZ5x4evz5zRUxbNid-6O9WAPPYvPZIHpAwms,87
104
- crypticorn/klines/main.py,sha256=r43Q2CVp7-gqNT9gjtfALRyN5Dp4xCyw6YOWAPVIDik,1710
104
+ crypticorn/klines/main.py,sha256=4iOgdRqByTeHrnRVwW5eLQKm9HITIVt11jLPQK9b1-A,2027
105
105
  crypticorn/klines/client/__init__.py,sha256=N0UnLoAQhh4m2_g4pn-hRSABYv8H_Mx54_fu1p0cLp0,3770
106
106
  crypticorn/klines/client/api_client.py,sha256=9wWG0brcoDWWeBHXuTMTUqvbSYX6tX5kuf7sBreQAsw,27110
107
107
  crypticorn/klines/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
@@ -142,7 +142,7 @@ crypticorn/klines/client/models/udf_config_response.py,sha256=7CDUucdc3OmsMWEFeW
142
142
  crypticorn/klines/client/models/validation_error.py,sha256=1TFg0Od5eoiksrEOQHPGQMsG9KxtbiEHfFc-Fd6z9kU,3484
143
143
  crypticorn/klines/client/models/validation_error_loc_inner.py,sha256=WGQs_4K95Oag8b82FVNEb1IMrF8xBFfTZ_bXUWT-OoA,5386
144
144
  crypticorn/metrics/__init__.py,sha256=t7FrHV5PaVTka90eIxDgOaWvOiyznSStcUanSbLov2o,126
145
- crypticorn/metrics/main.py,sha256=l2DOY-Ta1wGm9EbQhSKITSSklSd2yFqSeb5IF-tYh8Q,3147
145
+ crypticorn/metrics/main.py,sha256=9exx9x-XXr2y-qu8Pv_HuwtnHvm8t8C8NcKy9FDnC7s,3278
146
146
  crypticorn/metrics/client/__init__.py,sha256=P5JhBky8Izm4af8FPca8lbayVFavDFAyLWsN7IBil1M,2929
147
147
  crypticorn/metrics/client/api_client.py,sha256=7fXTuDKN8PwEXB1oiHTxQei0gNXbon6alzAa-QYFkw4,27114
148
148
  crypticorn/metrics/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
@@ -233,52 +233,52 @@ crypticorn/pay/client/models/validation_error.py,sha256=dEYMLbX_N7IfQLeuL-BRBVnh
233
233
  crypticorn/pay/client/models/validation_error_loc_inner.py,sha256=IJ4KtMiRfkAv1ymgH2H4mjCfQWmvMPc04C5ARvRSYz4,5111
234
234
  crypticorn/trade/__init__.py,sha256=QzScH9n-ly3QSaBSpPP7EqYwhdzDqYCZJs0-AhEhrsY,84
235
235
  crypticorn/trade/main.py,sha256=jn17PsnMp_xKuYic92u2ApytvT71au1cBse5TjgRQdM,1040
236
- crypticorn/trade/client/__init__.py,sha256=NSeuFRD2JmJvrYc0mCwkB2gfOsfLu9ZLrn9IAiwUWRs,3470
237
- crypticorn/trade/client/api_client.py,sha256=ZEwhf7fWCKN60rISRK0yMwTQ39zh_3826wagNwdMytU,26936
238
- crypticorn/trade/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
239
- crypticorn/trade/client/configuration.py,sha256=xTojeWHr0PjSppaxjAO38Rfmwq1gpvLK6x-ado8g4cQ,19168
240
- crypticorn/trade/client/exceptions.py,sha256=58guZPe-vJhofP5_H3FsiFxElKn61rXjM1qX2rSy4iw,6435
236
+ crypticorn/trade/client/__init__.py,sha256=4nen4oNaWdQ7M9Yk5d2Kc19Ztu3bUQ_2JOuonV8cO-U,3481
237
+ crypticorn/trade/client/api_client.py,sha256=kNDJKP1lZNlAi5ZfST12AUnzoHZTVmySo9I_6yWjHPA,27639
238
+ crypticorn/trade/client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
239
+ crypticorn/trade/client/configuration.py,sha256=Lz10vaGfooPSU6h1i1qYbVYDenUrQDfrB5i7EGvleGA,18920
240
+ crypticorn/trade/client/exceptions.py,sha256=e-5wCf81XX5sSLMUdBKnpxKSuqxaH9kYjzjZ8WhVimM,6475
241
241
  crypticorn/trade/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
- crypticorn/trade/client/rest.py,sha256=SiC5qH5IoMhsdNmWplwY7izcktW-acf1KJchdiA89-M,7037
243
- crypticorn/trade/client/api/__init__.py,sha256=s6jcukWHyom8Bp9Vj0yrOL37-dNPNvdvMK_aXwpKZzc,668
244
- crypticorn/trade/client/api/api_keys_api.py,sha256=I1FGEkXsigXYWw99644QK1FIcXO7gnQaZBkw4mQAoZk,51392
245
- crypticorn/trade/client/api/bots_api.py,sha256=bg94allr6lyyHSGD8ek90JFRgq-iL8kizixiIvxp6Zw,41968
246
- crypticorn/trade/client/api/exchanges_api.py,sha256=fc7hxMIFpYpyJiySBK3E2CerZ3bSjSKkUXgB5jLf8oE,10146
247
- crypticorn/trade/client/api/futures_trading_panel_api.py,sha256=vzfXSO5ANBgfVzFEpxxPkhbrAVC0mhEV08ekS3LhzjU,50561
248
- crypticorn/trade/client/api/notifications_api.py,sha256=Ueugskvo8zxhOKaelRdt2ua-UWwBE6Ls7DGL7t5yr10,61422
249
- crypticorn/trade/client/api/orders_api.py,sha256=WQwFcDTwQzKT9PL2djslTM4CCN_CErzn5A2c4rY0L14,11197
250
- crypticorn/trade/client/api/status_api.py,sha256=uUChSmVWGh-b3Rbp4sBWP7Ohga9KxMHxpw7jy3ZYdB0,9914
251
- crypticorn/trade/client/api/strategies_api.py,sha256=85rH72Su2Cgi2o7pK87PRHjuY_PHYryGpxC1CYLrzb0,42424
252
- crypticorn/trade/client/api/trading_actions_api.py,sha256=-dc71QhNY_GwNihqpQGmZrKp66RhQPUjzRBtQWyJm_k,32382
253
- crypticorn/trade/client/models/__init__.py,sha256=AD8MynThLLhOp4d8wnDGmH3lCihclUakG6_oUVVeyGo,2224
254
- crypticorn/trade/client/models/action_model.py,sha256=KH-NTt_RP9FVVxOJ5Id0VUyVkYkUyhjG6IwQEhpzm9c,10111
255
- crypticorn/trade/client/models/api_error_identifier.py,sha256=eVFeg0X-nq3LArdRLEC_Ju_keH1fkRgETIXVdXzry8o,4472
256
- crypticorn/trade/client/models/api_error_level.py,sha256=yM3sKq0Hnw4VuKCIOhqAOtXGpIIEYJqGpAtELHvGaw4,779
257
- crypticorn/trade/client/models/api_error_type.py,sha256=v_JWKU6UhB0PuYv10RGNj48iShII22YG_9HuIvlUkZ0,820
242
+ crypticorn/trade/client/rest.py,sha256=FXBdH7wZjvR2xmTvcYgX03KJi10YsBst6NQWYxBLdFM,7305
243
+ crypticorn/trade/client/api/__init__.py,sha256=s0PaWLA2MkjhypdxW0p_cb5Oxr3Bsds-3-x2HMA9Gtk,669
244
+ crypticorn/trade/client/api/api_keys_api.py,sha256=EOHCe6nXyM1hfLISp4LdrPysHcNrTo5UL7f2LNkDO9M,52450
245
+ crypticorn/trade/client/api/bots_api.py,sha256=mOKSf4Xb2NjEBZ9ggCMkSqXjeMTDfaA0aCHGSCg1SOI,42886
246
+ crypticorn/trade/client/api/exchanges_api.py,sha256=cSLOE0Ji5J1xuKT1SDqfoe4N4v0tDfq1P0guH3KFZbc,10330
247
+ crypticorn/trade/client/api/futures_trading_panel_api.py,sha256=SzKXLbuGwF-XP01Sd3T2t8xJss7Bm6OjH-tixrdvX0E,51630
248
+ crypticorn/trade/client/api/notifications_api.py,sha256=46U-0SlSFUN9PgXK0m__YhLLsyQASFsCmpOm7RHpN3c,62655
249
+ crypticorn/trade/client/api/orders_api.py,sha256=nBF1ln9b5BHOJ8NphYWhDzr-ziDStm3N0Idn0OZjHK8,11429
250
+ crypticorn/trade/client/api/status_api.py,sha256=AM34OwkB0lo2bTgFLEV4eT5rHCSLkSS4LvfTNY9V8r0,10072
251
+ crypticorn/trade/client/api/strategies_api.py,sha256=8HPlCQou17FhMo45Lwd-yVsr3axSSHHxyoEZKJkbCXw,43318
252
+ crypticorn/trade/client/api/trading_actions_api.py,sha256=-u9obXh6w2GuCsLRf22cLBJk_4JE5MnfoQkjMt03iyY,33086
253
+ crypticorn/trade/client/models/__init__.py,sha256=LuuQE7ahoNxCeqzVXRBvToKJPANanQgUooUTH3FhkEs,2235
254
+ crypticorn/trade/client/models/action_model.py,sha256=Kab9KchjrLzb2OgTH_g-cAxb_rMfIQbjW9Ripwd3QsY,9487
255
+ crypticorn/trade/client/models/api_error_identifier.py,sha256=uzBZaGbP8tie6yIgoVCmB7vZK37l1aJq-9OVUFRHyu4,4446
256
+ crypticorn/trade/client/models/api_error_level.py,sha256=wbZSxh4t4mCEwLRbQXCbf4Vvi9Fhf80rdVwZ6UxufJM,801
257
+ crypticorn/trade/client/models/api_error_type.py,sha256=ueNfViPSAsUUWoeGkFQkTZ_ktApTnhkJrYlHauLuQBs,842
258
258
  crypticorn/trade/client/models/api_key_model.py,sha256=6VPDVA-czB5SSjE7ojXwJ_4OReHn3VPcWtsx0fxjNok,5261
259
- crypticorn/trade/client/models/bot_model.py,sha256=MEXreufRA9UfPsXW85ocx8BtRI8t3XbKeYyZAN4Y8Y0,5855
260
- crypticorn/trade/client/models/bot_status.py,sha256=T5kntR0MTu8aTZ5okRaXfsoOu5d5c7BK8YEfXFjHGSc,776
261
- crypticorn/trade/client/models/exchange.py,sha256=sU5_6rrI1FWWOwj2ixeci533MjeMCzLFdEyK4B8Y_mI,740
262
- crypticorn/trade/client/models/exchange_key_model.py,sha256=_p4HELs7egrueePC0xzvlfBg6btdvLIYjMqOTO46b9M,5281
263
- crypticorn/trade/client/models/execution_ids.py,sha256=aiu2g11aUUabFdaKflx96YQoe2QYdDqP5ntDck536Os,2959
264
- crypticorn/trade/client/models/futures_balance.py,sha256=RqAFpqUz7s72jESPQRlq7fzx8kmAtEijONMT5AfnqLs,4161
265
- crypticorn/trade/client/models/futures_trading_action.py,sha256=O3k0tVRD-PGhWzHt2HFjGJD_gZnSPU5HLpfxyFQpCWo,9478
266
- crypticorn/trade/client/models/http_validation_error.py,sha256=CBQWU6TRxN6rQJAvv9xAg0Mi9IP4wh_h2vJZh5FpVxQ,3098
267
- crypticorn/trade/client/models/margin_mode.py,sha256=5g3fOU3U2uLFHjWpvM6k6lRouPhkIoWKa9D6vnArfXI,747
268
- crypticorn/trade/client/models/market_type.py,sha256=Q-5bPMVcQdWL06fHLdaVgJZ3e2X9DYptBxm8OjrCU9I,725
269
- crypticorn/trade/client/models/notification_model.py,sha256=gsUVqtTley18m5t-j8bET_Od-V3NmbIcol53qVLOmRQ,4990
270
- crypticorn/trade/client/models/order_model.py,sha256=sb51e01ttJWMxYjcRIf2IpgXpcHYMWPS9BXm1lgrOis,12662
271
- crypticorn/trade/client/models/order_status.py,sha256=k_nALTql9xUIbkr9bxu1F81QFR-wl_3Zb4WluAy6ug4,822
272
- crypticorn/trade/client/models/post_futures_action.py,sha256=Od6cE5mG1fCROtxo_RMU4pinEE90b9RqfSJX1mGMhOA,3093
273
- crypticorn/trade/client/models/strategy_exchange_info.py,sha256=i9twg0wCUq_IiCzJLVazN0V5LDVJhRihBcLGqw1ekqc,2811
274
- crypticorn/trade/client/models/strategy_model_input.py,sha256=XeF87uj4HEV9ZZELqkqELplGtJUGwhifAjduSzt6l98,5787
275
- crypticorn/trade/client/models/strategy_model_output.py,sha256=WrPTkBb1R0A90t5jtANG5Z2RnBvfNeJLFOUuQ32Iqsk,5791
276
- crypticorn/trade/client/models/tpsl.py,sha256=LlqzHaSA-HgQp1k4PhRckmxWNhgVZU6NgB8fTq-54CM,4321
277
- crypticorn/trade/client/models/trading_action_type.py,sha256=oLVDp94VeC9kjYbgZN7dHn2t07YGGUrAkNr2PE435eM,827
278
- crypticorn/trade/client/models/validation_error.py,sha256=x4rR325juK4EJiFJ8l5IKp2werY8y6PWbLx_WJMxbbA,3208
279
- crypticorn/trade/client/models/validation_error_loc_inner.py,sha256=ZB2NbHkxhjDZ2-qK1HyvzTUnabeCdxeTjbSAHNmWq5A,5111
280
- crypticorn-2.4.6.dist-info/METADATA,sha256=xp-KF9CnKywMVF_adx_BiSmBxgSsvBdLZwPREa2uqUM,6034
281
- crypticorn-2.4.6.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
282
- crypticorn-2.4.6.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
283
- crypticorn-2.4.6.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
284
- crypticorn-2.4.6.dist-info/RECORD,,
259
+ crypticorn/trade/client/models/bot_model.py,sha256=WjXDlpfOZS0ji5RMNTbzNtz481PT9_RCTohLJBnLa6c,5620
260
+ crypticorn/trade/client/models/bot_status.py,sha256=aFI-WCTlNbeYY4HkCFzEHVbSFfucqa5DUE_ZxvG4AXs,798
261
+ crypticorn/trade/client/models/exchange.py,sha256=DbTMElcfUFUWXcvrgbI7oIm5x6Vas-qkUIhjJDjWIZs,762
262
+ crypticorn/trade/client/models/exchange_key_model.py,sha256=tG81YbRJhGmzINnZ6J-6uKUEYTe-LkUd52H3HwF_3k8,5216
263
+ crypticorn/trade/client/models/execution_ids.py,sha256=Y-wvG0N8qSh85SubzzShtqPSjhySruazUewxprbbuNY,2984
264
+ crypticorn/trade/client/models/futures_balance.py,sha256=IzGHnQUoQsDqwltFdUaAd1HMOAD0ag4foQjnyRPiIs0,4016
265
+ crypticorn/trade/client/models/futures_trading_action.py,sha256=82ZgoypQpF_QW-PAOd6llXQKfhkbhQ0ZjeghLuJ82zk,8878
266
+ crypticorn/trade/client/models/http_validation_error.py,sha256=JheELv58H7ulOV8BEFUsVi41r8WtFtQSWyovqwZZ81s,3017
267
+ crypticorn/trade/client/models/margin_mode.py,sha256=MHnYjbIsfhWDzAcBXCWtD41RoFHQKlWpVv5foCRXxHs,769
268
+ crypticorn/trade/client/models/market_type.py,sha256=VUvVxMAkgIsDUhjYNEwtXnkHmzBz2yG_HwAeXo97HDA,747
269
+ crypticorn/trade/client/models/notification_model.py,sha256=A56wuLfH3Uj7UFFR-jV7mUmm7RwZz7LRaT7pLfsgdlU,4807
270
+ crypticorn/trade/client/models/order_model.py,sha256=IkqVeFalr6L4vnXsg8cH_u4jKMSpViCaK1P2BwrEDDg,12167
271
+ crypticorn/trade/client/models/order_status.py,sha256=_RuPAv2VQ6rCVunDHZXrmHVD9qEnwY-6w3ue5c02Q8o,844
272
+ crypticorn/trade/client/models/post_futures_action.py,sha256=6CYQdFiFRjW0jelEEHh28OuZdj4KE2fJtQSXap0rJ68,3007
273
+ crypticorn/trade/client/models/strategy_exchange_info.py,sha256=3z450zqw7SQuOzHlkkTbXoHzT6Mq1Y0FRqPUSP24WeY,2838
274
+ crypticorn/trade/client/models/strategy_model_input.py,sha256=VL0-qt02VgZ0-lhMbKiUVu4ZRC4VGiFjZ1QkhkmKkxU,5435
275
+ crypticorn/trade/client/models/strategy_model_output.py,sha256=UMOnT0BaScGPXVoodX7MIj8Z3p9zrIcRx8AempXfWUM,5439
276
+ crypticorn/trade/client/models/tpsl.py,sha256=POTjKzLrj0jdLlB6aJmvbkU7RLwZw6VKfpj8yS6vf6E,4184
277
+ crypticorn/trade/client/models/trading_action_type.py,sha256=jgEnmZtexDKlcMro8j8qynp3ojHRGt6Qhzm496P8IxM,849
278
+ crypticorn/trade/client/models/validation_error.py,sha256=v-Ds2WpiDRt9HcuiId0qddVGXXbiSfAAuHoTIL5FivM,3109
279
+ crypticorn/trade/client/models/validation_error_loc_inner.py,sha256=7FNsojpC-Hy8s7bZ69PynxAhQaiIa9oqVBmE2JtmPbs,4889
280
+ crypticorn-2.4.7.dist-info/METADATA,sha256=IHslw816_vrUNCK8qw2K6GYJPleHagEMURj-eF2vRpU,6207
281
+ crypticorn-2.4.7.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
282
+ crypticorn-2.4.7.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
283
+ crypticorn-2.4.7.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
284
+ crypticorn-2.4.7.dist-info/RECORD,,