crypticorn 2.11.7__tar.gz → 2.11.9__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 (303) hide show
  1. {crypticorn-2.11.7 → crypticorn-2.11.9}/CHANGELOG.md +16 -0
  2. {crypticorn-2.11.7/crypticorn.egg-info → crypticorn-2.11.9}/PKG-INFO +1 -1
  3. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/errors.py +11 -0
  4. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/notifications_api.py +15 -15
  5. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/strategies_api.py +6 -6
  6. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/trading_actions_api.py +9 -9
  7. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/api_error_identifier.py +1 -0
  8. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/order.py +30 -28
  9. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/strategy.py +9 -0
  10. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/strategy_create.py +10 -1
  11. {crypticorn-2.11.7 → crypticorn-2.11.9/crypticorn.egg-info}/PKG-INFO +1 -1
  12. {crypticorn-2.11.7 → crypticorn-2.11.9}/pyproject.toml +1 -1
  13. {crypticorn-2.11.7 → crypticorn-2.11.9}/LICENSE +0 -0
  14. {crypticorn-2.11.7 → crypticorn-2.11.9}/MANIFEST.in +0 -0
  15. {crypticorn-2.11.7 → crypticorn-2.11.9}/README.md +0 -0
  16. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/__init__.py +0 -0
  17. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/__init__.py +0 -0
  18. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/__init__.py +0 -0
  19. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/__init__.py +0 -0
  20. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/admin_api.py +0 -0
  21. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/auth_api.py +0 -0
  22. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/service_api.py +0 -0
  23. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/user_api.py +0 -0
  24. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api/wallet_api.py +0 -0
  25. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api_client.py +0 -0
  26. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/api_response.py +0 -0
  27. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/configuration.py +0 -0
  28. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/exceptions.py +0 -0
  29. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/__init__.py +0 -0
  30. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
  31. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
  32. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
  33. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
  34. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
  35. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
  36. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
  37. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/create_user_request.py +0 -0
  38. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
  39. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
  40. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
  41. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
  42. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
  43. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
  44. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
  45. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
  46. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/logout_default_response.py +0 -0
  47. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
  48. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
  49. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
  50. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
  51. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
  52. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
  53. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
  54. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
  55. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/token_info200_response.py +0 -0
  56. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
  57. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/update_user_request.py +0 -0
  58. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/user_by_username200_response.py +0 -0
  59. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
  60. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
  61. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify200_response.py +0 -0
  62. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
  63. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
  64. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
  65. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify_email_request.py +0 -0
  66. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
  67. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
  68. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/models/whoami200_response.py +0 -0
  69. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/py.typed +0 -0
  70. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/client/rest.py +0 -0
  71. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/auth/main.py +0 -0
  72. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/__init__.py +0 -0
  73. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/__main__.py +0 -0
  74. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/init.py +0 -0
  75. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/Dockerfile +0 -0
  76. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/__init__.py +0 -0
  77. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/auth.py +0 -0
  78. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/dependabot.yml +0 -0
  79. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/merge-env.sh +0 -0
  80. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/templates/ruff.yml +0 -0
  81. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/cli/version.py +0 -0
  82. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/client.py +0 -0
  83. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/__init__.py +0 -0
  84. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/ansi_colors.py +0 -0
  85. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/auth.py +0 -0
  86. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/decorators.py +0 -0
  87. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/enums.py +0 -0
  88. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/exceptions.py +0 -0
  89. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/logging.py +0 -0
  90. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/middleware.py +0 -0
  91. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/mixins.py +0 -0
  92. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/openapi.py +0 -0
  93. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/pagination.py +0 -0
  94. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/router/admin_router.py +0 -0
  95. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/router/status_router.py +0 -0
  96. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/scopes.py +0 -0
  97. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/urls.py +0 -0
  98. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/utils.py +0 -0
  99. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/common/warnings.py +0 -0
  100. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/__init__.py +0 -0
  101. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/__init__.py +0 -0
  102. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api/__init__.py +0 -0
  103. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api/admin_api.py +0 -0
  104. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api/data_api.py +0 -0
  105. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api/models_api.py +0 -0
  106. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api/status_api.py +0 -0
  107. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api_client.py +0 -0
  108. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/api_response.py +0 -0
  109. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/configuration.py +0 -0
  110. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/exceptions.py +0 -0
  111. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/__init__.py +0 -0
  112. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/api_error_identifier.py +0 -0
  113. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/api_error_level.py +0 -0
  114. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/api_error_type.py +0 -0
  115. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/coins.py +0 -0
  116. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/data_download_response.py +0 -0
  117. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/data_info.py +0 -0
  118. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/data_options.py +0 -0
  119. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/data_version.py +0 -0
  120. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/data_version_info.py +0 -0
  121. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/download_links.py +0 -0
  122. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/evaluation.py +0 -0
  123. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/evaluation_response.py +0 -0
  124. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/exception_detail.py +0 -0
  125. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/feature_size.py +0 -0
  126. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/log_level.py +0 -0
  127. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/model_create.py +0 -0
  128. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/model_read.py +0 -0
  129. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/model_status.py +0 -0
  130. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/model_update.py +0 -0
  131. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/target.py +0 -0
  132. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/target_info.py +0 -0
  133. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/models/target_type.py +0 -0
  134. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/py.typed +0 -0
  135. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/client/rest.py +0 -0
  136. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/main.py +0 -0
  137. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/hive/utils.py +0 -0
  138. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/__init__.py +0 -0
  139. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/__init__.py +0 -0
  140. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/__init__.py +0 -0
  141. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/admin_api.py +0 -0
  142. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/change_in_timeframe_api.py +0 -0
  143. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
  144. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
  145. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/status_api.py +0 -0
  146. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/symbols_api.py +0 -0
  147. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api/udf_api.py +0 -0
  148. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api_client.py +0 -0
  149. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/api_response.py +0 -0
  150. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/configuration.py +0 -0
  151. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/exceptions.py +0 -0
  152. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/__init__.py +0 -0
  153. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/api_error_identifier.py +0 -0
  154. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/api_error_level.py +0 -0
  155. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/api_error_type.py +0 -0
  156. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/change_in_timeframe.py +0 -0
  157. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/exception_detail.py +0 -0
  158. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/funding_rate.py +0 -0
  159. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/funding_rate_response.py +0 -0
  160. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/internal_exchange.py +0 -0
  161. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/log_level.py +0 -0
  162. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/market_type.py +0 -0
  163. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/ohlcv.py +0 -0
  164. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/resolution.py +0 -0
  165. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/search_symbol.py +0 -0
  166. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/sort_direction.py +0 -0
  167. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/symbol_group.py +0 -0
  168. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/symbol_info.py +0 -0
  169. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/symbol_type.py +0 -0
  170. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/timeframe.py +0 -0
  171. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/models/udf_config.py +0 -0
  172. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/py.typed +0 -0
  173. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/client/rest.py +0 -0
  174. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/klines/main.py +0 -0
  175. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/__init__.py +0 -0
  176. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/__init__.py +0 -0
  177. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/__init__.py +0 -0
  178. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/admin_api.py +0 -0
  179. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/exchanges_api.py +0 -0
  180. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/indicators_api.py +0 -0
  181. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/logs_api.py +0 -0
  182. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/marketcap_api.py +0 -0
  183. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/markets_api.py +0 -0
  184. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/quote_currencies_api.py +0 -0
  185. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/status_api.py +0 -0
  186. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api/tokens_api.py +0 -0
  187. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api_client.py +0 -0
  188. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/api_response.py +0 -0
  189. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/configuration.py +0 -0
  190. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/exceptions.py +0 -0
  191. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/__init__.py +0 -0
  192. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/api_error_identifier.py +0 -0
  193. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/api_error_level.py +0 -0
  194. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/api_error_type.py +0 -0
  195. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/exception_detail.py +0 -0
  196. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/exchange_availability.py +0 -0
  197. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/exchange_mapping.py +0 -0
  198. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/internal_exchange.py +0 -0
  199. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/log_level.py +0 -0
  200. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/market_type.py +0 -0
  201. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/marketcap_ranking.py +0 -0
  202. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/marketcap_symbol_ranking.py +0 -0
  203. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/ohlcv.py +0 -0
  204. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/severity.py +0 -0
  205. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/time_interval.py +0 -0
  206. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/models/trading_status.py +0 -0
  207. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/py.typed +0 -0
  208. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/client/rest.py +0 -0
  209. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/metrics/main.py +0 -0
  210. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/__init__.py +0 -0
  211. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/__init__.py +0 -0
  212. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/__init__.py +0 -0
  213. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/admin_api.py +0 -0
  214. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/now_payments_api.py +0 -0
  215. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/payments_api.py +0 -0
  216. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/products_api.py +0 -0
  217. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api/status_api.py +0 -0
  218. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api_client.py +0 -0
  219. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/api_response.py +0 -0
  220. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/configuration.py +0 -0
  221. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/exceptions.py +0 -0
  222. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/__init__.py +0 -0
  223. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/exception_detail.py +0 -0
  224. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/log_level.py +0 -0
  225. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
  226. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
  227. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/payment.py +0 -0
  228. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/payment_status.py +0 -0
  229. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/product_create.py +0 -0
  230. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/product_read.py +0 -0
  231. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/product_sub_read.py +0 -0
  232. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/product_update.py +0 -0
  233. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/provider.py +0 -0
  234. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/response_getuptime.py +0 -0
  235. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/models/scope.py +0 -0
  236. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/py.typed +0 -0
  237. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/client/rest.py +0 -0
  238. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/pay/main.py +0 -0
  239. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/__init__.py +0 -0
  240. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/__init__.py +0 -0
  241. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/__init__.py +0 -0
  242. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/admin_api.py +0 -0
  243. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/api_keys_api.py +0 -0
  244. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/bots_api.py +0 -0
  245. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/exchanges_api.py +0 -0
  246. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
  247. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/orders_api.py +0 -0
  248. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api/status_api.py +0 -0
  249. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api_client.py +0 -0
  250. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/api_response.py +0 -0
  251. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/configuration.py +0 -0
  252. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/exceptions.py +0 -0
  253. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/__init__.py +0 -0
  254. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/api_error_level.py +0 -0
  255. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/api_error_type.py +0 -0
  256. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/bot.py +0 -0
  257. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/bot_create.py +0 -0
  258. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/bot_status.py +0 -0
  259. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/bot_update.py +0 -0
  260. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/exception_detail.py +0 -0
  261. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/exchange.py +0 -0
  262. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/exchange_key.py +0 -0
  263. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/exchange_key_create.py +0 -0
  264. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/exchange_key_update.py +0 -0
  265. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/execution_ids.py +0 -0
  266. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/futures_balance.py +0 -0
  267. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
  268. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/futures_trading_action_create.py +0 -0
  269. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/log_level.py +0 -0
  270. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/margin_mode.py +0 -0
  271. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/market_type.py +0 -0
  272. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/notification.py +0 -0
  273. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/notification_create.py +0 -0
  274. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/notification_update.py +0 -0
  275. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/order_status.py +0 -0
  276. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/post_futures_action.py +0 -0
  277. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/spot_trading_action_create.py +0 -0
  278. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
  279. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/strategy_update.py +0 -0
  280. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/tpsl.py +0 -0
  281. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/models/trading_action_type.py +0 -0
  282. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/py.typed +0 -0
  283. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/client/rest.py +0 -0
  284. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn/trade/main.py +0 -0
  285. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn.egg-info/SOURCES.txt +0 -0
  286. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn.egg-info/dependency_links.txt +0 -0
  287. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn.egg-info/entry_points.txt +0 -0
  288. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn.egg-info/requires.txt +0 -0
  289. {crypticorn-2.11.7 → crypticorn-2.11.9}/crypticorn.egg-info/top_level.txt +0 -0
  290. {crypticorn-2.11.7 → crypticorn-2.11.9}/requirements/dev.txt +0 -0
  291. {crypticorn-2.11.7 → crypticorn-2.11.9}/requirements/extra.txt +0 -0
  292. {crypticorn-2.11.7 → crypticorn-2.11.9}/requirements/main.txt +0 -0
  293. {crypticorn-2.11.7 → crypticorn-2.11.9}/requirements/test.txt +0 -0
  294. {crypticorn-2.11.7 → crypticorn-2.11.9}/setup.cfg +0 -0
  295. {crypticorn-2.11.7 → crypticorn-2.11.9}/static/favicon.svg +0 -0
  296. {crypticorn-2.11.7 → crypticorn-2.11.9}/static/logo.svg +0 -0
  297. {crypticorn-2.11.7 → crypticorn-2.11.9}/static/pip-structure.drawio +0 -0
  298. {crypticorn-2.11.7 → crypticorn-2.11.9}/static/pip-structure.svg +0 -0
  299. {crypticorn-2.11.7 → crypticorn-2.11.9}/tests/test_auth_client.py +0 -0
  300. {crypticorn-2.11.7 → crypticorn-2.11.9}/tests/test_config.py +0 -0
  301. {crypticorn-2.11.7 → crypticorn-2.11.9}/tests/test_enums.py +0 -0
  302. {crypticorn-2.11.7 → crypticorn-2.11.9}/tests/test_errors.py +0 -0
  303. {crypticorn-2.11.7 → crypticorn-2.11.9}/tests/test_pagination.py +0 -0
