crypticorn 1.0.2rc1__py3-none-any.whl → 1.0.2rc2__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 (50) hide show
  1. crypticorn/client.py +3 -3
  2. crypticorn/hive/__init__.py +1 -0
  3. crypticorn/klines/__init__.py +2 -0
  4. crypticorn/klines/main.py +1 -1
  5. crypticorn/trade/__init__.py +2 -0
  6. crypticorn/trade/client/models/action_model.py +4 -4
  7. crypticorn/trade/client/models/api_key_model.py +4 -4
  8. crypticorn/trade/client/models/bot_model.py +4 -4
  9. crypticorn/trade/client/models/notification_model.py +4 -4
  10. crypticorn/trade/client/models/order_model.py +4 -4
  11. crypticorn/trade/client/models/strategy_model.py +4 -4
  12. crypticorn/trade/main.py +3 -2
  13. {crypticorn-1.0.2rc1.dist-info → crypticorn-1.0.2rc2.dist-info}/METADATA +16 -16
  14. {crypticorn-1.0.2rc1.dist-info → crypticorn-1.0.2rc2.dist-info}/RECORD +17 -47
  15. crypticorn/trade/test/__init__.py +0 -0
  16. crypticorn/trade/test/test_action_model.py +0 -87
  17. crypticorn/trade/test/test_api_error_identifier.py +0 -33
  18. crypticorn/trade/test/test_api_key_model.py +0 -61
  19. crypticorn/trade/test/test_api_keys_api.py +0 -66
  20. crypticorn/trade/test/test_bot_model.py +0 -64
  21. crypticorn/trade/test/test_bots_api.py +0 -59
  22. crypticorn/trade/test/test_exchange.py +0 -33
  23. crypticorn/trade/test/test_exchanges_api.py +0 -38
  24. crypticorn/trade/test/test_execution_ids.py +0 -68
  25. crypticorn/trade/test/test_futures_balance.py +0 -62
  26. crypticorn/trade/test/test_futures_trading_action.py +0 -86
  27. crypticorn/trade/test/test_futures_trading_panel_api.py +0 -66
  28. crypticorn/trade/test/test_http_validation_error.py +0 -58
  29. crypticorn/trade/test/test_margin_mode.py +0 -33
  30. crypticorn/trade/test/test_market_type.py +0 -33
  31. crypticorn/trade/test/test_notification_model.py +0 -59
  32. crypticorn/trade/test/test_notification_type.py +0 -33
  33. crypticorn/trade/test/test_notifications_api.py +0 -73
  34. crypticorn/trade/test/test_order_model.py +0 -75
  35. crypticorn/trade/test/test_order_status.py +0 -33
  36. crypticorn/trade/test/test_orders_api.py +0 -38
  37. crypticorn/trade/test/test_post_futures_action.py +0 -72
  38. crypticorn/trade/test/test_status_api.py +0 -38
  39. crypticorn/trade/test/test_strategies_api.py +0 -38
  40. crypticorn/trade/test/test_strategy_exchange_info.py +0 -54
  41. crypticorn/trade/test/test_strategy_model.py +0 -73
  42. crypticorn/trade/test/test_tpsl.py +0 -56
  43. crypticorn/trade/test/test_trading_action_type.py +0 -33
  44. crypticorn/trade/test/test_trading_actions_api.py +0 -52
  45. crypticorn/trade/test/test_update_notification.py +0 -54
  46. crypticorn/trade/test/test_validation_error.py +0 -60
  47. crypticorn/trade/test/test_validation_error_loc_inner.py +0 -50
  48. {crypticorn-1.0.2rc1.dist-info → crypticorn-1.0.2rc2.dist-info}/LICENSE.md +0 -0
  49. {crypticorn-1.0.2rc1.dist-info → crypticorn-1.0.2rc2.dist-info}/WHEEL +0 -0
  50. {crypticorn-1.0.2rc1.dist-info → crypticorn-1.0.2rc2.dist-info}/top_level.txt +0 -0
crypticorn/client.py CHANGED
@@ -6,9 +6,9 @@ from typing import Optional, Union, List
6
6
  from urllib.parse import urljoin
7
7
  from datetime import datetime, timedelta
8
8
 
9
- from crypticorn.hive.main import HiveClient
10
- from crypticorn.trade.main import TradeClient
11
- from crypticorn.klines.main import KlinesClient
9
+ from crypticorn.hive import HiveClient
10
+ from crypticorn.trade import TradeClient
11
+ from crypticorn.klines import KlinesClient
12
12
 
13
13
  class PredictionData(BaseModel):
14
14
  id: Optional[int] = None
