crypticorn 1.0.2rc1__tar.gz → 1.0.2rc3__tar.gz

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 (171) hide show
  1. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/PKG-INFO +16 -16
  2. crypticorn-1.0.2rc3/crypticorn/client.py +16 -0
  3. crypticorn-1.0.2rc3/crypticorn/hive/__init__.py +1 -0
  4. crypticorn-1.0.2rc3/crypticorn/klines/__init__.py +2 -0
  5. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/main.py +1 -1
  6. crypticorn-1.0.2rc3/crypticorn/trade/__init__.py +2 -0
  7. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/action_model.py +4 -4
  8. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/api_key_model.py +4 -4
  9. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/bot_model.py +4 -4
  10. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/notification_model.py +4 -4
  11. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/order_model.py +4 -4
  12. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/strategy_model.py +4 -4
  13. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/main.py +4 -3
  14. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn.egg-info/PKG-INFO +16 -16
  15. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn.egg-info/SOURCES.txt +4 -37
  16. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/pyproject.toml +7 -7
  17. crypticorn-1.0.2rc1/crypticorn/client.py +0 -722
  18. crypticorn-1.0.2rc1/crypticorn/trade/test/__init__.py +0 -0
  19. crypticorn-1.0.2rc1/crypticorn/trade/test/test_action_model.py +0 -87
  20. crypticorn-1.0.2rc1/crypticorn/trade/test/test_api_error_identifier.py +0 -33
  21. crypticorn-1.0.2rc1/crypticorn/trade/test/test_api_key_model.py +0 -61
  22. crypticorn-1.0.2rc1/crypticorn/trade/test/test_api_keys_api.py +0 -66
  23. crypticorn-1.0.2rc1/crypticorn/trade/test/test_bot_model.py +0 -64
  24. crypticorn-1.0.2rc1/crypticorn/trade/test/test_bots_api.py +0 -59
  25. crypticorn-1.0.2rc1/crypticorn/trade/test/test_exchange.py +0 -33
  26. crypticorn-1.0.2rc1/crypticorn/trade/test/test_exchanges_api.py +0 -38
  27. crypticorn-1.0.2rc1/crypticorn/trade/test/test_execution_ids.py +0 -68
  28. crypticorn-1.0.2rc1/crypticorn/trade/test/test_futures_balance.py +0 -62
  29. crypticorn-1.0.2rc1/crypticorn/trade/test/test_futures_trading_action.py +0 -86
  30. crypticorn-1.0.2rc1/crypticorn/trade/test/test_futures_trading_panel_api.py +0 -66
  31. crypticorn-1.0.2rc1/crypticorn/trade/test/test_http_validation_error.py +0 -58
  32. crypticorn-1.0.2rc1/crypticorn/trade/test/test_margin_mode.py +0 -33
  33. crypticorn-1.0.2rc1/crypticorn/trade/test/test_market_type.py +0 -33
  34. crypticorn-1.0.2rc1/crypticorn/trade/test/test_notification_model.py +0 -59
  35. crypticorn-1.0.2rc1/crypticorn/trade/test/test_notification_type.py +0 -33
  36. crypticorn-1.0.2rc1/crypticorn/trade/test/test_notifications_api.py +0 -73
  37. crypticorn-1.0.2rc1/crypticorn/trade/test/test_order_model.py +0 -75
  38. crypticorn-1.0.2rc1/crypticorn/trade/test/test_order_status.py +0 -33
  39. crypticorn-1.0.2rc1/crypticorn/trade/test/test_orders_api.py +0 -38
  40. crypticorn-1.0.2rc1/crypticorn/trade/test/test_post_futures_action.py +0 -72
  41. crypticorn-1.0.2rc1/crypticorn/trade/test/test_status_api.py +0 -38
  42. crypticorn-1.0.2rc1/crypticorn/trade/test/test_strategies_api.py +0 -38
  43. crypticorn-1.0.2rc1/crypticorn/trade/test/test_strategy_exchange_info.py +0 -54
  44. crypticorn-1.0.2rc1/crypticorn/trade/test/test_strategy_model.py +0 -73
  45. crypticorn-1.0.2rc1/crypticorn/trade/test/test_tpsl.py +0 -56
  46. crypticorn-1.0.2rc1/crypticorn/trade/test/test_trading_action_type.py +0 -33
  47. crypticorn-1.0.2rc1/crypticorn/trade/test/test_trading_actions_api.py +0 -52
  48. crypticorn-1.0.2rc1/crypticorn/trade/test/test_update_notification.py +0 -54
  49. crypticorn-1.0.2rc1/crypticorn/trade/test/test_validation_error.py +0 -60
  50. crypticorn-1.0.2rc1/crypticorn/trade/test/test_validation_error_loc_inner.py +0 -50
  51. crypticorn-1.0.2rc1/tests/test_api_client.py +0 -150
  52. crypticorn-1.0.2rc1/tests/test_crypticorn_client.py +0 -20
  53. crypticorn-1.0.2rc1/tests/test_hive_client.py +0 -58
  54. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/LICENSE.md +0 -0
  55. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/__init__.py +0 -0
  56. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/hive/main.py +0 -0
  57. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/hive/requirements.txt +0 -0
  58. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/hive/utils.py +0 -0
  59. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/__init__.py +0 -0
  60. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/__init__.py +0 -0
  61. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
  62. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/health_check_api.py +0 -0
  63. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
  64. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/symbols_api.py +0 -0
  65. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api/udf_api.py +0 -0
  66. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api_client.py +0 -0
  67. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/api_response.py +0 -0
  68. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/configuration.py +0 -0
  69. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/exceptions.py +0 -0
  70. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/__init__.py +0 -0
  71. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/base_response_health_check_response.py +0 -0
  72. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/base_response_list_funding_rate_response.py +0 -0
  73. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/base_response_list_str.py +0 -0
  74. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/base_response_ohlcv_response.py +0 -0
  75. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/error_response.py +0 -0
  76. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/exchange.py +0 -0
  77. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/funding_rate_response.py +0 -0
  78. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/health_check_response.py +0 -0
  79. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/history_error_response.py +0 -0
  80. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/history_no_data_response.py +0 -0
  81. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/history_success_response.py +0 -0
  82. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/http_validation_error.py +0 -0
  83. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/market.py +0 -0
  84. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/ohlcv_response.py +0 -0
  85. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/resolution.py +0 -0
  86. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/response_get_history_udf_history_get.py +0 -0
  87. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/search_symbol_response.py +0 -0
  88. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/sort_direction.py +0 -0
  89. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/symbol_group_response.py +0 -0
  90. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/symbol_info_response.py +0 -0
  91. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/symbol_type.py +0 -0
  92. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/timeframe.py +0 -0
  93. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/udf_config_response.py +0 -0
  94. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/validation_error.py +0 -0
  95. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/models/validation_error_loc_inner.py +0 -0
  96. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/py.typed +0 -0
  97. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/client/rest.py +0 -0
  98. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/requirements.txt +0 -0
  99. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/__init__.py +0 -0
  100. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_base_response_health_check_response.py +0 -0
  101. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_base_response_list_funding_rate_response.py +0 -0
  102. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_base_response_list_str.py +0 -0
  103. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_base_response_ohlcv_response.py +0 -0
  104. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_error_response.py +0 -0
  105. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_exchange.py +0 -0
  106. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_funding_rate_response.py +0 -0
  107. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_funding_rates_api.py +0 -0
  108. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_health_check_api.py +0 -0
  109. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_health_check_response.py +0 -0
  110. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_history_error_response.py +0 -0
  111. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_history_no_data_response.py +0 -0
  112. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_history_success_response.py +0 -0
  113. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_http_validation_error.py +0 -0
  114. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_market.py +0 -0
  115. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_ohlcv_data_api.py +0 -0
  116. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_ohlcv_response.py +0 -0
  117. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_resolution.py +0 -0
  118. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_response_get_history_udf_history_get.py +0 -0
  119. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_search_symbol_response.py +0 -0
  120. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_sort_direction.py +0 -0
  121. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_symbol_group_response.py +0 -0
  122. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_symbol_info_response.py +0 -0
  123. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_symbol_type.py +0 -0
  124. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_symbols_api.py +0 -0
  125. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_timeframe.py +0 -0
  126. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_udf_api.py +0 -0
  127. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_udf_config_response.py +0 -0
  128. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_validation_error.py +0 -0
  129. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/klines/test/test_validation_error_loc_inner.py +0 -0
  130. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/__init__.py +0 -0
  131. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/__init__.py +0 -0
  132. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/api_keys_api.py +0 -0
  133. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/bots_api.py +0 -0
  134. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/exchanges_api.py +0 -0
  135. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
  136. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/notifications_api.py +0 -0
  137. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/orders_api.py +0 -0
  138. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/status_api.py +0 -0
  139. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/strategies_api.py +0 -0
  140. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api/trading_actions_api.py +0 -0
  141. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api_client.py +0 -0
  142. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/api_response.py +0 -0
  143. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/configuration.py +0 -0
  144. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/exceptions.py +0 -0
  145. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/__init__.py +0 -0
  146. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/api_error_identifier.py +0 -0
  147. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/exchange.py +0 -0
  148. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/execution_ids.py +0 -0
  149. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/futures_balance.py +0 -0
  150. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
  151. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/http_validation_error.py +0 -0
  152. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/margin_mode.py +0 -0
  153. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/market_type.py +0 -0
  154. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/notification_type.py +0 -0
  155. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/order_status.py +0 -0
  156. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/post_futures_action.py +0 -0
  157. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
  158. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/tpsl.py +0 -0
  159. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/trading_action_type.py +0 -0
  160. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/update_notification.py +0 -0
  161. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/validation_error.py +0 -0
  162. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/models/validation_error_loc_inner.py +0 -0
  163. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/py.typed +0 -0
  164. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/client/rest.py +0 -0
  165. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn/trade/requirements.txt +0 -0
  166. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn.egg-info/dependency_links.txt +0 -0
  167. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn.egg-info/requires.txt +0 -0
  168. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/crypticorn.egg-info/top_level.txt +0 -0
  169. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/requirements-dev.txt +0 -0
  170. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/requirements-test.txt +0 -0
  171. {crypticorn-1.0.2rc1 → crypticorn-1.0.2rc3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: crypticorn
3
- Version: 1.0.2rc1
3
+ Version: 1.0.2rc3
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"
@@ -0,0 +1,16 @@
1
+ from crypticorn.hive import HiveClient
2
+ from crypticorn.trade import TradeClient
3
+ from crypticorn.klines import KlinesClient
4
+
5
+ class CrypticornClient:
6
+ def __init__(
7
+ self, base_url: str = "https://api.crypticorn.com", api_key: str = None, jwt: str = None
8
+ ):
9
+ self.base_url = base_url
10
+ self.api_key = api_key
11
+ self.jwt = jwt
12
+
13
+ # Initialize service clients
14
+ self.hive = HiveClient(base_url, api_key, jwt)
15
+ self.trade = TradeClient(base_url, api_key, jwt)
16
+ self.klines = KlinesClient(base_url, api_key, jwt)
@@ -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
@@ -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"),
@@ -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
@@ -33,6 +34,6 @@ class TradeClient:
33
34
  self.orders = OrdersApi(base_client)
34
35
  self.status = StatusApi(base_client)
35
36
  self.strategies = StrategiesApi(base_client)
36
- self.trading_actions = TradingActionsApi(base_client)
37
+ self.actions = TradingActionsApi(base_client)
37
38
  self.futures = FuturesTradingPanelApi(base_client)
38
39
  self.api_keys = APIKeysApi(base_client)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: crypticorn
3
- Version: 1.0.2rc1
3
+ Version: 1.0.2rc3
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"
@@ -9,9 +9,11 @@ crypticorn.egg-info/SOURCES.txt
9
9
  crypticorn.egg-info/dependency_links.txt
10
10
  crypticorn.egg-info/requires.txt
11
11
  crypticorn.egg-info/top_level.txt
12
+ crypticorn/hive/__init__.py
12
13
  crypticorn/hive/main.py
13
14
  crypticorn/hive/requirements.txt
14
15
  crypticorn/hive/utils.py
16
+ crypticorn/klines/__init__.py
15
17
  crypticorn/klines/main.py
16
18
  crypticorn/klines/requirements.txt
17
19
  crypticorn/klines/client/__init__.py
@@ -84,6 +86,7 @@ crypticorn/klines/test/test_udf_api.py
84
86
  crypticorn/klines/test/test_udf_config_response.py
85
87
  crypticorn/klines/test/test_validation_error.py
86
88
  crypticorn/klines/test/test_validation_error_loc_inner.py
89
+ crypticorn/trade/__init__.py
87
90
  crypticorn/trade/main.py
88
91
  crypticorn/trade/requirements.txt
89
92
  crypticorn/trade/client/__init__.py
@@ -126,40 +129,4 @@ crypticorn/trade/client/models/tpsl.py
126
129
  crypticorn/trade/client/models/trading_action_type.py
127
130
  crypticorn/trade/client/models/update_notification.py
128
131
  crypticorn/trade/client/models/validation_error.py
129
- crypticorn/trade/client/models/validation_error_loc_inner.py
130
- crypticorn/trade/test/__init__.py
131
- crypticorn/trade/test/test_action_model.py
132
- crypticorn/trade/test/test_api_error_identifier.py
133
- crypticorn/trade/test/test_api_key_model.py
134
- crypticorn/trade/test/test_api_keys_api.py
135
- crypticorn/trade/test/test_bot_model.py
136
- crypticorn/trade/test/test_bots_api.py
137
- crypticorn/trade/test/test_exchange.py
138
- crypticorn/trade/test/test_exchanges_api.py
139
- crypticorn/trade/test/test_execution_ids.py
140
- crypticorn/trade/test/test_futures_balance.py
141
- crypticorn/trade/test/test_futures_trading_action.py
142
- crypticorn/trade/test/test_futures_trading_panel_api.py
143
- crypticorn/trade/test/test_http_validation_error.py
144
- crypticorn/trade/test/test_margin_mode.py
145
- crypticorn/trade/test/test_market_type.py
146
- crypticorn/trade/test/test_notification_model.py
147
- crypticorn/trade/test/test_notification_type.py
148
- crypticorn/trade/test/test_notifications_api.py
149
- crypticorn/trade/test/test_order_model.py
150
- crypticorn/trade/test/test_order_status.py
151
- crypticorn/trade/test/test_orders_api.py
152
- crypticorn/trade/test/test_post_futures_action.py
153
- crypticorn/trade/test/test_status_api.py
154
- crypticorn/trade/test/test_strategies_api.py
155
- crypticorn/trade/test/test_strategy_exchange_info.py
156
- crypticorn/trade/test/test_strategy_model.py
157
- crypticorn/trade/test/test_tpsl.py
158
- crypticorn/trade/test/test_trading_action_type.py
159
- crypticorn/trade/test/test_trading_actions_api.py
160
- crypticorn/trade/test/test_update_notification.py
161
- crypticorn/trade/test/test_validation_error.py
162
- crypticorn/trade/test/test_validation_error_loc_inner.py
163
- tests/test_api_client.py
164
- tests/test_crypticorn_client.py
165
- tests/test_hive_client.py
132
+ crypticorn/trade/client/models/validation_error_loc_inner.py
@@ -5,9 +5,10 @@ readme = "README.md"
5
5
  requires-python = ">=3.10"
6
6
  license = {text = "MIT License"}
7
7
  authors = [{name = "Crypticorn", email = "timon@crypticorn.com"}]
8
- version = "1.0.2rc1"
8
+ version = "1.0.2rc3"
9
9
  keywords = ["machine learning", "data science", "crypto", "modelling"]
10
- dynamic = ["dependencies", "optional-dependencies"]
10
+ dynamic = ["optional-dependencies"]
11
+ dependencies = []
11
12
 
12
13
  classifiers = [
13
14
  "Topic :: Scientific/Engineering",
@@ -20,16 +21,15 @@ classifiers = [
20
21
  ]
21
22
 
22
23
  [tool.setuptools.dynamic]
23
-
24
- optional-dependencies.dev = { file = ["requirements-dev.txt"] }
25
- optional-dependencies.test = { file = ["requirements-test.txt"] }
24
+ optional-dependencies.trade = { file = ["crypticorn/trade/requirements.txt"] }
26
25
  optional-dependencies.klines = { file = ["crypticorn/klines/requirements.txt"] }
27
26
  optional-dependencies.hive = { file = ["crypticorn/hive/requirements.txt"] }
28
- optional-dependencies.trade = { file = ["crypticorn/trade/requirements.txt"] }
27
+ optional-dependencies.dev = { file = ["requirements-dev.txt"] }
28
+ optional-dependencies.test = { file = ["requirements-test.txt"] }
29
29
 
30
30
  [project.urls]
31
31
  Homepage = "https://crypticorn.com"
32
32
 
33
33
  [build-system]
34
34
  requires = ["setuptools>=61.0"]
35
- build-backend = "setuptools.build_meta"
35
+ build-backend = "setuptools.build_meta"