@@ -1,6 +1,22 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v2.11.9 (2025-05-18)
5
+
6
+ ### Bug Fixes
7
+
8
+ - Update status code on actions endpoints
9
+ ([`0c1ff41`](https://github.com/crypticorn-ai/api-client/commit/0c1ff417c1bc976cb63537c5ab0ba127585e46d4))
10
+
11
+
12
+ ## v2.11.8 (2025-05-18)
13
+
14
+ ### Bug Fixes
15
+
16
+ - New error code `object_locked`
17
+ ([`d2c79a1`](https://github.com/crypticorn-ai/api-client/commit/d2c79a1c8e77c5801981b5fe2c4f0c99d9ef0943))
18
+
19
+
4
20
  ## v2.11.7 (2025-05-18)
5
21
 
6
22
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.11.7
3
+ Version: 2.11.9
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License-Expression: MIT
@@ -74,6 +74,7 @@ class ApiErrorIdentifier(StrEnum):
74
74
  OBJECT_ALREADY_EXISTS = "object_already_exists"
75
75
  OBJECT_CREATED = "object_created"
76
76
  OBJECT_DELETED = "object_deleted"
77
+ OBJECT_LOCKED = "object_locked"
77
78
  OBJECT_NOT_FOUND = "object_not_found"
78
79
  OBJECT_UPDATED = "object_updated"
79
80
  ORDER_ALREADY_FILLED = "order_is_already_filled"
@@ -362,6 +363,11 @@ class ApiError(Enum, metaclass=ApiErrorFallback):
362
363
  ApiErrorType.SERVER_ERROR,
363
364
  ApiErrorLevel.INFO,
364
365
  )
366
+ OBJECT_LOCKED = (
367
+ ApiErrorIdentifier.OBJECT_LOCKED,
368
+ ApiErrorType.NO_ERROR,
369
+ ApiErrorLevel.INFO,
370
+ )
365
371
  OBJECT_NOT_FOUND = (
366
372
  ApiErrorIdentifier.OBJECT_NOT_FOUND,
367
373
  ApiErrorType.SERVER_ERROR,
@@ -842,6 +848,11 @@ class StatusCodeMapper:
842
848
  status.HTTP_204_NO_CONTENT,
843
849
  status.WS_1000_NORMAL_CLOSURE,
844
850
  ),
851
+ # Miscellaneous
852
+ ApiError.OBJECT_LOCKED: (
853
+ status.HTTP_423_LOCKED,
854
+ status.WS_1013_TRY_AGAIN_LATER,
855
+ ),
845
856
  }
846
857
 
847
858
  @classmethod
@@ -544,7 +544,7 @@ class NotificationsApi:
544
544
  _content_type: Optional[StrictStr] = None,
545
545
  _headers: Optional[Dict[StrictStr, Any]] = None,
546
546
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
547
- ) -> object:
547
+ ) -> None:
548
548
  """Delete Notifications
549
549
 
550
550
  Delete all notifications for the authenticated user
@@ -579,7 +579,7 @@ class NotificationsApi:
579
579
  )
580
580
 
581
581
  _response_types_map: Dict[str, Optional[str]] = {
582
- "200": "object",
582
+ "204": None,
583
583
  }
584
584
  response_data = await self.api_client.call_api(
585
585
  *_param, _request_timeout=_request_timeout
@@ -604,7 +604,7 @@ class NotificationsApi:
604
604
  _content_type: Optional[StrictStr] = None,
605
605
  _headers: Optional[Dict[StrictStr, Any]] = None,
606
606
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
607
- ) -> ApiResponse[object]:
607
+ ) -> ApiResponse[None]:
608
608
  """Delete Notifications