@@ -0,0 +1 @@
1
+ from crypticorn.hive.main import HiveClient
@@ -0,0 +1,2 @@
1
+ from crypticorn.klines.client import *
2
+ from crypticorn.klines.main import KlinesClient
crypticorn/klines/main.py CHANGED
@@ -1,4 +1,4 @@
1
- from crypticorn.klines.client import FundingRatesApi, OHLCVDataApi, SymbolsApi, UDFApi, HealthCheckApi, Configuration, ApiClient
1
+ from crypticorn.klines import FundingRatesApi, OHLCVDataApi, SymbolsApi, UDFApi, HealthCheckApi, Configuration, ApiClient
2
2
  import pandas as pd
3
3
 
4
4
  class FundingRatesApiWrapper(FundingRatesApi):
@@ -0,0 +1,2 @@
1
+ from crypticorn.trade.client import *
2
+ from crypticorn.trade.main import TradeClient
@@ -31,8 +31,8 @@ class ActionModel(BaseModel):
31
31
  """
32
32
  ActionModel
33
33
  """ # noqa: E501
34
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
35
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
34
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
35
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
36
36
  id: Optional[StrictStr] = None
37
37
  execution_id: Optional[StrictStr] = None
38
38
  open_order_execution_id: Optional[StrictStr] = None
@@ -177,8 +177,8 @@ class ActionModel(BaseModel):
177
177
  return cls.model_validate(obj)
178
178
 
