crypticorn 2.8.0rc1__py3-none-any.whl → 2.8.0rc3__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.
- crypticorn/__init__.py +4 -0
- crypticorn/auth/client/models/create_api_key_request.py +3 -1
- crypticorn/auth/client/models/get_api_keys200_response_inner.py +3 -1
- crypticorn/common/__init__.py +1 -0
- crypticorn/common/ansi_colors.py +0 -3
- crypticorn/common/auth.py +3 -1
- crypticorn/common/exceptions.py +13 -6
- crypticorn/common/logging.py +27 -14
- crypticorn/common/middleware.py +28 -0
- crypticorn/common/mixins.py +3 -2
- crypticorn/common/router/admin_router.py +15 -11
- crypticorn/common/router/status_router.py +2 -2
- crypticorn/hive/client/__init__.py +3 -0
- crypticorn/hive/client/api/__init__.py +1 -0
- crypticorn/hive/client/api/admin_api.py +1453 -0
- crypticorn/hive/client/api/models_api.py +7 -7
- crypticorn/hive/client/api/status_api.py +4 -231
- crypticorn/hive/client/models/__init__.py +2 -0
- crypticorn/hive/client/models/log_level.py +38 -0
- crypticorn/hive/client/models/response_getuptime.py +159 -0
- crypticorn/hive/main.py +2 -1
- crypticorn/pay/client/__init__.py +3 -0
- crypticorn/pay/client/api/__init__.py +1 -0
- crypticorn/pay/client/api/admin_api.py +1453 -0
- crypticorn/pay/client/api/status_api.py +4 -231
- crypticorn/pay/client/models/__init__.py +2 -0
- crypticorn/pay/client/models/log_level.py +38 -0
- crypticorn/pay/client/models/response_getuptime.py +159 -0
- crypticorn/pay/client/models/scope.py +2 -0
- crypticorn/pay/main.py +2 -0
- {crypticorn-2.8.0rc1.dist-info → crypticorn-2.8.0rc3.dist-info}/METADATA +2 -1
- {crypticorn-2.8.0rc1.dist-info → crypticorn-2.8.0rc3.dist-info}/RECORD +35 -28
- {crypticorn-2.8.0rc1.dist-info → crypticorn-2.8.0rc3.dist-info}/WHEEL +0 -0
- {crypticorn-2.8.0rc1.dist-info → crypticorn-2.8.0rc3.dist-info}/entry_points.txt +0 -0
- {crypticorn-2.8.0rc1.dist-info → crypticorn-2.8.0rc3.dist-info}/top_level.txt +0 -0
@@ -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
|
20
|
+
from typing import Optional
|
21
21
|
|
22
22
|
from crypticorn.pay.client.api_client import ApiClient, RequestSerialized
|
23
23
|
from crypticorn.pay.client.api_response import ApiResponse
|
@@ -36,233 +36,6 @@ class StatusApi:
|
|
36
36
|
api_client = ApiClient.get_default()
|
37
37
|
self.api_client = api_client
|
38
38
|
|
39
|
-
@validate_call
|
40
|
-
async def get_config(
|
41
|
-
self,
|
42
|
-
_request_timeout: Union[
|
43
|
-
None,
|
44
|
-
Annotated[StrictFloat, Field(gt=0)],
|
45
|
-
Tuple[
|
46
|
-
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
47
|
-
],
|
48
|
-
] = None,
|
49
|
-
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
50
|
-
_content_type: Optional[StrictStr] = None,
|
51
|
-
_headers: Optional[Dict[StrictStr, Any]] = None,
|
52
|
-
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
53
|
-
) -> Dict[str, object]:
|
54
|
-
"""Config
|
55
|
-
|
56
|
-
Returns the version of the crypticorn library and the environment.
|
57
|
-
|
58
|
-
:param _request_timeout: timeout setting for this request. If one
|
59
|
-
number provided, it will be total request
|
60
|
-
timeout. It can also be a pair (tuple) of
|
61
|
-
(connection, read) timeouts.
|
62
|
-
:type _request_timeout: int, tuple(int, int), optional
|
63
|
-
:param _request_auth: set to override the auth_settings for an a single
|
64
|
-
request; this effectively ignores the
|
65
|
-
authentication in the spec for a single request.
|
66
|
-
:type _request_auth: dict, optional
|
67
|
-
:param _content_type: force content-type for the request.
|
68
|
-
:type _content_type: str, Optional
|
69
|
-
:param _headers: set to override the headers for a single
|
70
|
-
request; this effectively ignores the headers
|
71
|
-
in the spec for a single request.
|
72
|
-
:type _headers: dict, optional
|
73
|
-
:param _host_index: set to override the host_index for a single
|
74
|
-
request; this effectively ignores the host_index
|
75
|
-
in the spec for a single request.
|
76
|
-
:type _host_index: int, optional
|
77
|
-
:return: Returns the result object.
|
78
|
-
""" # noqa: E501
|
79
|
-
|
80
|
-
_param = self._get_config_serialize(
|
81
|
-
_request_auth=_request_auth,
|
82
|
-
_content_type=_content_type,
|
83
|
-
_headers=_headers,
|
84
|
-
_host_index=_host_index,
|
85
|
-
)
|
86
|
-
|
87
|
-
_response_types_map: Dict[str, Optional[str]] = {
|
88
|
-
"200": "Dict[str, object]",
|
89
|
-
}
|
90
|
-
response_data = await self.api_client.call_api(
|
91
|
-
*_param, _request_timeout=_request_timeout
|
92
|
-
)
|
93
|
-
await response_data.read()
|
94
|
-
return self.api_client.response_deserialize(
|
95
|
-
response_data=response_data,
|
96
|
-
response_types_map=_response_types_map,
|
97
|
-
).data
|
98
|
-
|
99
|
-
@validate_call
|
100
|
-
async def get_config_with_http_info(
|
101
|
-
self,
|
102
|
-
_request_timeout: Union[
|
103
|
-
None,
|
104
|
-
Annotated[StrictFloat, Field(gt=0)],
|
105
|
-
Tuple[
|
106
|
-
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
107
|
-
],
|
108
|
-
] = None,
|
109
|
-
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
110
|
-
_content_type: Optional[StrictStr] = None,
|
111
|
-
_headers: Optional[Dict[StrictStr, Any]] = None,
|
112
|
-
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
113
|
-
) -> ApiResponse[Dict[str, object]]:
|
114
|
-
"""Config
|
115
|
-
|
116
|
-
Returns the version of the crypticorn library and the environment.
|
117
|
-
|
118
|
-
:param _request_timeout: timeout setting for this request. If one
|
119
|
-
number provided, it will be total request
|
120
|
-
timeout. It can also be a pair (tuple) of
|
121
|
-
(connection, read) timeouts.
|
122
|
-
:type _request_timeout: int, tuple(int, int), optional
|
123
|
-
:param _request_auth: set to override the auth_settings for an a single
|
124
|
-
request; this effectively ignores the
|
125
|
-
authentication in the spec for a single request.
|
126
|
-
:type _request_auth: dict, optional
|
127
|
-
:param _content_type: force content-type for the request.
|
128
|
-
:type _content_type: str, Optional
|
129
|
-
:param _headers: set to override the headers for a single
|
130
|
-
request; this effectively ignores the headers
|
131
|
-
in the spec for a single request.
|
132
|
-
:type _headers: dict, optional
|
133
|
-
:param _host_index: set to override the host_index for a single
|
134
|
-
request; this effectively ignores the host_index
|
135
|
-
in the spec for a single request.
|
136
|
-
:type _host_index: int, optional
|
137
|
-
:return: Returns the result object.
|
138
|
-
""" # noqa: E501
|
139
|
-
|
140
|
-
_param = self._get_config_serialize(
|
141
|
-
_request_auth=_request_auth,
|
142
|
-
_content_type=_content_type,
|
143
|
-
_headers=_headers,
|
144
|
-
_host_index=_host_index,
|
145
|
-
)
|
146
|
-
|
147
|
-
_response_types_map: Dict[str, Optional[str]] = {
|
148
|
-
"200": "Dict[str, object]",
|
149
|
-
}
|
150
|
-
response_data = await self.api_client.call_api(
|
151
|
-
*_param, _request_timeout=_request_timeout
|
152
|
-
)
|
153
|
-
await response_data.read()
|
154
|
-
return self.api_client.response_deserialize(
|
155
|
-
response_data=response_data,
|
156
|
-
response_types_map=_response_types_map,
|
157
|
-
)
|
158
|
-
|
159
|
-
@validate_call
|
160
|
-
async def get_config_without_preload_content(
|
161
|
-
self,
|
162
|
-
_request_timeout: Union[
|
163
|
-
None,
|
164
|
-
Annotated[StrictFloat, Field(gt=0)],
|
165
|
-
Tuple[
|
166
|
-
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
167
|
-
],
|
168
|
-
] = None,
|
169
|
-
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
170
|
-
_content_type: Optional[StrictStr] = None,
|
171
|
-
_headers: Optional[Dict[StrictStr, Any]] = None,
|
172
|
-
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
173
|
-
) -> RESTResponseType:
|
174
|
-
"""Config
|
175
|
-
|
176
|
-
Returns the version of the crypticorn library and the environment.
|
177
|
-
|
178
|
-
:param _request_timeout: timeout setting for this request. If one
|
179
|
-
number provided, it will be total request
|
180
|
-
timeout. It can also be a pair (tuple) of
|
181
|
-
(connection, read) timeouts.
|
182
|
-
:type _request_timeout: int, tuple(int, int), optional
|
183
|
-
:param _request_auth: set to override the auth_settings for an a single
|
184
|
-
request; this effectively ignores the
|
185
|
-
authentication in the spec for a single request.
|
186
|
-
:type _request_auth: dict, optional
|
187
|
-
:param _content_type: force content-type for the request.
|
188
|
-
:type _content_type: str, Optional
|
189
|
-
:param _headers: set to override the headers for a single
|
190
|
-
request; this effectively ignores the headers
|
191
|
-
in the spec for a single request.
|
192
|
-
:type _headers: dict, optional
|
193
|
-
:param _host_index: set to override the host_index for a single
|
194
|
-
request; this effectively ignores the host_index
|
195
|
-
in the spec for a single request.
|
196
|
-
:type _host_index: int, optional
|
197
|
-
:return: Returns the result object.
|
198
|
-
""" # noqa: E501
|
199
|
-
|
200
|
-
_param = self._get_config_serialize(
|
201
|
-
_request_auth=_request_auth,
|
202
|
-
_content_type=_content_type,
|
203
|
-
_headers=_headers,
|
204
|
-
_host_index=_host_index,
|
205
|
-
)
|
206
|
-
|
207
|
-
_response_types_map: Dict[str, Optional[str]] = {
|
208
|
-
"200": "Dict[str, object]",
|
209
|
-
}
|
210
|
-
response_data = await self.api_client.call_api(
|
211
|
-
*_param, _request_timeout=_request_timeout
|
212
|
-
)
|
213
|
-
return response_data.response
|
214
|
-
|
215
|
-
def _get_config_serialize(
|
216
|
-
self,
|
217
|
-
_request_auth,
|
218
|
-
_content_type,
|
219
|
-
_headers,
|
220
|
-
_host_index,
|
221
|
-
) -> RequestSerialized:
|
222
|
-
|
223
|
-
_host = None
|
224
|
-
|
225
|
-
_collection_formats: Dict[str, str] = {}
|
226
|
-
|
227
|
-
_path_params: Dict[str, str] = {}
|
228
|
-
_query_params: List[Tuple[str, str]] = []
|
229
|
-
_header_params: Dict[str, Optional[str]] = _headers or {}
|
230
|
-
_form_params: List[Tuple[str, str]] = []
|
231
|
-
_files: Dict[
|
232
|
-
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
233
|
-
] = {}
|
234
|
-
_body_params: Optional[bytes] = None
|
235
|
-
|
236
|
-
# process the path parameters
|
237
|
-
# process the query parameters
|
238
|
-
# process the header parameters
|
239
|
-
# process the form parameters
|
240
|
-
# process the body parameter
|
241
|
-
|
242
|
-
# set the HTTP header `Accept`
|
243
|
-
if "Accept" not in _header_params:
|
244
|
-
_header_params["Accept"] = self.api_client.select_header_accept(
|
245
|
-
["application/json"]
|
246
|
-
)
|
247
|
-
|
248
|
-
# authentication setting
|
249
|
-
_auth_settings: List[str] = []
|
250
|
-
|
251
|
-
return self.api_client.param_serialize(
|
252
|
-
method="GET",
|
253
|
-
resource_path="/config",
|
254
|
-
path_params=_path_params,
|
255
|
-
query_params=_query_params,
|
256
|
-
header_params=_header_params,
|
257
|
-
body=_body_params,
|
258
|
-
post_params=_form_params,
|
259
|
-
files=_files,
|
260
|
-
auth_settings=_auth_settings,
|
261
|
-
collection_formats=_collection_formats,
|
262
|
-
_host=_host,
|
263
|
-
_request_auth=_request_auth,
|
264
|
-
)
|
265
|
-
|
266
39
|
@validate_call
|
267
40
|
async def get_time(
|
268
41
|
self,
|
@@ -281,7 +54,7 @@ class StatusApi:
|
|
281
54
|
) -> str:
|
282
55
|
"""Time
|
283
56
|
|
284
|
-
Returns the current time in
|
57
|
+
Returns the current time in either ISO or Unix timestamp (seconds) format.
|
285
58
|
|
286
59
|
:param type:
|
287
60
|
:type type: str
|
@@ -345,7 +118,7 @@ class StatusApi:
|
|
345
118
|
) -> ApiResponse[str]:
|
346
119
|
"""Time
|
347
120
|
|
348
|
-
Returns the current time in
|
121
|
+
Returns the current time in either ISO or Unix timestamp (seconds) format.
|
349
122
|
|
350
123
|
:param type:
|
351
124
|
:type type: str
|
@@ -409,7 +182,7 @@ class StatusApi:
|
|
409
182
|
) -> RESTResponseType:
|
410
183
|
"""Time
|
411
184
|
|
412
|
-
Returns the current time in
|
185
|
+
Returns the current time in either ISO or Unix timestamp (seconds) format.
|
413
186
|
|
414
187
|
:param type:
|
415
188
|
:type type: str
|
@@ -15,6 +15,7 @@ Do not edit the class manually.
|
|
15
15
|
|
16
16
|
# import models into model package
|
17
17
|
from crypticorn.pay.client.models.exception_detail import ExceptionDetail
|
18
|
+
from crypticorn.pay.client.models.log_level import LogLevel
|
18
19
|
from crypticorn.pay.client.models.now_create_invoice_req import NowCreateInvoiceReq
|
19
20
|
from crypticorn.pay.client.models.now_create_invoice_res import NowCreateInvoiceRes
|
20
21
|
from crypticorn.pay.client.models.payment import Payment
|
@@ -24,4 +25,5 @@ from crypticorn.pay.client.models.product_read import ProductRead
|
|
24
25
|
from crypticorn.pay.client.models.product_sub_read import ProductSubRead
|
25
26
|
from crypticorn.pay.client.models.product_update import ProductUpdate
|
26
27
|
from crypticorn.pay.client.models.provider import Provider
|
28
|
+
from crypticorn.pay.client.models.response_getuptime import ResponseGetuptime
|
27
29
|
from crypticorn.pay.client.models.scope import Scope
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Payment API
|
5
|
+
|
6
|
+
API for accepting payments and storing subscriptions
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
""" # noqa: E501
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import json
|
17
|
+
from enum import Enum
|
18
|
+
from typing_extensions import Self
|
19
|
+
|
20
|
+
|
21
|
+
class LogLevel(str, Enum):
|
22
|
+
"""
|
23
|
+
LogLevel
|
24
|
+
"""
|
25
|
+
|
26
|
+
"""
|
27
|
+
allowed enum values
|
28
|
+
"""
|
29
|
+
DEBUG = "DEBUG"
|
30
|
+
INFO = "INFO"
|
31
|
+
WARNING = "WARNING"
|
32
|
+
ERROR = "ERROR"
|
33
|
+
CRITICAL = "CRITICAL"
|
34
|
+
|
35
|
+
@classmethod
|
36
|
+
def from_json(cls, json_str: str) -> Self:
|
37
|
+
"""Create an instance of LogLevel from a JSON string"""
|
38
|
+
return cls(json.loads(json_str))
|
@@ -0,0 +1,159 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Payment API
|
5
|
+
|
6
|
+
API for accepting payments and storing subscriptions
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
""" # noqa: E501
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
from inspect import getfullargspec
|
17
|
+
import json
|
18
|
+
import pprint
|
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
|
+
)
|
29
|
+
from typing import Optional
|
30
|
+
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
|
31
|
+
from typing_extensions import Literal, Self
|
32
|
+
from pydantic import Field
|
33
|
+
|
34
|
+
RESPONSEGETUPTIME_ANY_OF_SCHEMAS = ["int", "str"]
|
35
|
+
|
36
|
+
|
37
|
+
class ResponseGetuptime(BaseModel):
|
38
|
+
"""
|
39
|
+
ResponseGetuptime
|
40
|
+
"""
|
41
|
+
|
42
|
+
# data type: int
|
43
|
+
anyof_schema_1_validator: Optional[StrictInt] = None
|
44
|
+
# data type: str
|
45
|
+
anyof_schema_2_validator: Optional[StrictStr] = None
|
46
|
+
if TYPE_CHECKING:
|
47
|
+
actual_instance: Optional[Union[int, str]] = None
|
48
|
+
else:
|
49
|
+
actual_instance: Any = None
|
50
|
+
any_of_schemas: Set[str] = {"int", "str"}
|
51
|
+
|
52
|
+
model_config = {
|
53
|
+
"validate_assignment": True,
|
54
|
+
"protected_namespaces": (),
|
55
|
+
}
|
56
|
+
|
57
|
+
def __init__(self, *args, **kwargs) -> None:
|
58
|
+
if args:
|
59
|
+
if len(args) > 1:
|
60
|
+
raise ValueError(
|
61
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
62
|
+
)
|
63
|
+
if kwargs:
|
64
|
+
raise ValueError(
|
65
|
+
"If a position argument is used, keyword arguments cannot be used."
|
66
|
+
)
|
67
|
+
super().__init__(actual_instance=args[0])
|
68
|
+
else:
|
69
|
+
super().__init__(**kwargs)
|
70
|
+
|
71
|
+
@field_validator("actual_instance")
|
72
|
+
def actual_instance_must_validate_anyof(cls, v):
|
73
|
+
instance = ResponseGetuptime.model_construct()
|
74
|
+
error_messages = []
|
75
|
+
# validate data type: int
|
76
|
+
try:
|
77
|
+
instance.anyof_schema_1_validator = v
|
78
|
+
return v
|
79
|
+
except (ValidationError, ValueError) as e:
|
80
|
+
error_messages.append(str(e))
|
81
|
+
# validate data type: str
|
82
|
+
try:
|
83
|
+
instance.anyof_schema_2_validator = v
|
84
|
+
return v
|
85
|
+
except (ValidationError, ValueError) as e:
|
86
|
+
error_messages.append(str(e))
|
87
|
+
if error_messages:
|
88
|
+
# no match
|
89
|
+
raise ValueError(
|
90
|
+
"No match found when setting the actual_instance in ResponseGetuptime with anyOf schemas: int, str. Details: "
|
91
|
+
+ ", ".join(error_messages)
|
92
|
+
)
|
93
|
+
else:
|
94
|
+
return v
|
95
|
+
|
96
|
+
@classmethod
|
97
|
+
def from_dict(cls, obj: Dict[str, Any]) -> Self:
|
98
|
+
return cls.from_json(json.dumps(obj))
|
99
|
+
|
100
|
+
@classmethod
|
101
|
+
def from_json(cls, json_str: str) -> Self:
|
102
|
+
"""Returns the object represented by the json string"""
|
103
|
+
instance = cls.model_construct()
|
104
|
+
error_messages = []
|
105
|
+
# deserialize data into int
|
106
|
+
try:
|
107
|
+
# validation
|
108
|
+
instance.anyof_schema_1_validator = json.loads(json_str)
|
109
|
+
# assign value to actual_instance
|
110
|
+
instance.actual_instance = instance.anyof_schema_1_validator
|
111
|
+
return instance
|
112
|
+
except (ValidationError, ValueError) as e:
|
113
|
+
error_messages.append(str(e))
|
114
|
+
# deserialize data into str
|
115
|
+
try:
|
116
|
+
# validation
|
117
|
+
instance.anyof_schema_2_validator = json.loads(json_str)
|
118
|
+
# assign value to actual_instance
|
119
|
+
instance.actual_instance = instance.anyof_schema_2_validator
|
120
|
+
return instance
|
121
|
+
except (ValidationError, ValueError) as e:
|
122
|
+
error_messages.append(str(e))
|
123
|
+
|
124
|
+
if error_messages:
|
125
|
+
# no match
|
126
|
+
raise ValueError(
|
127
|
+
"No match found when deserializing the JSON string into ResponseGetuptime with anyOf schemas: int, str. Details: "
|
128
|
+
+ ", ".join(error_messages)
|
129
|
+
)
|
130
|
+
else:
|
131
|
+
return instance
|
132
|
+
|
133
|
+
def to_json(self) -> str:
|
134
|
+
"""Returns the JSON representation of the actual instance"""
|
135
|
+
if self.actual_instance is None:
|
136
|
+
return "null"
|
137
|
+
|
138
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
139
|
+
self.actual_instance.to_json
|
140
|
+
):
|
141
|
+
return self.actual_instance.to_json()
|
142
|
+
else:
|
143
|
+
return json.dumps(self.actual_instance)
|
144
|
+
|
145
|
+
def to_dict(self) -> Optional[Union[Dict[str, Any], int, str]]:
|
146
|
+
"""Returns the dict representation of the actual instance"""
|
147
|
+
if self.actual_instance is None:
|
148
|
+
return None
|
149
|
+
|
150
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
151
|
+
self.actual_instance.to_dict
|
152
|
+
):
|
153
|
+
return self.actual_instance.to_dict()
|
154
|
+
else:
|
155
|
+
return self.actual_instance
|
156
|
+
|
157
|
+
def to_str(self) -> str:
|
158
|
+
"""Returns the string representation of the actual instance"""
|
159
|
+
return pprint.pformat(self.model_dump())
|
@@ -26,6 +26,8 @@ class Scope(str, Enum):
|
|
26
26
|
"""
|
27
27
|
allowed enum values
|
28
28
|
"""
|
29
|
+
WRITE_COLON_ADMIN = "write:admin"
|
30
|
+
READ_COLON_ADMIN = "read:admin"
|
29
31
|
READ_COLON_PREDICTIONS = "read:predictions"
|
30
32
|
READ_COLON_HIVE_COLON_MODEL = "read:hive:model"
|
31
33
|
READ_COLON_HIVE_COLON_DATA = "read:hive:data"
|
crypticorn/pay/main.py
CHANGED
@@ -5,6 +5,7 @@ from crypticorn.pay import (
|
|
5
5
|
StatusApi,
|
6
6
|
PaymentsApi,
|
7
7
|
ProductsApi,
|
8
|
+
AdminApi,
|
8
9
|
)
|
9
10
|
|
10
11
|
|
@@ -25,3 +26,4 @@ class PayClient:
|
|
25
26
|
self.status = StatusApi(self.base_client)
|
26
27
|
self.payments = PaymentsApi(self.base_client)
|
27
28
|
self.products = ProductsApi(self.base_client)
|
29
|
+
self.admin = AdminApi(self.base_client)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crypticorn
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.0rc3
|
4
4
|
Summary: Maximise Your Crypto Trading Profits with Machine Learning
|
5
5
|
Author-email: Crypticorn <timon@crypticorn.com>
|
6
6
|
License: MIT
|
@@ -16,6 +16,7 @@ Requires-Python: >=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
17
17
|
Requires-Dist: fastapi<1.0.0,>=0.115.0
|
18
18
|
Requires-Dist: click<9.0.0,>=8.0.0
|
19
|
+
Requires-Dist: psutil<8.0.0,>=7.0.0
|
19
20
|
Requires-Dist: urllib3<3.0.0,>=1.25.3
|
20
21
|
Requires-Dist: python_dateutil<3.0.0,>=2.8.2
|
21
22
|
Requires-Dist: aiohttp<4.0.0,>=3.8.4
|
@@ -1,4 +1,4 @@
|
|
1
|
-
crypticorn/__init__.py,sha256=
|
1
|
+
crypticorn/__init__.py,sha256=AyaDwO9NVhoQzNUNwqM_4o5saE3vbVcJZ9RNpXEYKxw,219
|
2
2
|
crypticorn/client.py,sha256=jMdF4mZuqB8YMZZOwJkTcvpHluGqw6Q-taSF6vQS5WM,3912
|
3
3
|
crypticorn/auth/__init__.py,sha256=JAl1tBLK9pYLr_-YKaj581c-c94PWLoqnatTIVAVvMM,81
|
4
4
|
crypticorn/auth/main.py,sha256=j8eRGN2gUWyeOCnWnUPe3mCAfaidGnOMnZRiSQy-yzM,720
|
@@ -22,9 +22,9 @@ crypticorn/auth/client/models/authorize_user200_response.py,sha256=fstTaffARzCe7
|
|
22
22
|
crypticorn/auth/client/models/authorize_user200_response_auth.py,sha256=OQzmKNICdr7tHrlhEDIxagDZx7XuW8VO2U3OMsWIJOA,3208
|
23
23
|
crypticorn/auth/client/models/authorize_user_request.py,sha256=o_1Ms6npD_1dJQ6aYshEk9JPV7JIkmAmuRawDDPUoTc,3205
|
24
24
|
crypticorn/auth/client/models/create_api_key200_response.py,sha256=UGjZwITv2EdS7bbt55D0w2an6_uO4u6gYr-GihL9m80,2459
|
25
|
-
crypticorn/auth/client/models/create_api_key_request.py,sha256=
|
25
|
+
crypticorn/auth/client/models/create_api_key_request.py,sha256=VaxptajDgoPPIfkkF1qh_wU3a7aTSc5wcjqvDcR5mnQ,5577
|
26
26
|
crypticorn/auth/client/models/create_user_request.py,sha256=nq4t2R4ldqSsJUoVhLw9YocdUwatH4gQ-jdFz3jaqrg,3481
|
27
|
-
crypticorn/auth/client/models/get_api_keys200_response_inner.py,sha256=
|
27
|
+
crypticorn/auth/client/models/get_api_keys200_response_inner.py,sha256=DiNnVej8GasK09PorQCk4jS_LWzwCxtjHEVH42cOA4U,5965
|
28
28
|
crypticorn/auth/client/models/list_wallets200_response.py,sha256=G2LQiThhtynkuDGFvIs-BowR38ut7cRbIeCzK4wMnPw,4732
|
29
29
|
crypticorn/auth/client/models/list_wallets200_response_balances_inner.py,sha256=acTJa8B5U8j3_wS1TUYXnprptqF_T4dlV-wVaQ5ZXig,4023
|
30
30
|
crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py,sha256=KrCHFXXfc6U61nDFsq26gRtQQnc2_tSjL2fwQOnBfzI,3603
|
@@ -63,36 +63,38 @@ crypticorn/cli/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
63
63
|
crypticorn/cli/templates/auth.py,sha256=Q1TxlA7qzhjvrqp1xz1aV2vGnj3DKFNN-VSl3o0B-dI,983
|
64
64
|
crypticorn/cli/templates/dependabot.yml,sha256=ct5ieB8KAV1KLzoYKUNm6dZ9wKG_P_JQHgRjZUfT54w,861
|
65
65
|
crypticorn/cli/templates/ruff.yml,sha256=gWicFFTzC4nToSmRkIIGipos8CZ447YG0kebBCJhtJE,319
|
66
|
-
crypticorn/common/__init__.py,sha256=
|
67
|
-
crypticorn/common/ansi_colors.py,sha256=
|
68
|
-
crypticorn/common/auth.py,sha256=
|
66
|
+
crypticorn/common/__init__.py,sha256=29n5tUr9-yjjJ8sjkbMrwq7pDKZ2Z1qz1bR1msGJDkA,671
|
67
|
+
crypticorn/common/ansi_colors.py,sha256=_ja-pxo0dUAT4WFZuYkOLliWA7LqTjvcew9dJUcgugU,1174
|
68
|
+
crypticorn/common/auth.py,sha256=GIb9MikQsSxqz-K5rDIOroP5mFoTgQqwByTGO5JqcdM,8713
|
69
69
|
crypticorn/common/decorators.py,sha256=pmnGYCIrLv59wZkDbvPyK9NJmgPJWW74LXTdIWSjOkY,1063
|
70
70
|
crypticorn/common/enums.py,sha256=RitDVqlG_HTe6tHT6bWusZNFCeYk1eQvJVH-7x3_Zlg,668
|
71
71
|
crypticorn/common/errors.py,sha256=8jxZ2lLn_NoFKKq6n2JwKPsR0dA2vkGnbXDfEK6ndH0,27851
|
72
|
-
crypticorn/common/exceptions.py,sha256=
|
73
|
-
crypticorn/common/logging.py,sha256=
|
74
|
-
crypticorn/common/
|
72
|
+
crypticorn/common/exceptions.py,sha256=BuRLQIg2_pwsaQAhPKP3lY9q2GNp0SlRdXlvp1O2USo,6088
|
73
|
+
crypticorn/common/logging.py,sha256=aLZ4d1SN1E9GDA78_OSLfnIQ9KguVbrNxWcJWM3rX-4,3647
|
74
|
+
crypticorn/common/middleware.py,sha256=PnzYHvB653JfQmwbpoDiHTAjMhH599cQebU0UOyGI2k,1041
|
75
|
+
crypticorn/common/mixins.py,sha256=WnyuXtdkotFfFo2DhdMzs3nnolLhkAQXWOo8Y_WeOm4,1774
|
75
76
|
crypticorn/common/pagination.py,sha256=c07jrMNrBaNTmgx4sppdP7ND4RNT7NBqBXWvofazIlE,2251
|
76
77
|
crypticorn/common/scopes.py,sha256=ofJ5FDf30wab572XvDzAXVKBIUWa3shScAmzNrJsWqQ,2453
|
77
78
|
crypticorn/common/urls.py,sha256=3Gf1NU1XQYcOTjcdztG3bDAE98FVbgTK2QXzUe7tFVQ,878
|
78
79
|
crypticorn/common/utils.py,sha256=Kz2-I96MKIGKM18PHQ77VbKHLMGUvZG_jjj7xpQed8k,2138
|
79
|
-
crypticorn/common/router/admin_router.py,sha256=
|
80
|
-
crypticorn/common/router/status_router.py,sha256=
|
80
|
+
crypticorn/common/router/admin_router.py,sha256=kFK9j_c-2b4f1rdI-dagCUkKg2A4i2clKkOLNT8HgMM,3369
|
81
|
+
crypticorn/common/router/status_router.py,sha256=922dHfpVM5auOTuNswIhDRmk_1bmU5hH83bxoT70uss,616
|
81
82
|
crypticorn/hive/__init__.py,sha256=hRfTlEzEql4msytdUC_04vfaHzVKG5CGZle1M-9QFgY,81
|
82
|
-
crypticorn/hive/main.py,sha256=
|
83
|
+
crypticorn/hive/main.py,sha256=UMff7p-1PeNDRGUc_WVlAwRgYevUe2ZnIEPi7GErtVU,2475
|
83
84
|
crypticorn/hive/utils.py,sha256=dxQ_OszrnTsslO5hDefMmgfj6yRwRPr8sr17fGizWIw,2066
|
84
|
-
crypticorn/hive/client/__init__.py,sha256=
|
85
|
+
crypticorn/hive/client/__init__.py,sha256=Eoc3h2B5KfiD7bYdU1qSmMj0HG8mKJ7E_63CHaZJkVI,2529
|
85
86
|
crypticorn/hive/client/api_client.py,sha256=fDFsACK7hxXw_sgt3ZJVH2RplEdUhR0YZd4tsZA9P5Q,26869
|
86
87
|
crypticorn/hive/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
87
88
|
crypticorn/hive/client/configuration.py,sha256=J4tZF5m71BMOFE1rfWzgrBWEPQ-DQ-FByFJiNZ81W48,19105
|
88
89
|
crypticorn/hive/client/exceptions.py,sha256=IKuM8sbMtr3T9z-fOuePTJmheUFahzmyZ8iamFaUpgM,6374
|
89
90
|
crypticorn/hive/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
91
|
crypticorn/hive/client/rest.py,sha256=VhXkE7R3y1RD0QmbvIwmsk-LP_DmOei_zd9YiIXer28,6975
|
91
|
-
crypticorn/hive/client/api/__init__.py,sha256=
|
92
|
+
crypticorn/hive/client/api/__init__.py,sha256=Qp35Nx0HEuKa8YmFcv6iSAqrLuR0YczPK7R-EEBDYuo,281
|
93
|
+
crypticorn/hive/client/api/admin_api.py,sha256=YeorLW1fpJnzrnmSSHSeMmXS4xANquMqYuT8y0kmzYU,58798
|
92
94
|
crypticorn/hive/client/api/data_api.py,sha256=GJlH2Qs1KmWCc4nv7y5byyyFDiidLdooG-WvbBv-Z-4,22624
|
93
|
-
crypticorn/hive/client/api/models_api.py,sha256=
|
94
|
-
crypticorn/hive/client/api/status_api.py,sha256=
|
95
|
-
crypticorn/hive/client/models/__init__.py,sha256=
|
95
|
+
crypticorn/hive/client/api/models_api.py,sha256=W35VZR5OQvwHk7v1WFO85m97FovnoWjdsskA4qU165Y,74143
|
96
|
+
crypticorn/hive/client/api/status_api.py,sha256=KIpSewGuK6_cUT6dfUjlvt35k1xW4YZcuSTCPWFURms,19577
|
97
|
+
crypticorn/hive/client/models/__init__.py,sha256=Vs5usxlPhwFPD0-Zfat85iWv_csli8VYnSTJVLH8sPM,1679
|
96
98
|
crypticorn/hive/client/models/coins.py,sha256=4rPueVFUDbdU-8KrZ5b1jwqasf3uMT_cIsORyKbeydc,875
|
97
99
|
crypticorn/hive/client/models/data_download_response.py,sha256=AVPLov8RO9zq6vThUe7M4p3LlhZQytXyPbFZD1AFDfY,3649
|
98
100
|
crypticorn/hive/client/models/data_info.py,sha256=5MILoSXWeiWArYKUtDi4448mSdamE3elCQuYE5je8Kk,5716
|
@@ -104,10 +106,12 @@ crypticorn/hive/client/models/evaluation.py,sha256=WeLJA4tCS4W_CnGxRAgrxySWko3QP
|
|
104
106
|
crypticorn/hive/client/models/evaluation_response.py,sha256=iwE1G1_EOFga6Zztf1A8z6TNiNc_R06r2lKLHIr5_6A,2526
|
105
107
|
crypticorn/hive/client/models/exception_detail.py,sha256=xLvJvILpIQl3Nl0LYtDPXsZcIouWIUB-0fqoUAaqiaU,3657
|
106
108
|
crypticorn/hive/client/models/feature_size.py,sha256=saLwDjXIzoa9sPO0lMvm3x4FavG2-IbBLub7-TOzW2M,785
|
109
|
+
crypticorn/hive/client/models/log_level.py,sha256=PcqRrIF-dJ1wnssdHlbA6SsPUjB1T4IpRGttsedeuyQ,722
|
107
110
|
crypticorn/hive/client/models/model.py,sha256=xbyqGaaiql35T2-qGyG1kkLsnKJCEmzm1bBNvQDf4FI,4536
|
108
111
|
crypticorn/hive/client/models/model_create.py,sha256=f6Ayw3KD39qw0qtvYF77K3huy7_Tmzv8pDyyQ_ooAG8,2828
|
109
112
|
crypticorn/hive/client/models/model_status.py,sha256=-2H6CHw6jhJgv4VJgwr1sgN2NtT1m7LGCX7L8ULTxEQ,685
|
110
113
|
crypticorn/hive/client/models/model_update.py,sha256=iO-VtYt0aRzj9z_GeIUK2OVNg9yvM01OUVfWyCA36fc,2413
|
114
|
+
crypticorn/hive/client/models/response_getuptime.py,sha256=i4IelPWr2yQuJxHQigbpkH0UG9N9AktS8SUWnouiCIk,5014
|
111
115
|
crypticorn/hive/client/models/target.py,sha256=otOJK8s5WVUen6J1AQZpRiD330RIpaJU6JShb-EU8Hs,777
|
112
116
|
crypticorn/hive/client/models/target_info.py,sha256=hFaOMZlirH2B68DQstL_c4WvtejwXyOk67lxIaeuh3Q,2857
|
113
117
|
crypticorn/hive/client/models/target_type.py,sha256=FUMaEFkPM7EvStPJE1auimDJ9mxDf6pbsFf-dF3coGw,684
|
@@ -163,21 +167,23 @@ crypticorn/metrics/client/models/severity.py,sha256=Bwls2jjCMP2lKc-_67d5WZbGPAeb
|
|
163
167
|
crypticorn/metrics/client/models/time_interval.py,sha256=8bHhMNt56xVGvJi5xNFMrAkAZFRKfym1UkeGoM2H0j8,772
|
164
168
|
crypticorn/metrics/client/models/trading_status.py,sha256=_S-KAyuCJsLLY0UTcNKkhLWoPJS-ywf7y3yTdhIuF0w,746
|
165
169
|
crypticorn/pay/__init__.py,sha256=ux-B-YbNetpTlZTb2fijuGUOEmSm4IB0fYtieGnVDBg,78
|
166
|
-
crypticorn/pay/main.py,sha256
|
167
|
-
crypticorn/pay/client/__init__.py,sha256=
|
170
|
+
crypticorn/pay/main.py,sha256=9HASyF8sDmI9MclcKZsBTBiU-DIzcb2PGJ7G59tOq60,696
|
171
|
+
crypticorn/pay/client/__init__.py,sha256=t51BXLDtwIAkAUFYhBnme4xRzqf-zHwaJ6tvPPUEeDo,2115
|
168
172
|
crypticorn/pay/client/api_client.py,sha256=HjmMJeQ4hcDNWm5I9LEQtZEGD1hPeyQU2y_SLmgD9mE,26870
|
169
173
|
crypticorn/pay/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
170
174
|
crypticorn/pay/client/configuration.py,sha256=-PRnl7AEOWSGACFOzIF42EMTZ8iGluXwhZvqAhSRXPI,19110
|
171
175
|
crypticorn/pay/client/exceptions.py,sha256=hbV_qDEzFJ2GVU2hVi6DqQMFztSBH1M8Nnuzou5kW-g,6381
|
172
176
|
crypticorn/pay/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
177
|
crypticorn/pay/client/rest.py,sha256=GfZLzoQiqFOYC1jIwCuxeY9XCOxlpu-Cvwn2Tu3Q1n0,6981
|
174
|
-
crypticorn/pay/client/api/__init__.py,sha256=
|
178
|
+
crypticorn/pay/client/api/__init__.py,sha256=OLynXJY1ujBoaam3yRbuC5QWZK31RJRGp_MWrmJ6DqY,359
|
179
|
+
crypticorn/pay/client/api/admin_api.py,sha256=GZSMjlrvC6S9-yrtNRH2sv9GNoh2HUEYkMw6iSx6JJo,58860
|
175
180
|
crypticorn/pay/client/api/now_payments_api.py,sha256=3BouXcha-xARDX6_soa5egqRszEO8f8QhN4WjOpP8tk,30346
|
176
181
|
crypticorn/pay/client/api/payments_api.py,sha256=XlCNkD6s_6nH8fktneoqMq4ZTHB9YkotVqX_edy614o,33820
|
177
182
|
crypticorn/pay/client/api/products_api.py,sha256=zh8y_3YgpCUZT7wAGAR7lDheR98y53YGJHwOU6VJQjw,33586
|
178
|
-
crypticorn/pay/client/api/status_api.py,sha256=
|
179
|
-
crypticorn/pay/client/models/__init__.py,sha256=
|
183
|
+
crypticorn/pay/client/api/status_api.py,sha256=G7ACZnRoKX87WbUJ8eI47XtQu_u1Xl0H1OHnC8-XrQg,19581
|
184
|
+
crypticorn/pay/client/models/__init__.py,sha256=L7iyMDmXtedB6N95TsBvoGYyMOhoYckpGFdz_kX8TP8,1196
|
180
185
|
crypticorn/pay/client/models/exception_detail.py,sha256=RKqu-lNMwpLu_lcLJe5WmSFCcsaHFKCDS8uCcpcd6L8,3664
|
186
|
+
crypticorn/pay/client/models/log_level.py,sha256=Z6gL84MpIt8u18Brh-oZT217IQB1w8H1zhHnWZtKU4M,729
|
181
187
|
crypticorn/pay/client/models/now_create_invoice_req.py,sha256=9MKrW4ETKdQLFuGUXcyqUwFkQ_4utWrhGvLzUxOoFws,6644
|
182
188
|
crypticorn/pay/client/models/now_create_invoice_res.py,sha256=zsdEAJjyZCmZdaag6Jr6XdLJIKZkOrx03K8t0IY7aTU,6957
|
183
189
|
crypticorn/pay/client/models/payment.py,sha256=SxHoHZ4AKWPk0r_1oeiP-7Vz5RdN9ow02cfZM0XKHdA,3543
|
@@ -187,7 +193,8 @@ crypticorn/pay/client/models/product_read.py,sha256=H2DQJNlO7fpL8R5KScprmn0-23or
|
|
187
193
|
crypticorn/pay/client/models/product_sub_read.py,sha256=5B0W9-tEypWUpmjUyvuaT_bgVq5wRsDcK-rWQDdU3wY,3156
|
188
194
|
crypticorn/pay/client/models/product_update.py,sha256=dM27vbcHRgtu3YrFgux3ufg8QMN5ta6OnGGRIe8Wrjk,4441
|
189
195
|
crypticorn/pay/client/models/provider.py,sha256=w2gJkEoTBnW-VluQ3AYLouWelszdf8Y4LnAVkWJUkTQ,656
|
190
|
-
crypticorn/pay/client/models/
|
196
|
+
crypticorn/pay/client/models/response_getuptime.py,sha256=2q_8MrnJxrIVkfl6dOP3aY0ZtBcTDgxjW_j1ldL6sw8,5021
|
197
|
+
crypticorn/pay/client/models/scope.py,sha256=YAgY33KvNjgIyjse2bezwatc2VrMwBHYjf8oCWR1dnU,2419
|
191
198
|
crypticorn/trade/__init__.py,sha256=QzScH9n-ly3QSaBSpPP7EqYwhdzDqYCZJs0-AhEhrsY,84
|
192
199
|
crypticorn/trade/main.py,sha256=h-lh8ESY0E5lKB5bg-D41TPxiNND8g4pFAd7updpd0Y,1074
|
193
200
|
crypticorn/trade/client/__init__.py,sha256=-KjY8hKc4WdMIJhPYtpG23d8QO7clLAcPlq8zrLvH9k,2951
|
@@ -227,8 +234,8 @@ crypticorn/trade/client/models/strategy_model_input.py,sha256=ala19jARyfA5ysys5D
|
|
227
234
|
crypticorn/trade/client/models/strategy_model_output.py,sha256=2o2lhbgUSTznowpMLEHF1Ex9TG9oRmzlCIb-gXqo7_s,5643
|
228
235
|
crypticorn/trade/client/models/tpsl.py,sha256=C2KgTIZs-a8W4msdaXgBKJcwtA-o5wR4rBauRP-iQxU,4317
|
229
236
|
crypticorn/trade/client/models/trading_action_type.py,sha256=pGq_TFLMPfYFizYP-xKgEC1ZF4U3lGdJYoGa_ZH2x-Q,769
|
230
|
-
crypticorn-2.8.
|
231
|
-
crypticorn-2.8.
|
232
|
-
crypticorn-2.8.
|
233
|
-
crypticorn-2.8.
|
234
|
-
crypticorn-2.8.
|
237
|
+
crypticorn-2.8.0rc3.dist-info/METADATA,sha256=Z8gz1XvxMd2GxdTV5mK7FESQOJNTvlh8lYWCexn3SOM,6646
|
238
|
+
crypticorn-2.8.0rc3.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
239
|
+
crypticorn-2.8.0rc3.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
|
240
|
+
crypticorn-2.8.0rc3.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
|
241
|
+
crypticorn-2.8.0rc3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|