609
609
 
610
610
  Delete all notifications for the authenticated user
@@ -639,7 +639,7 @@ class NotificationsApi:
639
639
  )
640
640
 
641
641
  _response_types_map: Dict[str, Optional[str]] = {
642
- "200": "object",
642
+ "204": None,
643
643
  }
644
644
  response_data = await self.api_client.call_api(
645
645
  *_param, _request_timeout=_request_timeout
@@ -699,7 +699,7 @@ class NotificationsApi:
699
699
  )
700
700
 
701
701
  _response_types_map: Dict[str, Optional[str]] = {
702
- "200": "object",
702
+ "204": None,
703
703
  }
704
704
  response_data = await self.api_client.call_api(
705
705
  *_param, _request_timeout=_request_timeout
@@ -1034,7 +1034,7 @@ class NotificationsApi:
1034
1034
  _content_type: Optional[StrictStr] = None,
1035
1035
  _headers: Optional[Dict[StrictStr, Any]] = None,
1036
1036
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1037
- ) -> Notification:
1037
+ ) -> None:
1038
1038
  """Update Notification
1039
1039
 
1040
1040
  Update a notification's viewed status
@@ -1075,7 +1075,7 @@ class NotificationsApi:
1075
1075
  )
1076
1076
 
1077
1077
  _response_types_map: Dict[str, Optional[str]] = {
1078
- "200": "Notification",
1078
+ "204": None,
1079
1079
  }
1080
1080
  response_data = await self.api_client.call_api(
1081
1081
  *_param, _request_timeout=_request_timeout
@@ -1102,7 +1102,7 @@ class NotificationsApi:
1102
1102
  _content_type: Optional[StrictStr] = None,
1103
1103
  _headers: Optional[Dict[StrictStr, Any]] = None,
1104
1104
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1105
- ) -> ApiResponse[Notification]:
1105
+ ) -> ApiResponse[None]:
1106
1106
  """Update Notification
