crypticorn 2.7.0__py3-none-any.whl → 2.7.1__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/hive/client/models/coins.py +1 -1
- crypticorn/hive/client/models/data_download_response.py +6 -6
- crypticorn/hive/client/models/data_info.py +20 -8
- crypticorn/hive/client/models/data_version.py +1 -1
- crypticorn/hive/client/models/download_links.py +8 -4
- crypticorn/hive/client/models/feature_size.py +1 -1
- crypticorn/hive/client/models/target.py +1 -1
- crypticorn/hive/client/models/target_info.py +1 -1
- crypticorn/hive/client/models/target_type.py +1 -1
- crypticorn/hive/main.py +8 -2
- crypticorn/hive/utils.py +3 -1
- crypticorn/klines/main.py +42 -40
- crypticorn/metrics/main.py +8 -20
- {crypticorn-2.7.0.dist-info → crypticorn-2.7.1.dist-info}/METADATA +1 -1
- {crypticorn-2.7.0.dist-info → crypticorn-2.7.1.dist-info}/RECORD +18 -18
- {crypticorn-2.7.0.dist-info → crypticorn-2.7.1.dist-info}/WHEEL +0 -0
- {crypticorn-2.7.0.dist-info → crypticorn-2.7.1.dist-info}/entry_points.txt +0 -0
- {crypticorn-2.7.0.dist-info → crypticorn-2.7.1.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,7 @@ import pprint
|
|
17
17
|
import re # noqa: F401
|
18
18
|
import json
|
19
19
|
|
20
|
-
from pydantic import BaseModel, ConfigDict
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
22
22
|
from crypticorn.hive.client.models.coins import Coins
|
23
23
|
from crypticorn.hive.client.models.data_version import DataVersion
|
@@ -30,13 +30,13 @@ from typing_extensions import Self
|
|
30
30
|
|
31
31
|
class DataDownloadResponse(BaseModel):
|
32
32
|
"""
|
33
|
-
|
33
|
+
The response for a data download request
|
34
34
|
""" # noqa: E501
|
35
35
|
|
36
|
-
coin: Coins
|
37
|
-
feature_size: FeatureSize
|
38
|
-
version: DataVersion
|
39
|
-
target: Target
|
36
|
+
coin: Coins = Field(description="The coin the data is for")
|
37
|
+
feature_size: FeatureSize = Field(description="The feature size the data is for")
|
38
|
+
version: DataVersion = Field(description="The version of the data")
|
39
|
+
target: Target = Field(description="The target of the data")
|
40
40
|
links: DownloadLinks
|
41
41
|
__properties: ClassVar[List[str]] = [
|
42
42
|
"coin",
|
@@ -17,7 +17,7 @@ import pprint
|
|
17
17
|
import re # noqa: F401
|
18
18
|
import json
|
19
19
|
|
20
|
-
from pydantic import BaseModel, ConfigDict
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
22
22
|
from crypticorn.hive.client.models.coins import Coins
|
23
23
|
from crypticorn.hive.client.models.data_value_value_value_inner import (
|
@@ -32,15 +32,27 @@ from typing_extensions import Self
|
|
32
32
|
|
33
33
|
class DataInfo(BaseModel):
|
34
34
|
"""
|
35
|
-
|
35
|
+
The complete data information for all versions, coins, feature sizes and targets
|
36
36
|
""" # noqa: E501
|
37
37
|
|
38
|
-
data: Dict[str, Dict[str, Dict[str, List[DataValueValueValueInner]]]]
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
38
|
+
data: Dict[str, Dict[str, Dict[str, List[DataValueValueValueInner]]]] = Field(
|
39
|
+
description="The complete data information for all versions, coins, feature sizes and targets."
|
40
|
+
)
|
41
|
+
coins: List[Coins] = Field(
|
42
|
+
description="The coins available on the latest data version."
|
43
|
+
)
|
44
|
+
feature_sizes: List[FeatureSize] = Field(
|
45
|
+
description="The feature sizes available on the latest data version."
|
46
|
+
)
|
47
|
+
targets: List[TargetInfo] = Field(
|
48
|
+
description="The targets available on the latest data version."
|
49
|
+
)
|
50
|
+
all_versions: List[DataVersionInfo] = Field(
|
51
|
+
description="All ever existing data versions. Some may not be publicly available yet."
|
52
|
+
)
|
53
|
+
available_versions: List[DataVersionInfo] = Field(
|
54
|
+
description="All publicly available data versions."
|
55
|
+
)
|
44
56
|
__properties: ClassVar[List[str]] = [
|
45
57
|
"data",
|
46
58
|
"coins",
|
@@ -25,12 +25,16 @@ from typing_extensions import Self
|
|
25
25
|
|
26
26
|
class DownloadLinks(BaseModel):
|
27
27
|
"""
|
28
|
-
|
28
|
+
The download links for the data
|
29
29
|
""" # noqa: E501
|
30
30
|
|
31
|
-
y_train: StrictStr
|
32
|
-
x_test: StrictStr = Field(
|
33
|
-
|
31
|
+
y_train: StrictStr = Field(description="The download link for the y_train data")
|
32
|
+
x_test: StrictStr = Field(
|
33
|
+
description="The download link for the X_test data", alias="X_test"
|
34
|
+
)
|
35
|
+
x_train: StrictStr = Field(
|
36
|
+
description="The download link for the X_train data", alias="X_train"
|
37
|
+
)
|
34
38
|
__properties: ClassVar[List[str]] = ["y_train", "X_test", "X_train"]
|
35
39
|
|
36
40
|
model_config = ConfigDict(
|
crypticorn/hive/main.py
CHANGED
@@ -40,11 +40,17 @@ class DataApiWrapper(DataApi):
|
|
40
40
|
),
|
41
41
|
download_file(
|
42
42
|
url=response.links.x_test,
|
43
|
-
dest_path=base_path
|
43
|
+
dest_path=base_path
|
44
|
+
+ "x_test_"
|
45
|
+
+ response.feature_size
|
46
|
+
+ ".feather",
|
44
47
|
),
|
45
48
|
download_file(
|
46
49
|
url=response.links.x_train,
|
47
|
-
dest_path=base_path
|
50
|
+
dest_path=base_path
|
51
|
+
+ "x_train_"
|
52
|
+
+ response.feature_size
|
53
|
+
+ ".feather",
|
48
54
|
),
|
49
55
|
]
|
50
56
|
)
|
crypticorn/hive/utils.py
CHANGED
@@ -7,7 +7,9 @@ logger = logging.getLogger(__name__)
|
|
7
7
|
logger.setLevel(logging.INFO)
|
8
8
|
|
9
9
|
|
10
|
-
async def download_file(
|
10
|
+
async def download_file(
|
11
|
+
url: str, dest_path: str, show_progress_bars: bool = True
|
12
|
+
) -> str:
|
11
13
|
"""downloads a file and shows a progress bar. allow resuming a download"""
|
12
14
|
file_size = 0
|
13
15
|
req = requests.get(url, stream=True, timeout=600)
|
crypticorn/klines/main.py
CHANGED
@@ -10,6 +10,25 @@ from crypticorn.klines import (
|
|
10
10
|
)
|
11
11
|
from crypticorn.common import optional_import
|
12
12
|
|
13
|
+
class KlinesClient:
|
14
|
+
"""
|
15
|
+
A client for interacting with the Crypticorn Klines API.
|
16
|
+
"""
|
17
|
+
|
18
|
+
config_class = Configuration
|
19
|
+
|
20
|
+
def __init__(
|
21
|
+
self,
|
22
|
+
config: Configuration,
|
23
|
+
):
|
24
|
+
self.config = config
|
25
|
+
self.base_client = ApiClient(configuration=self.config)
|
26
|
+
# Instantiate all the endpoint clients
|
27
|
+
self.funding = FundingRatesApiWrapper(self.base_client)
|
28
|
+
self.ohlcv = OHLCVDataApiWrapper(self.base_client)
|
29
|
+
self.symbols = SymbolsApiWrapper(self.base_client)
|
30
|
+
self.udf = UDFApi(self.base_client)
|
31
|
+
self.status = StatusApi(self.base_client)
|
13
32
|
|
14
33
|
class FundingRatesApiWrapper(FundingRatesApi):
|
15
34
|
"""
|
@@ -21,11 +40,16 @@ class FundingRatesApiWrapper(FundingRatesApi):
|
|
21
40
|
Get the funding rates in a pandas DataFrame.
|
22
41
|
"""
|
23
42
|
pd = optional_import("pandas", "extra")
|
24
|
-
response = await self.
|
25
|
-
response
|
26
|
-
|
27
|
-
|
28
|
-
|
43
|
+
response = await self.get_funding_rates(*args, **kwargs)
|
44
|
+
response = [
|
45
|
+
{
|
46
|
+
"timestamp": int(m.timestamp.timestamp()),
|
47
|
+
"symbol": m.symbol,
|
48
|
+
"funding_rate": m.funding_rate,
|
49
|
+
}
|
50
|
+
for m in response
|
51
|
+
]
|
52
|
+
return pd.DataFrame(response)
|
29
53
|
|
30
54
|
class OHLCVDataApiWrapper(OHLCVDataApi):
|
31
55
|
"""
|
@@ -37,19 +61,20 @@ class OHLCVDataApiWrapper(OHLCVDataApi):
|
|
37
61
|
Get the OHLCV data in a pandas DataFrame.
|
38
62
|
"""
|
39
63
|
pd = optional_import("pandas", "extra")
|
40
|
-
response = await self.
|
41
|
-
|
42
|
-
json_data = await response.json()
|
43
|
-
return pd.DataFrame(
|
64
|
+
response = await self.get_ohlcv(*args, **kwargs)
|
65
|
+
df = pd.DataFrame(
|
44
66
|
{
|
45
|
-
"timestamp":
|
46
|
-
"open":
|
47
|
-
"high":
|
48
|
-
"low":
|
49
|
-
"close":
|
50
|
-
"volume":
|
67
|
+
"timestamp": [int(d.timestamp()) for d in response.timestamps],
|
68
|
+
"open": response.open,
|
69
|
+
"high": response.high,
|
70
|
+
"low": response.low,
|
71
|
+
"close": response.close,
|
72
|
+
"volume": response.volume,
|
51
73
|
}
|
52
74
|
)
|
75
|
+
df.sort_values(by="timestamp", ascending=False, inplace=True)
|
76
|
+
df.reset_index(drop=True, inplace=True)
|
77
|
+
return df
|
53
78
|
|
54
79
|
|
55
80
|
class SymbolsApiWrapper(SymbolsApi):
|
@@ -62,30 +87,7 @@ class SymbolsApiWrapper(SymbolsApi):
|
|
62
87
|
Get the symbols in a pandas DataFrame.
|
63
88
|
"""
|
64
89
|
pd = optional_import("pandas", "extra")
|
65
|
-
response = await self.
|
66
|
-
|
67
|
-
)
|
68
|
-
response.raise_for_status()
|
69
|
-
json_data = await response.json()
|
70
|
-
return pd.DataFrame(json_data["data"], columns=["symbol"])
|
90
|
+
response = await self.get_klines_symbols(*args, **kwargs)
|
91
|
+
return pd.DataFrame(response, columns=["symbol"])
|
71
92
|
|
72
93
|
|
73
|
-
class KlinesClient:
|
74
|
-
"""
|
75
|
-
A client for interacting with the Crypticorn Klines API.
|
76
|
-
"""
|
77
|
-
|
78
|
-
config_class = Configuration
|
79
|
-
|
80
|
-
def __init__(
|
81
|
-
self,
|
82
|
-
config: Configuration,
|
83
|
-
):
|
84
|
-
self.config = config
|
85
|
-
self.base_client = ApiClient(configuration=self.config)
|
86
|
-
# Instantiate all the endpoint clients
|
87
|
-
self.funding = FundingRatesApiWrapper(self.base_client)
|
88
|
-
self.ohlcv = OHLCVDataApiWrapper(self.base_client)
|
89
|
-
self.symbols = SymbolsApiWrapper(self.base_client)
|
90
|
-
self.udf = UDFApi(self.base_client)
|
91
|
-
self.status = StatusApi(self.base_client)
|
crypticorn/metrics/main.py
CHANGED
@@ -33,7 +33,7 @@ class MetricsClient:
|
|
33
33
|
self.marketcap = MarketcapApiWrapper(self.base_client)
|
34
34
|
self.markets = MarketsApi(self.base_client)
|
35
35
|
self.tokens = TokensApiWrapper(self.base_client)
|
36
|
-
self.exchanges =
|
36
|
+
self.exchanges = ExchangesApiWrapper(self.base_client)
|
37
37
|
|
38
38
|
|
39
39
|
class MarketcapApiWrapper(MarketcapApi):
|
@@ -46,12 +46,8 @@ class MarketcapApiWrapper(MarketcapApi):
|
|
46
46
|
Get the marketcap symbols in a pandas dataframe
|
47
47
|
"""
|
48
48
|
pd = optional_import("pandas", "extra")
|
49
|
-
response = await self.
|
50
|
-
|
51
|
-
)
|
52
|
-
response.raise_for_status()
|
53
|
-
json_response = await response.json()
|
54
|
-
df = pd.DataFrame(json_response["data"])
|
49
|
+
response = await self.get_marketcap_symbols(*args, **kwargs)
|
50
|
+
df = pd.DataFrame(response)
|
55
51
|
df.rename(columns={df.columns[0]: "timestamp"}, inplace=True)
|
56
52
|
return df
|
57
53
|
|
@@ -66,12 +62,8 @@ class TokensApiWrapper(TokensApi):
|
|
66
62
|
Get the tokens in a pandas dataframe
|
67
63
|
"""
|
68
64
|
pd = optional_import("pandas", "extra")
|
69
|
-
response = await self.
|
70
|
-
|
71
|
-
)
|
72
|
-
response.raise_for_status()
|
73
|
-
json_data = await response.json()
|
74
|
-
return pd.DataFrame(json_data)
|
65
|
+
response = await self.get_stable_and_wrapped_tokens(*args, **kwargs)
|
66
|
+
return pd.DataFrame(response)
|
75
67
|
|
76
68
|
|
77
69
|
class ExchangesApiWrapper(ExchangesApi):
|
@@ -79,18 +71,14 @@ class ExchangesApiWrapper(ExchangesApi):
|
|
79
71
|
A wrapper for the ExchangesApi class.
|
80
72
|
"""
|
81
73
|
|
82
|
-
async def
|
74
|
+
async def get_available_exchanges_fmt(self, *args, **kwargs) -> pd.DataFrame: # type: ignore
|
83
75
|
"""
|
84
76
|
Get the exchanges in a pandas dataframe
|
85
77
|
"""
|
86
78
|
pd = optional_import("pandas", "extra")
|
87
|
-
response = await self.
|
88
|
-
*args, **kwargs
|
89
|
-
)
|
90
|
-
response.raise_for_status()
|
91
|
-
json_data = await response.json()
|
79
|
+
response = await self.get_available_exchanges(*args, **kwargs)
|
92
80
|
processed_results = []
|
93
|
-
for row in
|
81
|
+
for row in response:
|
94
82
|
data = {"timestamp": row["timestamp"]}
|
95
83
|
data.update(row["exchanges"])
|
96
84
|
processed_results.append(data)
|
@@ -73,8 +73,8 @@ crypticorn/common/status_router.py,sha256=s7LY3aNQPhtDUgNWHRszfCQMl0Uh13li_jR8je
|
|
73
73
|
crypticorn/common/urls.py,sha256=3Gf1NU1XQYcOTjcdztG3bDAE98FVbgTK2QXzUe7tFVQ,878
|
74
74
|
crypticorn/common/utils.py,sha256=Kz2-I96MKIGKM18PHQ77VbKHLMGUvZG_jjj7xpQed8k,2138
|
75
75
|
crypticorn/hive/__init__.py,sha256=hRfTlEzEql4msytdUC_04vfaHzVKG5CGZle1M-9QFgY,81
|
76
|
-
crypticorn/hive/main.py,sha256=
|
77
|
-
crypticorn/hive/utils.py,sha256=
|
76
|
+
crypticorn/hive/main.py,sha256=4oQ2RybZMbe0kRxVJrVAABsN5kUTCMExQFJDSnAzBUY,2428
|
77
|
+
crypticorn/hive/utils.py,sha256=dxQ_OszrnTsslO5hDefMmgfj6yRwRPr8sr17fGizWIw,2066
|
78
78
|
crypticorn/hive/client/__init__.py,sha256=BZ7MlUhK1x5j73WRPTPJFbTSELv9urdbpPonq04m6Aw,2331
|
79
79
|
crypticorn/hive/client/api_client.py,sha256=fDFsACK7hxXw_sgt3ZJVH2RplEdUhR0YZd4tsZA9P5Q,26869
|
80
80
|
crypticorn/hive/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
@@ -87,26 +87,26 @@ crypticorn/hive/client/api/data_api.py,sha256=GJlH2Qs1KmWCc4nv7y5byyyFDiidLdooG-
|
|
87
87
|
crypticorn/hive/client/api/models_api.py,sha256=61r9uObh1puEGJOXi_v-LmEP1xNqfbEo5spEYzlAA44,74136
|
88
88
|
crypticorn/hive/client/api/status_api.py,sha256=3ZZ9e1duL9Oz8gWvQQMryUevuRY_ERMPpClW8gY2THE,28714
|
89
89
|
crypticorn/hive/client/models/__init__.py,sha256=C-SmdIMEQljgJaxgADRAgHQuknh0sCZiAELnHC4SuJI,1539
|
90
|
-
crypticorn/hive/client/models/coins.py,sha256=
|
91
|
-
crypticorn/hive/client/models/data_download_response.py,sha256=
|
92
|
-
crypticorn/hive/client/models/data_info.py,sha256=
|
90
|
+
crypticorn/hive/client/models/coins.py,sha256=4rPueVFUDbdU-8KrZ5b1jwqasf3uMT_cIsORyKbeydc,875
|
91
|
+
crypticorn/hive/client/models/data_download_response.py,sha256=AVPLov8RO9zq6vThUe7M4p3LlhZQytXyPbFZD1AFDfY,3649
|
92
|
+
crypticorn/hive/client/models/data_info.py,sha256=5MILoSXWeiWArYKUtDi4448mSdamE3elCQuYE5je8Kk,5716
|
93
93
|
crypticorn/hive/client/models/data_value_value_value_inner.py,sha256=fMkZWwAwrdmTDjwD9PVNIh4WzZ_nFACD57B7OPKO4n4,4987
|
94
|
-
crypticorn/hive/client/models/data_version.py,sha256=
|
94
|
+
crypticorn/hive/client/models/data_version.py,sha256=Id_PKD-6GDVgkxbg194s3gOokgpX3WbLQ3CGdctnajU,663
|
95
95
|
crypticorn/hive/client/models/data_version_info.py,sha256=LdwEwSgGfOzjitxiPXZfEp7IDkMQJs_7SCftZI0-5TQ,2687
|
96
|
-
crypticorn/hive/client/models/download_links.py,sha256=
|
96
|
+
crypticorn/hive/client/models/download_links.py,sha256=nXq__ZoJ2ZVqeofVolB9B47LgGGDQKorPBNRsdp8uPU,2854
|
97
97
|
crypticorn/hive/client/models/evaluation.py,sha256=WeLJA4tCS4W_CnGxRAgrxySWko3QPYzpxeVDuYyLPgM,2608
|
98
98
|
crypticorn/hive/client/models/evaluation_response.py,sha256=iwE1G1_EOFga6Zztf1A8z6TNiNc_R06r2lKLHIr5_6A,2526
|
99
99
|
crypticorn/hive/client/models/exception_detail.py,sha256=xLvJvILpIQl3Nl0LYtDPXsZcIouWIUB-0fqoUAaqiaU,3657
|
100
|
-
crypticorn/hive/client/models/feature_size.py,sha256=
|
100
|
+
crypticorn/hive/client/models/feature_size.py,sha256=saLwDjXIzoa9sPO0lMvm3x4FavG2-IbBLub7-TOzW2M,785
|
101
101
|
crypticorn/hive/client/models/model.py,sha256=xbyqGaaiql35T2-qGyG1kkLsnKJCEmzm1bBNvQDf4FI,4536
|
102
102
|
crypticorn/hive/client/models/model_create.py,sha256=f6Ayw3KD39qw0qtvYF77K3huy7_Tmzv8pDyyQ_ooAG8,2828
|
103
103
|
crypticorn/hive/client/models/model_status.py,sha256=-2H6CHw6jhJgv4VJgwr1sgN2NtT1m7LGCX7L8ULTxEQ,685
|
104
104
|
crypticorn/hive/client/models/model_update.py,sha256=iO-VtYt0aRzj9z_GeIUK2OVNg9yvM01OUVfWyCA36fc,2413
|
105
|
-
crypticorn/hive/client/models/target.py,sha256=
|
106
|
-
crypticorn/hive/client/models/target_info.py,sha256=
|
107
|
-
crypticorn/hive/client/models/target_type.py,sha256=
|
105
|
+
crypticorn/hive/client/models/target.py,sha256=otOJK8s5WVUen6J1AQZpRiD330RIpaJU6JShb-EU8Hs,777
|
106
|
+
crypticorn/hive/client/models/target_info.py,sha256=hFaOMZlirH2B68DQstL_c4WvtejwXyOk67lxIaeuh3Q,2857
|
107
|
+
crypticorn/hive/client/models/target_type.py,sha256=FUMaEFkPM7EvStPJE1auimDJ9mxDf6pbsFf-dF3coGw,684
|
108
108
|
crypticorn/klines/__init__.py,sha256=9UUW013uZ5x4evz5zRUxbNid-6O9WAPPYvPZIHpAwms,87
|
109
|
-
crypticorn/klines/main.py,sha256=
|
109
|
+
crypticorn/klines/main.py,sha256=gLbd-taZhyHLV20CT2CFQr-ucM0oESx9QtqoYTe-G4U,2788
|
110
110
|
crypticorn/klines/client/__init__.py,sha256=YLtas-sCXyq543ujKIWIT73qfQ1D97stsztr1AWjhSc,2222
|
111
111
|
crypticorn/klines/client/api_client.py,sha256=XYk_eoVRHxQDoTKJJwMpO__LbU1DQtpMikBTyulJrvE,26925
|
112
112
|
crypticorn/klines/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
@@ -135,7 +135,7 @@ crypticorn/klines/client/models/symbol_type.py,sha256=uOEqlQJ714fa0SEYOxzCOx9cG-
|
|
135
135
|
crypticorn/klines/client/models/timeframe.py,sha256=bSZJz3Q78V1RAnm3ZDtGBzFOnDKE3Pc5A0eP3ky3KaI,760
|
136
136
|
crypticorn/klines/client/models/udf_config.py,sha256=3VxMqMJb7AqwxWyeM1SxEd4jp2r-iRZppVRW7RHR7iY,5066
|
137
137
|
crypticorn/metrics/__init__.py,sha256=t7FrHV5PaVTka90eIxDgOaWvOiyznSStcUanSbLov2o,126
|
138
|
-
crypticorn/metrics/main.py,sha256=
|
138
|
+
crypticorn/metrics/main.py,sha256=hT7dS8Nc3IEIHOGAzVDehEOwHy3GlmEjaL2IxREHjhw,3127
|
139
139
|
crypticorn/metrics/client/__init__.py,sha256=IcYZIuKVRCnesSbJgvn_-Wg1it5vY0goYwL-pNdVfh0,1727
|
140
140
|
crypticorn/metrics/client/api_client.py,sha256=pGWJuO-mgxlUdhJGwkScf7CviGzjDrmUAiU0LXasQY4,26934
|
141
141
|
crypticorn/metrics/client/api_response.py,sha256=WhxwYDSMm6wPixp9CegO8dJzjFxDz3JF1yCq9s0ZqKE,639
|
@@ -221,8 +221,8 @@ crypticorn/trade/client/models/strategy_model_input.py,sha256=ala19jARyfA5ysys5D
|
|
221
221
|
crypticorn/trade/client/models/strategy_model_output.py,sha256=2o2lhbgUSTznowpMLEHF1Ex9TG9oRmzlCIb-gXqo7_s,5643
|
222
222
|
crypticorn/trade/client/models/tpsl.py,sha256=C2KgTIZs-a8W4msdaXgBKJcwtA-o5wR4rBauRP-iQxU,4317
|
223
223
|
crypticorn/trade/client/models/trading_action_type.py,sha256=pGq_TFLMPfYFizYP-xKgEC1ZF4U3lGdJYoGa_ZH2x-Q,769
|
224
|
-
crypticorn-2.7.
|
225
|
-
crypticorn-2.7.
|
226
|
-
crypticorn-2.7.
|
227
|
-
crypticorn-2.7.
|
228
|
-
crypticorn-2.7.
|
224
|
+
crypticorn-2.7.1.dist-info/METADATA,sha256=V-HqZMdshq4XkwDAHV-vBDfZ2dqR1nhtrHiUb0EJDXc,6249
|
225
|
+
crypticorn-2.7.1.dist-info/WHEEL,sha256=wXxTzcEDnjrTwFYjLPcsW_7_XihufBwmpiBeiXNBGEA,91
|
226
|
+
crypticorn-2.7.1.dist-info/entry_points.txt,sha256=d_xHsGvUTebPveVUK0SrpDFQ5ZRSjlI7lNCc11sn2PM,59
|
227
|
+
crypticorn-2.7.1.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
|
228
|
+
crypticorn-2.7.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|