179
179
  _obj = cls.model_validate({
180
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
181
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
180
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
181
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
182
182
  "id": obj.get("id"),
183
183
  "execution_id": obj.get("execution_id"),
184
184
  "open_order_execution_id": obj.get("open_order_execution_id"),
@@ -26,8 +26,8 @@ class APIKeyModel(BaseModel):
26
26
  """
27
27
  APIKeyModel
28
28
  """ # noqa: E501
29
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
30
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
29
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
30
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
31
31
  id: Optional[StrictStr] = None
32
32
  exchange: StrictStr = Field(description="Exchange name")
33
33
  api_key: Optional[StrictStr] = None
@@ -119,8 +119,8 @@ class APIKeyModel(BaseModel):
119
119
  return cls.model_validate(obj)
120
120
 
121
121
  _obj = cls.model_validate({
122
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
123
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
122
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
123
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
124
124
  "id": obj.get("id"),
125
125
  "exchange": obj.get("exchange"),
126
126
  "api_key": obj.get("api_key"),
@@ -26,8 +26,8 @@ class BotModel(BaseModel):
26
26
  """
27
27
  BotModel
28
28
  """ # noqa: E501
29
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
30
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
29
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
30
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
31
31
  id: Optional[StrictStr] = None
32
32
  name: StrictStr = Field(description="Name of the bot")
33
33
  strategy_id: StrictStr = Field(description="UID for the trading strategy used by the bot")
@@ -105,8 +105,8 @@ class BotModel(BaseModel):
105
105
  return cls.model_validate(obj)
106
106
 
107
107
  _obj = cls.model_validate({
108
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
109
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
108
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
109
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
110
110
  "id": obj.get("id"),
111
111
  "name": obj.get("name"),
112
112
  "strategy_id": obj.get("strategy_id"),
@@ -28,8 +28,8 @@ class NotificationModel(BaseModel):
28
28
  """
29
29
  NotificationModel
30
30
  """ # noqa: E501
31
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
32
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
31
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
32
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
33
33
  id: Optional[StrictStr] = None
34
34
  identifier: ApiErrorIdentifier = Field(description="Identifier string. Must match the mapping key in the frontend.")
35
35
  user_id: Optional[StrictStr] = None
@@ -99,8 +99,8 @@ class NotificationModel(BaseModel):
99
99
  return cls.model_validate(obj)
100
100
 
101
101
  _obj = cls.model_validate({
102
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
103
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
102
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
103
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
104
104
  "id": obj.get("id"),
105
105
  "identifier": obj.get("identifier"),
106
106
  "user_id": obj.get("user_id"),
@@ -32,8 +32,8 @@ class OrderModel(BaseModel):
32
32
  """
33
33
  Response model for orders. All optional as the model is built step by step.
34
34
  """ # noqa: E501
35
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
36
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
35
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
36
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
37
37
  id: Optional[StrictStr] = None
38
38
  trading_action_id: Optional[StrictStr] = None
39
39
  execution_id: Optional[StrictStr] = None
@@ -231,8 +231,8 @@ class OrderModel(BaseModel):
231
231
  return cls.model_validate(obj)
232
232
 
233
233
  _obj = cls.model_validate({
234
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
235
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
234
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
235
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
236
236
  "id": obj.get("id"),
237
237
  "trading_action_id": obj.get("trading_action_id"),
238
238
  "execution_id": obj.get("execution_id"),
@@ -28,8 +28,8 @@ class StrategyModel(BaseModel):
28
28
  """
29
29
  StrategyModel
30
30
  """ # noqa: E501
31
- created_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of creation")
32
- updated_at: Optional[StrictInt] = Field(default=1742340838, description="Timestamp of last update")
31
+ created_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of creation")
32
+ updated_at: Optional[StrictInt] = Field(default=1742386800, description="Timestamp of last update")
33
33
  id: Optional[StrictStr] = None
34
34
  identifier: StrictStr = Field(description="Unique human readable identifier for the strategy e.g. 'daily_trend_momentum'")
35
35
  name: StrictStr = Field(description="Name of the strategy")
@@ -103,8 +103,8 @@ class StrategyModel(BaseModel):
103
103
  return cls.model_validate(obj)
104
104
 
105
105
  _obj = cls.model_validate({
106
- "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742340838,
107
- "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742340838,
106
+ "created_at": obj.get("created_at") if obj.get("created_at") is not None else 1742386800,
107
+ "updated_at": obj.get("updated_at") if obj.get("updated_at") is not None else 1742386800,
108
108
  "id": obj.get("id"),
109
109
  "identifier": obj.get("identifier"),
110
110
  "name": obj.get("name"),
crypticorn/trade/main.py CHANGED
@@ -1,4 +1,4 @@
1
- from crypticorn.trade.client import (
1
+ from crypticorn.trade import (
2
2
  BotsApi,
3
3
  ExchangesApi,
4
4
  NotificationsApi,
@@ -23,7 +23,8 @@ class TradeClient:
23
23
  self.host = f"{base_url}/v1/trade"
24
24
  config = Configuration(
25
25
  host=self.host,
26
- access_token=jwt, # at the moment we only support JWT auth
26
+ access_token=jwt,
27
+ # authorization=api_key, # TODO: add api key verification
27
28
  )
28
29
  base_client = ApiClient(configuration=config)
29
30
  # Instantiate all the endpoint clients
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: crypticorn
3
- Version: 1.0.2rc1
3
+ Version: 1.0.2rc2
4
4
  Summary: Maximise Your Crypto Trading Profits with AI Predictions
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License: MIT License
@@ -16,6 +16,21 @@ Classifier: Typing :: Typed
16
16
  Requires-Python: >=3.10
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE.md
19
+ Provides-Extra: trade
20
+ Requires-Dist: urllib3<3.0.0,>=1.25.3; extra == "trade"
21
+ Requires-Dist: python_dateutil>=2.8.2; extra == "trade"
22
+ Requires-Dist: pydantic>=2; extra == "trade"
23
+ Requires-Dist: typing-extensions>=4.7.1; extra == "trade"
24
+ Provides-Extra: klines
25
+ Requires-Dist: urllib3<3.0.0,>=1.25.3; extra == "klines"
26
+ Requires-Dist: python_dateutil>=2.8.2; extra == "klines"
27
+ Requires-Dist: pydantic>=2; extra == "klines"
28
+ Requires-Dist: typing-extensions>=4.7.1; extra == "klines"
29
+ Provides-Extra: hive
30
+ Requires-Dist: pandas<3.0.0,>=2.2.0; extra == "hive"
31
+ Requires-Dist: requests<3.0.0,>=2.32.0; extra == "hive"
32
+ Requires-Dist: tqdm<5.0.0,>=4.67.0; extra == "hive"
33
+ Requires-Dist: pydantic<3.0.0,>=2.0.0; extra == "hive"
19
34
  Provides-Extra: dev
20
35
  Requires-Dist: streamlit; extra == "dev"
21
36
  Requires-Dist: httpx; extra == "dev"
@@ -30,18 +45,3 @@ Requires-Dist: tox>=3.9.0; extra == "test"
30
45
  Requires-Dist: flake8>=4.0.0; extra == "test"
31
46
  Requires-Dist: types-python-dateutil>=2.8.19.14; extra == "test"
32
47
  Requires-Dist: mypy>=1.5; extra == "test"
33
- Provides-Extra: klines
34
- Requires-Dist: urllib3<3.0.0,>=1.25.3; extra == "klines"
35
- Requires-Dist: python_dateutil>=2.8.2; extra == "klines"
36
- Requires-Dist: pydantic>=2; extra == "klines"
37
- Requires-Dist: typing-extensions>=4.7.1; extra == "klines"
38
- Provides-Extra: hive
39
- Requires-Dist: pandas<3.0.0,>=2.2.0; extra == "hive"
40
- Requires-Dist: requests<3.0.0,>=2.32.0; extra == "hive"
41
- Requires-Dist: tqdm<5.0.0,>=4.67.0; extra == "hive"
42
- Requires-Dist: pydantic<3.0.0,>=2.0.0; extra == "hive"
43
- Provides-Extra: trade
44
- Requires-Dist: urllib3<3.0.0,>=1.25.3; extra == "trade"
45
- Requires-Dist: python_dateutil>=2.8.2; extra == "trade"
46
- Requires-Dist: pydantic>=2; extra == "trade"
47
- Requires-Dist: typing-extensions>=4.7.1; extra == "trade"
@@ -1,9 +1,11 @@
1
1
  crypticorn/__init__.py,sha256=tSmvwtqHKKAzbhWIc8Vt95hffRf8aEYX-8wWX6ZAPaM,147
2
- crypticorn/client.py,sha256=V2i23nm-6jKgXt0uFN-I1io8bna_ZMqtGAqcHyIlPx8,29230
2
+ crypticorn/client.py,sha256=AWM7R7X24QQvOJn-YnJQtwK8G7SVNBrfwpGRGdji2uY,29215
3
+ crypticorn/hive/__init__.py,sha256=1o5DghmXxXFp7cL-RCNg9_EqNAJih7ftEl5gz0Q19Qc,43
3
4
  crypticorn/hive/main.py,sha256=ZdB0mS_x37pGF7r63Ek-RMYTfGkmdKPf2Sj18WGGJKw,4856
4
5
  crypticorn/hive/requirements.txt,sha256=-eIbxeVF3c8WJ-QKUSHm-16kCHVp-dRP7isN25wbxqw,103
5
6
  crypticorn/hive/utils.py,sha256=UOgdUomUDoX97OylN0_4fsu3mPsJHaUkpHqNmSp-QYE,3126
6
- crypticorn/klines/main.py,sha256=vuKU4JUKGKs3P1YRWqCcn3Qmru8jvxwYJiQKbNe27lw,1597
7
+ crypticorn/klines/__init__.py,sha256=9UUW013uZ5x4evz5zRUxbNid-6O9WAPPYvPZIHpAwms,87
8
+ crypticorn/klines/main.py,sha256=_c_lVK2tTdiAz36jkUvdNipEg-h-j3VsiSliBehdNmc,1590
7
9
  crypticorn/klines/requirements.txt,sha256=n8RhXDEAbEojFhhRCctaYym4TMVetN5A7FZ-tjjgMRA,93
8
10
  crypticorn/klines/client/__init__.py,sha256=yRh5QZclw9iV6gx5VXxkcQLDuIDgqf8n4-NHsfjX4Ps,3732
9
11
  crypticorn/klines/client/api_client.py,sha256=daaHrXxIXfsBxpAf82DFktJRXb5V3Di23oMkQp8HO1E,27818
@@ -75,7 +77,8 @@ crypticorn/klines/test/test_udf_api.py,sha256=GHb4-jTWPwnDn1O0PxRq58p-LRvt1qXCoB
75
77
  crypticorn/klines/test/test_udf_config_response.py,sha256=WCMj8VVWE1tQgIuvRSbuFI1ixU8iQx2J105VjA2mzmE,3214
76
78
  crypticorn/klines/test/test_validation_error.py,sha256=6zSVzD_LX5yIGKGZJgsH74tsXQsV6DhJIpXyqPV-fow,1910
77
79
  crypticorn/klines/test/test_validation_error_loc_inner.py,sha256=D4dHw64J4-bTmMd5K-JuwKaKzHfe8bJvHdAcAfX8nsA,1759
78
- crypticorn/trade/main.py,sha256=v8Ojms0AUNajeqQjNcSWClXLBf_xyAB9JYCWsUs3I6I,1207
80
+ crypticorn/trade/__init__.py,sha256=QzScH9n-ly3QSaBSpPP7EqYwhdzDqYCZJs0-AhEhrsY,84
81
+ crypticorn/trade/main.py,sha256=7CpTb-5JiDCgRJwjb2sohTcO1sbL_ux3d8p1cFOd4pg,1228
79
82
  crypticorn/trade/requirements.txt,sha256=n8RhXDEAbEojFhhRCctaYym4TMVetN5A7FZ-tjjgMRA,93
80
83
  crypticorn/trade/client/__init__.py,sha256=Fq_jmX_KcwTcUKG5SLky3UgeiAuJNwJLkomDXFc_APw,3241
81
84
  crypticorn/trade/client/api_client.py,sha256=QFMMs_EPtc0_kS2uIhGPfBVbabN0nI7hyJ98FfeVa7s,27528
@@ -95,10 +98,10 @@ crypticorn/trade/client/api/status_api.py,sha256=iQ3GeojJ1FMEmKihgDkdIxJAbttVO7m
95
98
  crypticorn/trade/client/api/strategies_api.py,sha256=XQiSOpDSgMC0_gi_KtZvFx0Lpj_8ejoaKL3Kjq3_I1I,11910
96
99
  crypticorn/trade/client/api/trading_actions_api.py,sha256=B9div3_yrd0JjzCG3eFnxteIS4aSd-ZeRcWJ5nxNbas,33969
97
100
  crypticorn/trade/client/models/__init__.py,sha256=Sg6eh8BbEwF2FG7FphlBkCuWV93UcZjgZ5B0lIGF7B4,1995
98
- crypticorn/trade/client/models/action_model.py,sha256=aJxhjAEObpwCX8avrXvQ1hgfvNrQjRIqYm0E7rmTYho,9224
101
+ crypticorn/trade/client/models/action_model.py,sha256=nHfTRpdZk2c5P9apDzjppgRszP2DtDq_589NgYeItIo,9224
99
102
  crypticorn/trade/client/models/api_error_identifier.py,sha256=LKcH6vRnpPxIWnzbhICAsx4D5uN_OsOf3BzplmYKhOE,3402
100
- crypticorn/trade/client/models/api_key_model.py,sha256=cVCd-r27li44HkMD8w4d4NCJS3cizUXRjIh_2cMt0Fg,4911
101
- crypticorn/trade/client/models/bot_model.py,sha256=MEqZVXkE4_JF9UrUVFQzkazbmDMwxKw6Ck_7Qqape_Y,4726
103
+ crypticorn/trade/client/models/api_key_model.py,sha256=dpJPvuSqr7DoO_bapBH7gpO7EW3WlesIANy1grIJ6dI,4911
104
+ crypticorn/trade/client/models/bot_model.py,sha256=ME32DpruVjZauo9MfhaP0UEMeULJ37Fz7t9qmZRWsSk,4726
102
105
  crypticorn/trade/client/models/exchange.py,sha256=UdNrCO_0L8ZFmuVsBgtEjV71UpRdi2I0XW-YeDyb7zw,746
103
106
  crypticorn/trade/client/models/execution_ids.py,sha256=dJt4Qjg0B1TdeL3fI0_ZNGMZgYX_KBwIbzwxSWgSCao,2877
104
107
  crypticorn/trade/client/models/futures_balance.py,sha256=VJ2Cdm5qdvzQwaF0sR2tIoWhb5MDQAvWOOVl_lyijNc,4012
@@ -106,53 +109,20 @@ crypticorn/trade/client/models/futures_trading_action.py,sha256=A3JO5ifaxm-xBRlM
106
109
  crypticorn/trade/client/models/http_validation_error.py,sha256=3SRsszhn2w2qVZO9FhNR2M0ozNUGeWvPF-ywzE5ehCg,3013
107
110
  crypticorn/trade/client/models/margin_mode.py,sha256=u96KDpDFRM0MIs4xbXzDOT-wn6uO73wBGZthoTP1MuE,765
108
111
  crypticorn/trade/client/models/market_type.py,sha256=ppUr4WJnAiuZEZkD1WnM-oKi4vKx0ykXweAXAyfPTCk,745
109
- crypticorn/trade/client/models/notification_model.py,sha256=1kDdj6jt9HY4eJcRjQLkLmXw5TCLEcNsh6sQkuBkZ90,4358
112
+ crypticorn/trade/client/models/notification_model.py,sha256=rUikEYx7hbFzpo0GQY47wHts9C0Jc_7UfDoJ3IUAoWk,4358
110
113
  crypticorn/trade/client/models/notification_type.py,sha256=Cq7GDV6BwBxttohb7NMdC0nWx1-Igdq4pUDYY8CCiu0,803
111
- crypticorn/trade/client/models/order_model.py,sha256=tEVIRwwjnfa_-tFck4E-hU8JR0wXq2F01edrfHi9ZQI,11303
114
+ crypticorn/trade/client/models/order_model.py,sha256=bzTTUyQMGxNC0DqT2epDHOZbAwsLU3Q6o0j5uajf_5s,11303
112
115
  crypticorn/trade/client/models/order_status.py,sha256=V13eUjWXoZn5TD0Eyl2Q7XL9Ih6zkOUyCPOhNQ7UyTk,840
113
116
  crypticorn/trade/client/models/post_futures_action.py,sha256=AdD6sQxuNUSglNUwXosTYcBdtYYqIrIvHtYcyEm3nvA,3003
114
117
  crypticorn/trade/client/models/strategy_exchange_info.py,sha256=sNATmx0U6T6weg-T3vYsr1JaqgcG-36qdfuBKqpWY9Q,2834
115
- crypticorn/trade/client/models/strategy_model.py,sha256=pCdIphCOYRT_64qKwhy4tqydlShmrhlMQH-Sn9DYXo8,4834
118
+ crypticorn/trade/client/models/strategy_model.py,sha256=2C2ToLDm2mMYP9Gk2lzGaULoBt0tVsl5AjkaPplIvWU,4834
116
119
  crypticorn/trade/client/models/tpsl.py,sha256=6Ue5uRCkMm1dUSr7xT4Y9308ZsjoZwIQ74koZGBAF6c,4180
117
120
  crypticorn/trade/client/models/trading_action_type.py,sha256=eH7sFKbFojxqMdtmqq_FOrVVZ6jEOwK-uRPBBWQdeUw,845
118
121
  crypticorn/trade/client/models/update_notification.py,sha256=7Aw4z98ANT6D5octUmz5UXe6EC7_Mk8ax679bjjCkXk,2988
119
122
  crypticorn/trade/client/models/validation_error.py,sha256=hMZJHRMZuiByzCvD7zyR5HVzlzJSnLKcMnybUalQvgI,3105
120
123
  crypticorn/trade/client/models/validation_error_loc_inner.py,sha256=wHiW_qKw46E2pUdOnesgpdnuqpTX9IQTaEOVDgph5_E,4885
121
- crypticorn/trade/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- crypticorn/trade/test/test_action_model.py,sha256=CQki4tjuOz71GvodBqoZyTB-p7o5vYf5LhQNcxUSPB4,2712
123
- crypticorn/trade/test/test_api_error_identifier.py,sha256=8bTY1gkiOQw-pRiemmsNzJ2ncrJH7ZCtjRtq-Bog0Po,749
124
- crypticorn/trade/test/test_api_key_model.py,sha256=MtwQha2mAKCFDMnvy7HWcNVgUF3C1d3U9wRFRFKSguw,1658
125
- crypticorn/trade/test/test_api_keys_api.py,sha256=XyYCZy-2l6oMOfaKiW7TIH5j8K4MMszu1RBeuHQ0_6g,1299
126
- crypticorn/trade/test/test_bot_model.py,sha256=SLISBX_Z9E_WnQ39U8_EFWlwqeQ2hel4oDNhD4be70M,1762
127
- crypticorn/trade/test/test_bots_api.py,sha256=tTDtxJjzTjjquGZGwiO2sla2t_T6XDi12ZDcK0I_op0,1098
128
- crypticorn/trade/test/test_exchange.py,sha256=JXuYtpeQFizjOrIgfPhc_JL0Q4MGNqXd8-WQq9ijQMo,677
129
- crypticorn/trade/test/test_exchanges_api.py,sha256=AVnrQNHFVOzTEqeK6oG6lNPBuRVDu3Rf9vBWJVN_u-k,775
130
- crypticorn/trade/test/test_execution_ids.py,sha256=ZhqxDYgb2EFaXTcMpSWEGfTM0xquhkcsbf-Xqg8OxgM,1757
131
- crypticorn/trade/test/test_futures_balance.py,sha256=G010cOro2qYAfSltlY4987FfO-7piLrjw2YRZC_SHqo,1777
132
- crypticorn/trade/test/test_futures_trading_action.py,sha256=AYt98IjeVZ9D0CTY5U1Q9yw47Vj89G9uStF_4lzO7BA,2789
133
- crypticorn/trade/test/test_futures_trading_panel_api.py,sha256=TqxyO1S5daz1Bydpdi7PEjLMZfg6RTd_xHG3TYBdaBo,1451
134
- crypticorn/trade/test/test_http_validation_error.py,sha256=_Dqp6mHIzGu0oOZAdbf5S7_RBdkULD7Idg9pJWQ_3t8,1711
135
- crypticorn/trade/test/test_margin_mode.py,sha256=NP9afpV9wfTLbfr8YjkI0qU_W2Tb7IDcl9yzGRp_tfQ,692
136
- crypticorn/trade/test/test_market_type.py,sha256=ZfF5C1Oy40wIwG5NnwGnPBEGEoCPYEKwRCBRZo78AkQ,692
137
- crypticorn/trade/test/test_notification_model.py,sha256=aXxFWBR_aqK1666Frr86c4GuAgzCbsYF15VYnyFb8Jw,1690
138
- crypticorn/trade/test/test_notification_type.py,sha256=oR26dNk6ku6t-c9gM7NXSgIO7KBN7rQgiyZGW1Nrf1Y,734
139
- crypticorn/trade/test/test_notifications_api.py,sha256=H6HMhM7LujEAKl4ppjH20zzTtRu5WVxJHf4ySI1Uqso,1553
140
- crypticorn/trade/test/test_order_model.py,sha256=yZj65SE1mJgKKiiPgo-KX9SWAu95YppBfqGkHp8K9D8,2183
141
- crypticorn/trade/test/test_order_status.py,sha256=knUS4UQBx1TsjVxC5esSkSEMGP29ZFAvk6TWMcQDRpM,699
142
- crypticorn/trade/test/test_orders_api.py,sha256=uKUEgAgNgGFKljoI4svWPzROiM4ztcaA2FHhBIwAEdE,751
143
- crypticorn/trade/test/test_post_futures_action.py,sha256=EPmAUVjFfSSwF4hYFGFFdCiJ1wEVCe8gqXaxlKlOQnI,2098
144
- crypticorn/trade/test/test_status_api.py,sha256=Dq7Aln_rJSkFkwOk6qKKzBVDZV0edl99wCZDTl6T3Vs,733
145
- crypticorn/trade/test/test_strategies_api.py,sha256=udwtNXWkQ6Qtk7ivB1KkoQnktE5A1dc1ealO2aCj71o,783
146
- crypticorn/trade/test/test_strategy_exchange_info.py,sha256=TTLzxbPbCTf-ILjef1r2zNkD63hYFeJd2539-WA5cWE,1582
147
- crypticorn/trade/test/test_strategy_model.py,sha256=JIF6DjKLB2q57J8t4lDuaOUJVIKDRgtrJI6Fc5LpnSQ,2220
148
- crypticorn/trade/test/test_tpsl.py,sha256=7pFHNNt8_H8ujDXhNL-XwJzI2ZEEp2zoMQgkmGD4Kb4,1449
149
- crypticorn/trade/test/test_trading_action_type.py,sha256=cd1DiGo3Rjk-EKOG0u5zjPowxNOKb_JBL10iI8MfoZ4,742
150
- crypticorn/trade/test/test_trading_actions_api.py,sha256=_yQrNMPzlKaJsFYTc2WFAnjnPWVQZ0FAsJk0p91ECoA,1082
151
- crypticorn/trade/test/test_update_notification.py,sha256=W_-DaX50HSCP0wW5aE1djGXirfwyALnAVVu9DWBy2Ew,1521
152
- crypticorn/trade/test/test_validation_error.py,sha256=W7o_XtQsnOc8iNe2kvQuBKpISPRoN7ZS1TS7H7w364M,1625
153
- crypticorn/trade/test/test_validation_error_loc_inner.py,sha256=61T9xO4y0KiXAK3x66rsL3dMpym392tT1QlJTJb6mYw,1474
154
- crypticorn-1.0.2rc1.dist-info/LICENSE.md,sha256=4QRTsg__j9b8qUNkL1jcDlrOMViv5B7wJF3p7khs-M0,1053
155
- crypticorn-1.0.2rc1.dist-info/METADATA,sha256=WxqkWlpxCM_66TcPRlebnqke2C8_R6v9_EIHIOuR5zo,1973
156
- crypticorn-1.0.2rc1.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
157
- crypticorn-1.0.2rc1.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
158
- crypticorn-1.0.2rc1.dist-info/RECORD,,
124
+ crypticorn-1.0.2rc2.dist-info/LICENSE.md,sha256=4QRTsg__j9b8qUNkL1jcDlrOMViv5B7wJF3p7khs-M0,1053
125
+ crypticorn-1.0.2rc2.dist-info/METADATA,sha256=-JVX691iYZHKknke7psUIAPqoEs0Sy0O-6Hwgdsi23Y,1973
126
+ crypticorn-1.0.2rc2.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
127
+ crypticorn-1.0.2rc2.dist-info/top_level.txt,sha256=EP3NY216qIBYfmvGl0L2Zc9ItP0DjGSkiYqd9xJwGcM,11
128
+ crypticorn-1.0.2rc2.dist-info/RECORD,,
File without changes
@@ -1,87 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- FastAPI
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- import unittest
16
-
17
- from crypticorn.trade.client.models.action_model import ActionModel
18
-
19
- class TestActionModel(unittest.TestCase):
20
- """ActionModel unit test stubs"""
21
-
22
- def setUp(self):
23
- pass
24
-
25
- def tearDown(self):
26
- pass
27
-
28
- def make_instance(self, include_optional) -> ActionModel:
29
- """Test ActionModel
30
- include_optional is a boolean, when False only required
31
- params are included, when True both required and
32
- optional params are included """
33
- # uncomment below to create an instance of `ActionModel`
34
- """
35
- model = ActionModel()
36
- if include_optional:
37
- return ActionModel(
38
- id = '',
39
- execution_id = '',
40
- open_order_execution_id = '',
41
- position_id = '',
42
- client_order_id = '',
43
- action_type = 'open_long',
44
- market_type = 'spot',
45
- strategy_id = '',
46
- symbol = '',
47
- is_limit = True,
48
- limit_price = 1.337,
49
- allocation = 1.337,
50
- take_profit = [
51
- client.models.tpsl.TPSL(
52
- price_delta = 0.0,
53
- price = 1.337,
54
- allocation = 0.0,
55
- execution_id = '',
56
- client_order_id = '', )
57
- ],
58
- stop_loss = [
59
- client.models.tpsl.TPSL(
60
- price_delta = 0.0,
61
- price = 1.337,
62
- allocation = 0.0,
63
- execution_id = '',
64
- client_order_id = '', )
65
- ],
66
- expiry_timestamp = 56,
67
- leverage = 1.0,
68
- margin_mode = 'isolated',
69
- timestamp = 56
70
- )
71
- else:
72
- return ActionModel(
73
- action_type = 'open_long',
74
- market_type = 'spot',
75
- strategy_id = '',
76
- symbol = '',
77
- leverage = 1.0,
78
- )
79
- """
80
-
81
- def testActionModel(self):
82
- """Test ActionModel"""
83
- # inst_req_only = self.make_instance(include_optional=False)
84
- # inst_req_and_optional = self.make_instance(include_optional=True)
85
-
86
- if __name__ == '__main__':
87
- unittest.main()
@@ -1,33 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- FastAPI
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- import unittest
16
-
17
- from crypticorn.trade.client.models.api_error_identifier import ApiErrorIdentifier
18
-
19
- class TestApiErrorIdentifier(unittest.TestCase):
20
- """ApiErrorIdentifier unit test stubs"""
21
-
22
- def setUp(self):
23
- pass
24
-
25
- def tearDown(self):
26
- pass
27
-
28
- def testApiErrorIdentifier(self):
29
- """Test ApiErrorIdentifier"""
30
- # inst = ApiErrorIdentifier()
31
-
32
- if __name__ == '__main__':
33
- unittest.main()
@@ -1,61 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- FastAPI
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- import unittest
16
-
17
- from crypticorn.trade.client.models.api_key_model import APIKeyModel
18
-
19
- class TestAPIKeyModel(unittest.TestCase):
20
- """APIKeyModel unit test stubs"""
21
-
22
- def setUp(self):
23
- pass
24
-
25
- def tearDown(self):
26
- pass
27
-
28
- def make_instance(self, include_optional) -> APIKeyModel:
29
- """Test APIKeyModel
30
- include_optional is a boolean, when False only required
31
- params are included, when True both required and
32
- optional params are included """
33
- # uncomment below to create an instance of `APIKeyModel`
34
- """
35
- model = APIKeyModel()
36
- if include_optional:
37
- return APIKeyModel(
38
- id = '',
39
- exchange = '',
40
- api_key = '',
41
- secret = '',
42
- passphrase = '',
43
- label = '',
44
- enabled = True,
45
- created_at = 56,
46
- user_id = ''
47
- )
48
- else:
49
- return APIKeyModel(
50
- exchange = '',
51
- label = '',
52
- )
53
- """
54
-
55
- def testAPIKeyModel(self):
56
- """Test APIKeyModel"""
57
- # inst_req_only = self.make_instance(include_optional=False)
58
- # inst_req_and_optional = self.make_instance(include_optional=True)
59
-
60
- if __name__ == '__main__':
61
- unittest.main()
@@ -1,66 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- FastAPI
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- import unittest
16
-
17
- from crypticorn.trade.client.api.api_keys_api import APIKeysApi
18
-
19
-
20
- class TestAPIKeysApi(unittest.TestCase):
21
- """APIKeysApi unit test stubs"""
22
-
23
- def setUp(self) -> None:
24
- self.api = APIKeysApi()
25
-
26
- def tearDown(self) -> None:
27
- pass
28
-
29
- def test_create_api_key(self) -> None:
30
- """Test case for create_api_key
31
-
32
- Post Api Key
33
- """
34
- pass
35
-
36
- def test_delete_api_key(self) -> None:
37
- """Test case for delete_api_key
38
-
39
- Delete Api Key
40
- """
41
- pass
42
-
43
- def test_get_api_key_by_id(self) -> None:
44
- """Test case for get_api_key_by_id
45
-
46
- Get Api Key By Id
47
- """
48
- pass
49
-
50
- def test_get_api_keys(self) -> None:
51
- """Test case for get_api_keys
52
-
53
- Get Api Keys
54
- """
55
- pass
56
-
57
- def test_update_api_key(self) -> None:
58
- """Test case for update_api_key
59
-
60
- Put Api Key
61
- """
62
- pass
63
-
64
-
65
- if __name__ == '__main__':
66
- unittest.main()