1107
1107
 
1108
1108
  Update a notification's viewed status
@@ -1143,7 +1143,7 @@ class NotificationsApi:
1143
1143
  )
1144
1144
 
1145
1145
  _response_types_map: Dict[str, Optional[str]] = {
1146
- "200": "Notification",
1146
+ "204": None,
1147
1147
  }
1148
1148
  response_data = await self.api_client.call_api(
1149
1149
  *_param, _request_timeout=_request_timeout
@@ -1211,7 +1211,7 @@ class NotificationsApi:
1211
1211
  )
1212
1212
 
1213
1213
  _response_types_map: Dict[str, Optional[str]] = {
1214
- "200": "Notification",
1214
+ "204": None,
1215
1215
  }
1216
1216
  response_data = await self.api_client.call_api(
1217
1217
  *_param, _request_timeout=_request_timeout
@@ -1300,7 +1300,7 @@ class NotificationsApi:
1300
1300
  _content_type: Optional[StrictStr] = None,
1301
1301
  _headers: Optional[Dict[StrictStr, Any]] = None,
1302
1302
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1303
- ) -> object:
1303
+ ) -> None:
1304
1304
  """Update Notifications
1305
1305
 
1306
1306
  Bulk update notifications
@@ -1338,7 +1338,7 @@ class NotificationsApi:
1338
1338
  )
1339
1339
 
1340
1340
  _response_types_map: Dict[str, Optional[str]] = {
1341
- "200": "object",
1341
+ "204": None,
1342
1342
  }
1343
1343
  response_data = await self.api_client.call_api(
1344
1344
  *_param, _request_timeout=_request_timeout
@@ -1364,7 +1364,7 @@ class NotificationsApi:
1364
1364
  _content_type: Optional[StrictStr] = None,
1365
1365
  _headers: Optional[Dict[StrictStr, Any]] = None,
1366
1366
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1367
- ) -> ApiResponse[object]:
1367
+ ) -> ApiResponse[None]:
1368
1368
  """Update Notifications
1369
1369
 
1370
1370
  Bulk update notifications
@@ -1402,7 +1402,7 @@ class NotificationsApi:
1402
1402
  )
1403
1403
 
1404
1404
  _response_types_map: Dict[str, Optional[str]] = {
1405
- "200": "object",
1405
+ "204": None,
1406
1406
  }
1407
1407
  response_data = await self.api_client.call_api(
1408
1408
  *_param, _request_timeout=_request_timeout
@@ -1466,7 +1466,7 @@ class NotificationsApi:
1466
1466
  )
1467
1467
 
1468
1468
  _response_types_map: Dict[str, Optional[str]] = {
1469
- "200": "object",
1469
+ "204": None,
1470
1470
  }
1471
1471
  response_data = await self.api_client.call_api(
1472
1472
  *_param, _request_timeout=_request_timeout
@@ -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 StrictInt, StrictStr
20
- from typing import Any, List, Optional
20
+ from typing import List, Optional
21
21
  from crypticorn.trade.client.models.strategy import Strategy
22
22
  from crypticorn.trade.client.models.strategy_create import StrategyCreate
23
23
  from crypticorn.trade.client.models.strategy_update import StrategyUpdate
@@ -561,7 +561,7 @@ class StrategiesApi:
561
561
  _content_type: Optional[StrictStr] = None,
562
562
  _headers: Optional[Dict[StrictStr, Any]] = None,
563
563
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
564
- ) -> object:
564
+ ) -> None:
565
565
  """Kill Strategy
566
566
 
567
567
  Kills a strategy by disabling it and deleting all bots associated with it.
@@ -599,7 +599,7 @@ class StrategiesApi:
599
599
  )
600
600
 
601
601
  _response_types_map: Dict[str, Optional[str]] = {
602
- "200": "object",
602
+ "204": None,
603
603
  }
604
604
  response_data = await self.api_client.call_api(
605
605
  *_param, _request_timeout=_request_timeout
@@ -625,7 +625,7 @@ class StrategiesApi:
625
625
  _content_type: Optional[StrictStr] = None,
626
626
  _headers: Optional[Dict[StrictStr, Any]] = None,
627
627
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
628
- ) -> ApiResponse[object]:
628
+ ) -> ApiResponse[None]:
629
629
  """Kill Strategy
630
630
 
631
631
  Kills a strategy by disabling it and deleting all bots associated with it.
@@ -663,7 +663,7 @@ class StrategiesApi:
663
663
  )
664
664
 
665
665
  _response_types_map: Dict[str, Optional[str]] = {
666
- "200": "object",
666
+ "204": None,
667
667
  }
668
668
  response_data = await self.api_client.call_api(
669
669
  *_param, _request_timeout=_request_timeout
@@ -727,7 +727,7 @@ class StrategiesApi:
727
727
  )
728
728
 
729
729
  _response_types_map: Dict[str, Optional[str]] = {
730
- "200": "object",
730
+ "204": None,
731
731
  }
732
732
  response_data = await self.api_client.call_api(
733
733
  *_param, _request_timeout=_request_timeout
@@ -320,7 +320,7 @@ class TradingActionsApi:
320
320
  ) -> PostFuturesAction:
321
321
  """Post Futures Action
322
322
 
323
- Endpoint to receive futures trading actions from the trading strategy
323
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
324
324
 
325
325
  :param futures_trading_action_create: (required)
326
326
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -355,7 +355,7 @@ class TradingActionsApi:
355
355
  )
356
356
 
357
357
  _response_types_map: Dict[str, Optional[str]] = {
358
- "200": "PostFuturesAction",
358
+ "202": "PostFuturesAction",
359
359
  }
360
360
  response_data = await self.api_client.call_api(
361
361
  *_param, _request_timeout=_request_timeout
@@ -384,7 +384,7 @@ class TradingActionsApi:
384
384
  ) -> ApiResponse[PostFuturesAction]:
385
385
  """Post Futures Action
386
386
 
387
- Endpoint to receive futures trading actions from the trading strategy
387
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
388
388
 
389
389
  :param futures_trading_action_create: (required)
390
390
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -419,7 +419,7 @@ class TradingActionsApi:
419
419
  )
420
420
 
421
421
  _response_types_map: Dict[str, Optional[str]] = {
422
- "200": "PostFuturesAction",
422
+ "202": "PostFuturesAction",
423
423
  }
424
424
  response_data = await self.api_client.call_api(
425
425
  *_param, _request_timeout=_request_timeout
@@ -448,7 +448,7 @@ class TradingActionsApi:
448
448
  ) -> RESTResponseType:
449
449
  """Post Futures Action
450
450
 
451
- Endpoint to receive futures trading actions from the trading strategy
451
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
452
452
 
453
453
  :param futures_trading_action_create: (required)
454
454
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -483,7 +483,7 @@ class TradingActionsApi:
483
483
  )
484
484
 
485
485
  _response_types_map: Dict[str, Optional[str]] = {
486
- "200": "PostFuturesAction",
486
+ "202": "PostFuturesAction",
487
487
  }
488
488
  response_data = await self.api_client.call_api(
489
489
  *_param, _request_timeout=_request_timeout
@@ -606,7 +606,7 @@ class TradingActionsApi:
606
606
  )
607
607
 
608
608
  _response_types_map: Dict[str, Optional[str]] = {
609
- "200": "object",
609
+ "202": "object",
610
610
  }
611
611
  response_data = await self.api_client.call_api(
612
612
  *_param, _request_timeout=_request_timeout
@@ -669,7 +669,7 @@ class TradingActionsApi:
669
669
  )
670
670
 
671
671
  _response_types_map: Dict[str, Optional[str]] = {
672
- "200": "object",
672
+ "202": "object",
673
673
  }
674
674
  response_data = await self.api_client.call_api(
675
675
  *_param, _request_timeout=_request_timeout
@@ -732,7 +732,7 @@ class TradingActionsApi:
732
732
  )
733
733
 
734
734
  _response_types_map: Dict[str, Optional[str]] = {
735
- "200": "object",
735
+ "202": "object",
736
736
  }
737
737
  response_data = await self.api_client.call_api(
738
738
  *_param, _request_timeout=_request_timeout
@@ -80,6 +80,7 @@ class ApiErrorIdentifier(str, Enum):
80
80
  OBJECT_ALREADY_EXISTS = "object_already_exists"
81
81
  OBJECT_CREATED = "object_created"
82
82
  OBJECT_DELETED = "object_deleted"
83
+ OBJECT_LOCKED = "object_locked"
83
84
  OBJECT_NOT_FOUND = "object_not_found"
84
85
  OBJECT_UPDATED = "object_updated"
85
86
  ORDER_IS_ALREADY_FILLED = "order_is_already_filled"
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from typing_extensions import Annotated
22
23
  from crypticorn.trade.client.models.api_error_identifier import ApiErrorIdentifier
23
24
  from crypticorn.trade.client.models.exchange import Exchange
24
25
  from crypticorn.trade.client.models.margin_mode import MarginMode
@@ -60,14 +61,31 @@ class Order(BaseModel):
60
61
  margin_mode: Optional[MarginMode] = None
61
62
  status_code: Optional[ApiErrorIdentifier] = None
62
63
  status: Optional[OrderStatus] = None
63
- filled_perc: Optional[Union[StrictFloat, StrictInt]] = None
64
- filled_qty: Optional[Union[StrictFloat, StrictInt]] = None
65
- fee: Optional[Union[StrictFloat, StrictInt]] = None
64
+ filled_perc: Optional[
65
+ Union[
66
+ Annotated[float, Field(le=1.0, strict=True, ge=0.0)],
67
+ Annotated[int, Field(le=1, strict=True, ge=0)],
68
+ ]
69
+ ] = Field(default=0, description="Percentage of the order filled")
70
+ filled_qty: Optional[
71
+ Union[
72
+ Annotated[float, Field(strict=True, ge=0.0)],
73
+ Annotated[int, Field(strict=True, ge=0)],
74
+ ]
75
+ ] = Field(
76
+ default=0,
77
+ description="Quantity filled. Needed for pnl calculation. In the symbol's base currency.",
78
+ )
79
+ fee: Optional[Union[StrictFloat, StrictInt]] = Field(
80
+ default=0, description="Fees for the order"
81
+ )
66
82
  leverage: Optional[Union[StrictFloat, StrictInt]] = None
67
83
  order_details: Optional[Any] = Field(
68
84
  default=None, description="Exchange specific details of the order"
69
85
  )
70
- pnl: Optional[Union[StrictFloat, StrictInt]] = None
86
+ pnl: Optional[Union[StrictFloat, StrictInt]] = Field(
87
+ default=0, description="Profit and loss for the order"
88
+ )
71
89
  order_time: Optional[StrictInt] = None
72
90
  __properties: ClassVar[List[str]] = [
73
91
  "id",
@@ -230,21 +248,6 @@ class Order(BaseModel):
230
248
  if self.status is None and "status" in self.model_fields_set:
231
249
  _dict["status"] = None
232
250
 
233
- # set to None if filled_perc (nullable) is None
234
- # and model_fields_set contains the field
235
- if self.filled_perc is None and "filled_perc" in self.model_fields_set:
236
- _dict["filled_perc"] = None
237
-
238
- # set to None if filled_qty (nullable) is None
239
- # and model_fields_set contains the field
240
- if self.filled_qty is None and "filled_qty" in self.model_fields_set:
241
- _dict["filled_qty"] = None
242
-
243
- # set to None if fee (nullable) is None
244
- # and model_fields_set contains the field
245
- if self.fee is None and "fee" in self.model_fields_set:
246
- _dict["fee"] = None
247
-
248
251
  # set to None if leverage (nullable) is None
249
252
  # and model_fields_set contains the field
250
253
  if self.leverage is None and "leverage" in self.model_fields_set:
@@ -255,11 +258,6 @@ class Order(BaseModel):
255
258
  if self.order_details is None and "order_details" in self.model_fields_set:
256
259
  _dict["order_details"] = None
257
260
 
258
- # set to None if pnl (nullable) is None
259
- # and model_fields_set contains the field
260
- if self.pnl is None and "pnl" in self.model_fields_set:
261
- _dict["pnl"] = None
262
-
263
261
  # set to None if order_time (nullable) is None
264
262
  # and model_fields_set contains the field
265
263
  if self.order_time is None and "order_time" in self.model_fields_set:
@@ -298,16 +296,20 @@ class Order(BaseModel):
298
296
  "margin_mode": obj.get("margin_mode"),
299
297
  "status_code": obj.get("status_code"),
300
298
  "status": obj.get("status"),
301
- "filled_perc": obj.get("filled_perc"),
302
- "filled_qty": obj.get("filled_qty"),
303
- "fee": obj.get("fee"),
299
+ "filled_perc": (
300
+ obj.get("filled_perc") if obj.get("filled_perc") is not None else 0
301
+ ),
302
+ "filled_qty": (
303
+ obj.get("filled_qty") if obj.get("filled_qty") is not None else 0
304
+ ),
305
+ "fee": obj.get("fee") if obj.get("fee") is not None else 0,
304
306
  "leverage": obj.get("leverage"),
305
307
  "order_details": (
306
308
  AnyOf.from_dict(obj["order_details"])
307
309
  if obj.get("order_details") is not None
308
310
  else None
309
311
  ),
310
- "pnl": obj.get("pnl"),
312
+ "pnl": obj.get("pnl") if obj.get("pnl") is not None else 0,
311
313
  "order_time": obj.get("order_time"),
312
314
  }
313
315
  )
@@ -20,6 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing_extensions import Annotated
23
+ from crypticorn.trade.client.models.margin_mode import MarginMode
23
24
  from crypticorn.trade.client.models.market_type import MarketType
24
25
  from crypticorn.trade.client.models.strategy_exchange_info import StrategyExchangeInfo
25
26
  from typing import Optional, Set
@@ -55,6 +56,7 @@ class Strategy(BaseModel):
55
56
  identifier: StrictStr = Field(
56
57
  description="Unique human readable identifier for the strategy e.g. 'daily_trend_momentum'"
57
58
  )
59
+ margin_mode: Optional[MarginMode] = None
58
60
  leverage: StrictInt = Field(description="Leverage for the strategy")
59
61
  market_type: MarketType = Field(description="Market of operation of the strategy")
60
62
  __properties: ClassVar[List[str]] = [
@@ -67,6 +69,7 @@ class Strategy(BaseModel):
67
69
  "enabled",
68
70
  "performance_fee",
69
71
  "identifier",
72
+ "margin_mode",
70
73
  "leverage",
71
74
  "market_type",
72
75
  ]
@@ -115,6 +118,11 @@ class Strategy(BaseModel):
115
118
  if _item_exchanges:
116
119
  _items.append(_item_exchanges.to_dict())
117
120
  _dict["exchanges"] = _items
121
+ # set to None if margin_mode (nullable) is None
122
+ # and model_fields_set contains the field
123
+ if self.margin_mode is None and "margin_mode" in self.model_fields_set:
124
+ _dict["margin_mode"] = None
125
+
118
126
  return _dict
119
127
 
120
128
  @classmethod
@@ -144,6 +152,7 @@ class Strategy(BaseModel):
144
152
  "enabled": obj.get("enabled"),
145
153
  "performance_fee": obj.get("performance_fee"),
146
154
  "identifier": obj.get("identifier"),
155
+ "margin_mode": obj.get("margin_mode"),
147
156
  "leverage": obj.get("leverage"),
148
157
  "market_type": obj.get("market_type"),
149
158
  }
@@ -18,8 +18,9 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
- from typing import Any, ClassVar, Dict, List, Union
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing_extensions import Annotated
23
+ from crypticorn.trade.client.models.margin_mode import MarginMode
23
24
  from crypticorn.trade.client.models.market_type import MarketType
24
25
  from crypticorn.trade.client.models.strategy_exchange_info import StrategyExchangeInfo
25
26
  from typing import Optional, Set
@@ -46,6 +47,7 @@ class StrategyCreate(BaseModel):
46
47
  identifier: StrictStr = Field(
47
48
  description="Unique human readable identifier for the strategy e.g. 'daily_trend_momentum'"
48
49
  )
50
+ margin_mode: Optional[MarginMode] = None
49
51
  leverage: StrictInt = Field(description="Leverage for the strategy")
50
52
  market_type: MarketType = Field(description="Market of operation of the strategy")
51
53
  __properties: ClassVar[List[str]] = [
@@ -55,6 +57,7 @@ class StrategyCreate(BaseModel):
55
57
  "enabled",
56
58
  "performance_fee",
57
59
  "identifier",
60
+ "margin_mode",
58
61
  "leverage",
59
62
  "market_type",
60
63
  ]
@@ -103,6 +106,11 @@ class StrategyCreate(BaseModel):
103
106
  if _item_exchanges:
104
107
  _items.append(_item_exchanges.to_dict())
105
108
  _dict["exchanges"] = _items
109
+ # set to None if margin_mode (nullable) is None
110
+ # and model_fields_set contains the field
111
+ if self.margin_mode is None and "margin_mode" in self.model_fields_set:
112
+ _dict["margin_mode"] = None
113
+
106
114
  return _dict
107
115
 
108
116
  @classmethod
@@ -129,6 +137,7 @@ class StrategyCreate(BaseModel):
129
137
  "enabled": obj.get("enabled"),
130
138
  "performance_fee": obj.get("performance_fee"),
131
139
  "identifier": obj.get("identifier"),
140
+ "margin_mode": obj.get("margin_mode"),
132
141
  "leverage": obj.get("leverage"),
133
142
  "market_type": obj.get("market_type"),
134
143
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.11.7
3
+ Version: 2.11.9
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License-Expression: MIT
@@ -5,7 +5,7 @@ readme = "README.md"
5
5
  license = "MIT"
6
6
  requires-python = ">=3.9"
7
7
  authors = [{name = "Crypticorn", email = "timon@crypticorn.com"}]
8
- version = "2.11.7"
8
+ version = "2.11.9"
9
9
  keywords = ["machine learning", "data science", "crypto", "modelling"]
10
10
  dynamic = ["dependencies", "optional-dependencies"]
11
11
 
File without changes
File without changes
File without changes