crypticorn 2.7.4__tar.gz → 2.8.0rc1__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 (251) hide show
  1. crypticorn-2.8.0rc1/CHANGELOG.md +470 -0
  2. crypticorn-2.8.0rc1/MANIFEST.in +2 -0
  3. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/PKG-INFO +1 -1
  4. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/__init__.py +4 -1
  5. crypticorn-2.8.0rc1/crypticorn/common/ansi_colors.py +40 -0
  6. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/auth.py +1 -1
  7. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/exceptions.py +18 -8
  8. crypticorn-2.8.0rc1/crypticorn/common/logging.py +103 -0
  9. crypticorn-2.8.0rc1/crypticorn/common/router/admin_router.py +96 -0
  10. {crypticorn-2.7.4/crypticorn/common → crypticorn-2.8.0rc1/crypticorn/common/router}/status_router.py +0 -20
  11. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/scopes.py +5 -0
  12. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/PKG-INFO +1 -1
  13. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/SOURCES.txt +5 -1
  14. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/pyproject.toml +1 -1
  15. crypticorn-2.7.4/MANIFEST.in +0 -1
  16. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/README.md +0 -0
  17. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/__init__.py +0 -0
  18. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/__init__.py +0 -0
  19. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/__init__.py +0 -0
  20. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/__init__.py +0 -0
  21. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/admin_api.py +0 -0
  22. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/auth_api.py +0 -0
  23. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/service_api.py +0 -0
  24. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/user_api.py +0 -0
  25. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api/wallet_api.py +0 -0
  26. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api_client.py +0 -0
  27. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/api_response.py +0 -0
  28. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/configuration.py +0 -0
  29. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/exceptions.py +0 -0
  30. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/__init__.py +0 -0
  31. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
  32. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
  33. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
  34. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
  35. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
  36. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
  37. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
  38. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/create_user_request.py +0 -0
  39. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
  40. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
  41. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
  42. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
  43. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
  44. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
  45. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
  46. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
  47. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/logout_default_response.py +0 -0
  48. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
  49. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
  50. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
  51. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
  52. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
  53. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
  54. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
  55. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
  56. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/token_info200_response.py +0 -0
  57. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
  58. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/update_user_request.py +0 -0
  59. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/user_by_username200_response.py +0 -0
  60. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
  61. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
  62. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify200_response.py +0 -0
  63. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
  64. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
  65. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
  66. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify_email_request.py +0 -0
  67. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
  68. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
  69. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/models/whoami200_response.py +0 -0
  70. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/py.typed +0 -0
  71. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/client/rest.py +0 -0
  72. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/auth/main.py +0 -0
  73. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/__init__.py +0 -0
  74. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/__main__.py +0 -0
  75. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/init.py +0 -0
  76. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/templates/Dockerfile +0 -0
  77. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/templates/__init__.py +0 -0
  78. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/templates/auth.py +0 -0
  79. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/templates/dependabot.yml +0 -0
  80. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/cli/templates/ruff.yml +0 -0
  81. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/client.py +0 -0
  82. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/decorators.py +0 -0
  83. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/enums.py +0 -0
  84. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/errors.py +0 -0
  85. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/mixins.py +0 -0
  86. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/pagination.py +0 -0
  87. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/urls.py +0 -0
  88. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/common/utils.py +0 -0
  89. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/__init__.py +0 -0
  90. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/__init__.py +0 -0
  91. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api/__init__.py +0 -0
  92. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api/data_api.py +0 -0
  93. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api/models_api.py +0 -0
  94. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api/status_api.py +0 -0
  95. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api_client.py +0 -0
  96. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/api_response.py +0 -0
  97. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/configuration.py +0 -0
  98. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/exceptions.py +0 -0
  99. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/__init__.py +0 -0
  100. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/coins.py +0 -0
  101. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/data_download_response.py +0 -0
  102. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/data_info.py +0 -0
  103. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/data_value_value_value_inner.py +0 -0
  104. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/data_version.py +0 -0
  105. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/data_version_info.py +0 -0
  106. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/download_links.py +0 -0
  107. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/evaluation.py +0 -0
  108. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/evaluation_response.py +0 -0
  109. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/exception_detail.py +0 -0
  110. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/feature_size.py +0 -0
  111. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/model.py +0 -0
  112. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/model_create.py +0 -0
  113. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/model_status.py +0 -0
  114. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/model_update.py +0 -0
  115. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/target.py +0 -0
  116. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/target_info.py +0 -0
  117. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/models/target_type.py +0 -0
  118. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/py.typed +0 -0
  119. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/client/rest.py +0 -0
  120. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/main.py +0 -0
  121. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/hive/utils.py +0 -0
  122. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/__init__.py +0 -0
  123. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/__init__.py +0 -0
  124. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/__init__.py +0 -0
  125. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/change_in_timeframe_api.py +0 -0
  126. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
  127. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
  128. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/status_api.py +0 -0
  129. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/symbols_api.py +0 -0
  130. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api/udf_api.py +0 -0
  131. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api_client.py +0 -0
  132. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/api_response.py +0 -0
  133. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/configuration.py +0 -0
  134. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/exceptions.py +0 -0
  135. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/__init__.py +0 -0
  136. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/change_in_timeframe.py +0 -0
  137. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/exception_detail.py +0 -0
  138. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/funding_rate.py +0 -0
  139. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/ohlcv_history.py +0 -0
  140. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/resolution.py +0 -0
  141. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/search_symbol.py +0 -0
  142. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/sort_direction.py +0 -0
  143. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/symbol_group.py +0 -0
  144. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/symbol_info.py +0 -0
  145. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/symbol_type.py +0 -0
  146. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/timeframe.py +0 -0
  147. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/models/udf_config.py +0 -0
  148. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/py.typed +0 -0
  149. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/client/rest.py +0 -0
  150. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/klines/main.py +0 -0
  151. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/__init__.py +0 -0
  152. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/__init__.py +0 -0
  153. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/__init__.py +0 -0
  154. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/exchanges_api.py +0 -0
  155. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/indicators_api.py +0 -0
  156. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/logs_api.py +0 -0
  157. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/marketcap_api.py +0 -0
  158. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/markets_api.py +0 -0
  159. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/status_api.py +0 -0
  160. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api/tokens_api.py +0 -0
  161. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api_client.py +0 -0
  162. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/api_response.py +0 -0
  163. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/configuration.py +0 -0
  164. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/exceptions.py +0 -0
  165. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/models/__init__.py +0 -0
  166. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/models/exception_detail.py +0 -0
  167. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/models/severity.py +0 -0
  168. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/models/time_interval.py +0 -0
  169. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/models/trading_status.py +0 -0
  170. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/py.typed +0 -0
  171. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/client/rest.py +0 -0
  172. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/metrics/main.py +0 -0
  173. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/__init__.py +0 -0
  174. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/__init__.py +0 -0
  175. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api/__init__.py +0 -0
  176. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api/now_payments_api.py +0 -0
  177. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api/payments_api.py +0 -0
  178. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api/products_api.py +0 -0
  179. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api/status_api.py +0 -0
  180. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api_client.py +0 -0
  181. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/api_response.py +0 -0
  182. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/configuration.py +0 -0
  183. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/exceptions.py +0 -0
  184. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/__init__.py +0 -0
  185. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/exception_detail.py +0 -0
  186. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
  187. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
  188. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/payment.py +0 -0
  189. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/payment_status.py +0 -0
  190. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/product_create.py +0 -0
  191. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/product_read.py +0 -0
  192. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/product_sub_read.py +0 -0
  193. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/product_update.py +0 -0
  194. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/provider.py +0 -0
  195. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/models/scope.py +0 -0
  196. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/py.typed +0 -0
  197. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/client/rest.py +0 -0
  198. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/pay/main.py +0 -0
  199. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/__init__.py +0 -0
  200. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/__init__.py +0 -0
  201. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/__init__.py +0 -0
  202. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/api_keys_api.py +0 -0
  203. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/bots_api.py +0 -0
  204. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/exchanges_api.py +0 -0
  205. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
  206. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/notifications_api.py +0 -0
  207. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/orders_api.py +0 -0
  208. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/status_api.py +0 -0
  209. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/strategies_api.py +0 -0
  210. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api/trading_actions_api.py +0 -0
  211. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api_client.py +0 -0
  212. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/api_response.py +0 -0
  213. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/configuration.py +0 -0
  214. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/exceptions.py +0 -0
  215. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/__init__.py +0 -0
  216. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/action_model.py +0 -0
  217. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/bot_model.py +0 -0
  218. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/bot_status.py +0 -0
  219. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/exception_detail.py +0 -0
  220. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/exchange_key_model.py +0 -0
  221. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/execution_ids.py +0 -0
  222. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/futures_balance.py +0 -0
  223. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
  224. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/margin_mode.py +0 -0
  225. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/notification_model.py +0 -0
  226. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/order_model.py +0 -0
  227. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/order_status.py +0 -0
  228. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/post_futures_action.py +0 -0
  229. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/spot_trading_action.py +0 -0
  230. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
  231. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/strategy_model_input.py +0 -0
  232. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/strategy_model_output.py +0 -0
  233. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/tpsl.py +0 -0
  234. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/models/trading_action_type.py +0 -0
  235. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/py.typed +0 -0
  236. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/client/rest.py +0 -0
  237. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn/trade/main.py +0 -0
  238. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/dependency_links.txt +0 -0
  239. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/entry_points.txt +0 -0
  240. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/requires.txt +0 -0
  241. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/crypticorn.egg-info/top_level.txt +0 -0
  242. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/requirements/dev.txt +0 -0
  243. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/requirements/extra.txt +0 -0
  244. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/requirements/main.txt +0 -0
  245. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/requirements/test.txt +0 -0
  246. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/setup.cfg +0 -0
  247. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/tests/test_auth_client.py +0 -0
  248. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/tests/test_config.py +0 -0
  249. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/tests/test_enums.py +0 -0
  250. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/tests/test_errors.py +0 -0
  251. {crypticorn-2.7.4 → crypticorn-2.8.0rc1}/tests/test_pagination.py +0 -0
@@ -0,0 +1,470 @@
1
+ # CHANGELOG
2
+
3
+
4
+ ## v2.8.0-rc.1 (2025-05-04)
5
+
6
+ ### Features
7
+
8
+ - Add router with admin endpoints
9
+ ([`0d38178`](https://github.com/crypticorn-ai/api-client/commit/0d381784f91cab776ca1ee3b8407433dae4421c3))
10
+
11
+ - Configure formatted logging
12
+ ([`f8c35e9`](https://github.com/crypticorn-ai/api-client/commit/f8c35e900bcf4a279cc8e046e58935ec5c5c62ee))
13
+
14
+
15
+ ## v2.7.5 (2025-05-04)
16
+
17
+ ### Bug Fixes
18
+
19
+ - Log errors and exceptions
20
+ ([`578d6d3`](https://github.com/crypticorn-ai/api-client/commit/578d6d3176e07a7d4cb87e79617d67ab2e1d62de))
21
+
22
+ ### Build System
23
+
24
+ - Include changelog in build
25
+ ([`a78acb7`](https://github.com/crypticorn-ai/api-client/commit/a78acb7a18a957cfefa8e64ce593b13ddcd4fae7))
26
+
27
+
28
+ ## v2.7.4 (2025-05-04)
29
+
30
+ ### Bug Fixes
31
+
32
+ - Include cli templates in build
33
+ ([`8d46b4c`](https://github.com/crypticorn-ai/api-client/commit/8d46b4c6bc6bd413a86d1661a4ae9647ed66755c))
34
+
35
+ ### Documentation
36
+
37
+ - Update README and add license
38
+ ([`1876008`](https://github.com/crypticorn-ai/api-client/commit/187600869b9248aef2b66e881711ddfb96a01538))
39
+
40
+
41
+ ## v2.7.3 (2025-05-03)
42
+
43
+ ### Bug Fixes
44
+
45
+ - Fixes attribute bug in http exception handling
46
+ ([`a90b593`](https://github.com/crypticorn-ai/api-client/commit/a90b593bfa3e08a1703a7e2e1fc8a7bb8ac456e3))
47
+
48
+
49
+ ## v2.7.2 (2025-05-03)
50
+
51
+ ### Bug Fixes
52
+
53
+ - Add write:pay:now to default scopes
54
+ ([`8375248`](https://github.com/crypticorn-ai/api-client/commit/83752484e3570a1f39eacda4223100d7f3fbadd0))
55
+
56
+
57
+ ## v2.7.1 (2025-05-02)
58
+
59
+ ### Bug Fixes
60
+
61
+ - Use pydantic instead of json response in api wrappers
62
+ ([`ddd623b`](https://github.com/crypticorn-ai/api-client/commit/ddd623b28cb542ae6dd1bab02044c682cac206af))
63
+
64
+
65
+ ## v2.7.0 (2025-05-01)
66
+
67
+ ### Features
68
+
69
+ - Add download functionality for hive download data endpoint
70
+ ([`ee09d17`](https://github.com/crypticorn-ai/api-client/commit/ee09d177a28f3879e549eb3044c24b5e6197a528))
71
+
72
+
73
+ ## v2.6.0 (2025-04-30)
74
+
75
+ ### Features
76
+
77
+ - Add admin flag on auth verify response and user by username endpoint
78
+ ([`3f27fba`](https://github.com/crypticorn-ai/api-client/commit/3f27fba655e15a42a947ad1c67bcf4319c3daed6))
79
+
80
+ - Add common pagination query parameters
81
+ ([`4157137`](https://github.com/crypticorn-ai/api-client/commit/415713725541bb4a180f11de12fea2c3071c5f55))
82
+
83
+ - Add common webscoket error handling
84
+ ([`334a450`](https://github.com/crypticorn-ai/api-client/commit/334a45054797616fdd8bb917381e189bb64e4678))
85
+
86
+ ### Testing
87
+
88
+ - Add api key generation and remove duplicate tests
89
+ ([`d60a890`](https://github.com/crypticorn-ai/api-client/commit/d60a89071fe7bc25025fbdf2298cb560d9fbdfb8))
90
+
91
+
92
+ ## v2.5.3 (2025-04-29)
93
+
94
+ ### Bug Fixes
95
+
96
+ - Use ExceptionContent in throw utilities
97
+ ([`b38ebf1`](https://github.com/crypticorn-ai/api-client/commit/b38ebf1443d1df126f7e1014b5c25f1e17f56fdc))
98
+
99
+
100
+ ## v2.5.2 (2025-04-29)
101
+
102
+ ### Bug Fixes
103
+
104
+ - Only allow type ApiError in throw utility functions
105
+ ([`7604342`](https://github.com/crypticorn-ai/api-client/commit/7604342baa6dd2bee816ae446dfcc08edb298ddb))
106
+
107
+ ### Build System
108
+
109
+ - Clean generated code before regenerating
110
+ ([`b563024`](https://github.com/crypticorn-ai/api-client/commit/b56302497e79e2a64e7403d15a0f3d3bd3233b63))
111
+
112
+
113
+ ## v2.5.1 (2025-04-27)
114
+
115
+ ### Bug Fixes
116
+
117
+ - Integrate exception handling in auth handler
118
+ ([`b7835ef`](https://github.com/crypticorn-ai/api-client/commit/b7835efef54adbd021ecce27c002c5e5501cb99c))
119
+
120
+ ### Build System
121
+
122
+ - Exclude shared classes and enums from openapi to reduce duplication upon client generation
123
+ ([`1987864`](https://github.com/crypticorn-ai/api-client/commit/1987864392397d7ee74ddb9ecbfb61c6d83134dc))
124
+
125
+ ### Continuous Integration
126
+
127
+ - Run codecov workflow on push and pull request
128
+ ([`cf2bc16`](https://github.com/crypticorn-ai/api-client/commit/cf2bc165d04b855839812ea626a3647b17a91458))
129
+
130
+ ### Refactoring
131
+
132
+ - Improve sub package registration in ApiClient to reduce redundance
133
+ ([`bdea044`](https://github.com/crypticorn-ai/api-client/commit/bdea044a6bc5180daed59b9a504866d2f519ae05))
134
+
135
+ - Integrate custom exception handling in auth handler
136
+ ([`3f997e2`](https://github.com/crypticorn-ai/api-client/commit/3f997e23c1493296deaab23063b709d08702d5af))
137
+
138
+ ### Testing
139
+
140
+ - Add jwt generation function
141
+ ([`c2bc90f`](https://github.com/crypticorn-ai/api-client/commit/c2bc90fb878656642787755330a99c6b9056f14c))
142
+
143
+ - Update exception assertions with latest changes auth handler
144
+ ([`4c220e5`](https://github.com/crypticorn-ai/api-client/commit/4c220e5bd31d1a7fd64d0f302044acfd4d4927e9))
145
+
146
+
147
+ ## v2.5.0 (2025-04-26)
148
+
149
+
150
+ ## v2.5.0-rc.5 (2025-04-26)
151
+
152
+ ### Features
153
+
154
+ - Add details field to `ExceptionContent` to support additional details about the error
155
+ ([`3ae6bc5`](https://github.com/crypticorn-ai/api-client/commit/3ae6bc57ae4e1e8a23c46511cdc5bf9c1eadc40d))
156
+
157
+ ### Refactoring
158
+
159
+ - Rename exception class names
160
+ ([`7f50e11`](https://github.com/crypticorn-ai/api-client/commit/7f50e114ceee596dcf3e25d3decfe78c849ad22e))
161
+
162
+
163
+ ## v2.5.0-rc.4 (2025-04-26)
164
+
165
+ ### Bug Fixes
166
+
167
+ - Remove wrong media type from `exception_response`
168
+ ([`34920f0`](https://github.com/crypticorn-ai/api-client/commit/34920f0a51eded25e64324654d711e8716ee707c))
169
+
170
+
171
+ ## v2.5.0-rc.3 (2025-04-26)
172
+
173
+ ### Bug Fixes
174
+
175
+ - Fixes TypeError bug in deprecated decorator
176
+ ([`4344581`](https://github.com/crypticorn-ai/api-client/commit/4344581f2737377334d2ab0203c8872e0acdfadb))
177
+
178
+ ### Features
179
+
180
+ - Add exception handler and improve custom exception
181
+ ([`64c05ea`](https://github.com/crypticorn-ai/api-client/commit/64c05eafd011556b49786034d58a4de264438bfd))
182
+
183
+
184
+ ## v2.5.0-rc.2 (2025-04-25)
185
+
186
+ ### Bug Fixes
187
+
188
+ - Enforce stricter types on Http Exception and improve descriptions and doc string
189
+ ([`0941780`](https://github.com/crypticorn-ai/api-client/commit/094178099ca1d01d763f41cce6ac898cbc77a9a3))
190
+
191
+
192
+ ## v2.5.0-rc.1 (2025-04-25)
193
+
194
+ ### Build System
195
+
196
+ - Update generation script to catch fallback if local server is not running
197
+ ([`b5e9a16`](https://github.com/crypticorn-ai/api-client/commit/b5e9a16092c836bea38657b7ddab252945696848))
198
+
199
+ ### Chores
200
+
201
+ - Deprecate is_equal function
202
+ ([`b3b3094`](https://github.com/crypticorn-ai/api-client/commit/b3b309428dc078673a5b1718a7075855bce0c098))
203
+
204
+ ### Features
205
+
206
+ - Add custom Http Exception class with shared error codes
207
+ ([`aa0d851`](https://github.com/crypticorn-ai/api-client/commit/aa0d8515936ea65951608a9704f8d840069ac15d))
208
+
209
+
210
+ ## v2.4.7 (2025-04-17)
211
+
212
+ ### Bug Fixes
213
+
214
+ - Raise custom WebsockeError in ws auth dependencies
215
+ ([`94f8b62`](https://github.com/crypticorn-ai/api-client/commit/94f8b62593d3f44785b11812102c3a4ab9195073))
216
+
217
+ ### Performance Improvements
218
+
219
+ - Make pandas an optional dependency to decrease package size
220
+ ([`cb942c7`](https://github.com/crypticorn-ai/api-client/commit/cb942c74d5d7836f9cab1beb2b1d5ee6a9be4d4e))
221
+
222
+
223
+ ## v2.4.6 (2025-04-13)
224
+
225
+ ### Bug Fixes
226
+
227
+ - Fixes config override bug
228
+ ([`58c096b`](https://github.com/crypticorn-ai/api-client/commit/58c096b98a738c2c318768bae9f28ddb100fe127))
229
+
230
+ ### Documentation
231
+
232
+ - Extend usage section
233
+ ([`2887872`](https://github.com/crypticorn-ai/api-client/commit/28878720eeb0ad7461165402c5521258c1c7dc0e))
234
+
235
+
236
+ ## v2.4.5 (2025-04-13)
237
+
238
+ ### Bug Fixes
239
+
240
+ - Fixes fallback bug with pydantic
241
+ ([`70d1257`](https://github.com/crypticorn-ai/api-client/commit/70d125723c7e707f765892270e6aa6977b5b25a5))
242
+
243
+
244
+ ## v2.4.4 (2025-04-12)
245
+
246
+ ### Bug Fixes
247
+
248
+ - Auth fixes on auth module
249
+ ([`7c3ed5d`](https://github.com/crypticorn-ai/api-client/commit/7c3ed5d460e464939716361014514baff50d380d))
250
+
251
+ ### Documentation
252
+
253
+ - Update advanced usage section
254
+ ([`1c804bf`](https://github.com/crypticorn-ai/api-client/commit/1c804bf6eddceb19c31a553c1ff98b31fdd8cbc0))
255
+
256
+
257
+ ## v2.4.3 (2025-04-12)
258
+
259
+ ### Bug Fixes
260
+
261
+ - Fix utils import
262
+ ([`29cc346`](https://github.com/crypticorn-ai/api-client/commit/29cc346c2ff835f8732644fbe21aadf62153c1d0))
263
+
264
+
265
+ ## v2.4.2 (2025-04-12)
266
+
267
+ ### Bug Fixes
268
+
269
+ - Add global utils and add http error mapping
270
+ ([`c3ce565`](https://github.com/crypticorn-ai/api-client/commit/c3ce565446535038f196f65b9fdf276a6ce71563))
271
+
272
+
273
+ ## v2.4.1 (2025-04-12)
274
+
275
+ ### Bug Fixes
276
+
277
+ - Add market metrics scopes
278
+ ([`2dc0b4f`](https://github.com/crypticorn-ai/api-client/commit/2dc0b4f1761d5bae07c946448a820d1fc9814288))
279
+
280
+ ### Documentation
281
+
282
+ - Update structure section
283
+ ([`cc77abc`](https://github.com/crypticorn-ai/api-client/commit/cc77abc19b5813e335356f4539654e04b8ba2014))
284
+
285
+
286
+ ## v2.4.0 (2025-04-12)
287
+
288
+ ### Features
289
+
290
+ - Add enum fallbacks, enum validation mixin and enum tests
291
+ ([`63bd61c`](https://github.com/crypticorn-ai/api-client/commit/63bd61cd826f9de1aec40d5f877d82126b59fbf8))
292
+
293
+ - Start cli support for initializing files from templates
294
+ ([`5411d12`](https://github.com/crypticorn-ai/api-client/commit/5411d12704605e6d6af46477ff74e1ac44abd259))
295
+
296
+
297
+ ## v2.3.0 (2025-04-11)
298
+
299
+ ### Features
300
+
301
+ - Add exchange and market enums
302
+ ([`8ad2d7d`](https://github.com/crypticorn-ai/api-client/commit/8ad2d7dc982261f3e710c3e61755ea9613d982c3))
303
+
304
+
305
+ ## v2.2.3 (2025-04-11)
306
+
307
+ ### Bug Fixes
308
+
309
+ - Update error codes
310
+ ([`3121fb0`](https://github.com/crypticorn-ai/api-client/commit/3121fb0bb4d05a6d62083d806fbc636761254448))
311
+
312
+
313
+ ## v2.2.2 (2025-04-09)
314
+
315
+ ### Bug Fixes
316
+
317
+ - Refactor generated model name by partial_model and add to init file
318
+ ([`e663848`](https://github.com/crypticorn-ai/api-client/commit/e6638483bdeb01121749b579268493c7c67227dc))
319
+
320
+
321
+ ## v2.2.1 (2025-04-09)
322
+
323
+ ### Bug Fixes
324
+
325
+ - Add pydantic decorator that makes all fields of a model optional
326
+ ([`1ae4432`](https://github.com/crypticorn-ai/api-client/commit/1ae44325194be3ca86eb72be5d3edc2442dd00cc))
327
+
328
+
329
+ ## v2.2.0 (2025-04-09)
330
+
331
+ ### Bug Fixes
332
+
333
+ - Fix import issues (fixes #22) and add auth module to main client
334
+ ([`7f3f7c2`](https://github.com/crypticorn-ai/api-client/commit/7f3f7c2120af053b916aaa045444331998986f7d))
335
+
336
+ ### Documentation
337
+
338
+ - Update README with configuration and response type sections
339
+ ([`a9fbccf`](https://github.com/crypticorn-ai/api-client/commit/a9fbccfed254573d3e62332901704f39d8a6777f))
340
+
341
+ ### Features
342
+
343
+ - Add module based configuration options for the client
344
+ ([`553400c`](https://github.com/crypticorn-ai/api-client/commit/553400c642d3da4459daa4fa9b56588e9f519581))
345
+
346
+
347
+ ## v2.1.6 (2025-04-08)
348
+
349
+ ### Bug Fixes
350
+
351
+ - Add market metrics module
352
+ ([`2954702`](https://github.com/crypticorn-ai/api-client/commit/29547025a0226bca1b9da9cfff5c89d3ed30f497))
353
+
354
+
355
+ ## v2.1.5 (2025-04-08)
356
+
357
+ ### Bug Fixes
358
+
359
+ - Update auth and trade module
360
+ ([`df936b6`](https://github.com/crypticorn-ai/api-client/commit/df936b6eb76179a3eac6d7997c82ef30e74de860))
361
+
362
+
363
+ ## v2.1.4 (2025-04-08)
364
+
365
+ ### Bug Fixes
366
+
367
+ - Refactor api errors
368
+ ([`885a20e`](https://github.com/crypticorn-ai/api-client/commit/885a20ec839dcf14fb4ec8d946cea76dcb15a65e))
369
+
370
+
371
+ ## v2.1.3 (2025-04-08)
372
+
373
+ ### Bug Fixes
374
+
375
+ - Use SecurityScopes class instead of list[Scope]
376
+ ([`b41c718`](https://github.com/crypticorn-ai/api-client/commit/b41c718acc108e05b307abb399137c2fc30e56fd))
377
+
378
+
379
+ ## v2.1.2 (2025-04-08)
380
+
381
+ ### Bug Fixes
382
+
383
+ - Allow scopes to be set as strings
384
+ ([`600babb`](https://github.com/crypticorn-ai/api-client/commit/600babb87c93aeecdc42aa19ebff1076a76404ea))
385
+
386
+
387
+ ## v2.1.1 (2025-04-08)
388
+
389
+ ### Bug Fixes
390
+
391
+ - Remove three unused scopes
392
+ ([`3167308`](https://github.com/crypticorn-ai/api-client/commit/3167308b3df0c68b8e4c134841b437f40315a8e9))
393
+
394
+
395
+ ## v2.1.0 (2025-04-07)
396
+
397
+ ### Features
398
+
399
+ - Add api key authorization and websocket auth support
400
+ ([`adeb8bd`](https://github.com/crypticorn-ai/api-client/commit/adeb8bdf42ed3da1b63b430f291e920e97d62d14))
401
+
402
+ ### Refactoring
403
+
404
+ - Rename scopes and make requirements more strict
405
+ ([`abf53a6`](https://github.com/crypticorn-ai/api-client/commit/abf53a6de46703a3ac2b0c66c101ec58ae8928f2))
406
+
407
+
408
+ ## v2.0.1 (2025-04-06)
409
+
410
+ ### Bug Fixes
411
+
412
+ - Refactor Scopes and Exception handling in auth client
413
+ ([`8e9a64a`](https://github.com/crypticorn-ai/api-client/commit/8e9a64aa091cc3c840230ad2a7167c98426ae5c9))
414
+
415
+ ### Build System
416
+
417
+ - Fix ci syntax and ssh errors
418
+ ([`9ecfaa4`](https://github.com/crypticorn-ai/api-client/commit/9ecfaa4f09dfa4ae1667f9c1b9307d2623288f5f))
419
+
420
+ - Separate ci and update package config and deps
421
+ ([`5367f2a`](https://github.com/crypticorn-ai/api-client/commit/5367f2a79028ed1f5e2c05ddded91a9ddbd0d9fa))
422
+
423
+ - Update ci
424
+ ([`799fd96`](https://github.com/crypticorn-ai/api-client/commit/799fd962529b0120b290c3f5c253e9050b40a41b))
425
+
426
+ ### Documentation
427
+
428
+ - Update Readme
429
+ ([`39825b1`](https://github.com/crypticorn-ai/api-client/commit/39825b1506c2d5663ae8eecc6f73f8d6bed5692e))
430
+
431
+
432
+ ## v2.0.0 (2025-04-06)
433
+
434
+ ### Build System
435
+
436
+ - Add psr build_command
437
+ ([`b661846`](https://github.com/crypticorn-ai/api-client/commit/b6618464c7d7727d34ab4a448f2e0104fcf4f3cc))
438
+
439
+ - Fix ci-cd
440
+ ([`6edcb36`](https://github.com/crypticorn-ai/api-client/commit/6edcb3611673f191ec482e9d40614c7c2d2b59f3))
441
+
442
+ - Fix signing error in ci
443
+ ([`0dcbf22`](https://github.com/crypticorn-ai/api-client/commit/0dcbf22892dbc17297cf9b91b35d62ec205a76ea))
444
+
445
+ - Fixes pypi packages dir
446
+ ([`a25a458`](https://github.com/crypticorn-ai/api-client/commit/a25a4580c6a656e30d55b52c837480b833cb9aab))
447
+
448
+ - Update ci cd and configure PSR
449
+ ([`e5d6fa5`](https://github.com/crypticorn-ai/api-client/commit/e5d6fa5d2ff4355f59fd4c92e4b9bed77fcae2d8))
450
+
451
+ BREAKING CHANGE: add several more backend api clients and restructure the modules
452
+
453
+
454
+ ## v1.0.0 (2024-11-27)
455
+
456
+ ### Continuous Integration
457
+
458
+ - Trigger workflow on PRs and changes to public folder (close #4)
459
+ ([`08b9317`](https://github.com/crypticorn-ai/api-client/commit/08b931780ac872c6034883cd5ab83d2c7b380414))
460
+
461
+ ### Features
462
+
463
+ - Add get Economics News
464
+ ([`81575b1`](https://github.com/crypticorn-ai/api-client/commit/81575b18a7c925c5dafe18bd9e15807a282134e3))
465
+
466
+ - Add get Economics News
467
+ ([`ccbfb7a`](https://github.com/crypticorn-ai/api-client/commit/ccbfb7a3d857ff5d531ec06f3b9df05b63f8dbf3))
468
+
469
+ - Add get Economics News
470
+ ([`bc6574d`](https://github.com/crypticorn-ai/api-client/commit/bc6574dcadcdc9d05e860fde0aa285a4e7dcba32))
@@ -0,0 +1,2 @@
1
+ graft crypticorn/cli/templates
2
+ include CHANGELOG.md
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.7.4
3
+ Version: 2.8.0rc1
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License: MIT
@@ -8,4 +8,7 @@ from crypticorn.common.enums import *
8
8
  from crypticorn.common.utils import *
9
9
  from crypticorn.common.exceptions import *
10
10
  from crypticorn.common.pagination import *
11
- from crypticorn.common.status_router import router as status_router
11
+ from crypticorn.common.logging import *
12
+ from crypticorn.common.ansi_colors import *
13
+ from crypticorn.common.router.status_router import router as status_router
14
+ from crypticorn.common.router.admin_router import router as admin_router
@@ -0,0 +1,40 @@
1
+ from enum import StrEnum
2
+ from typing import TYPE_CHECKING
3
+
4
+ if TYPE_CHECKING:
5
+ pass
6
+
7
+
8
+ class AnsiColors(StrEnum):
9
+ # Regular Text Colors
10
+ BLACK = "\033[30m" # black
11
+ RED = "\033[31m" # red
12
+ GREEN = "\033[32m" # green
13
+ YELLOW = "\033[33m" # yellow
14
+ BLUE = "\033[34m" # blue
15
+ MAGENTA = "\033[35m" # magenta
16
+ CYAN = "\033[36m" # cyan
17
+ WHITE = "\033[37m" # white
18
+
19
+ # Bright Text Colors
20
+ BLACK_BRIGHT = "\033[90m" # black_bright
21
+ RED_BRIGHT = "\033[91m" # red_bright
22
+ GREEN_BRIGHT = "\033[92m" # green_bright
23
+ YELLOW_BRIGHT = "\033[93m" # yellow_bright
24
+ BLUE_BRIGHT = "\033[94m" # blue_bright
25
+ MAGENTA_BRIGHT = "\033[95m" # magenta_bright
26
+ CYAN_BRIGHT = "\033[96m" # cyan_bright
27
+ WHITE_BRIGHT = "\033[97m" # white_bright
28
+
29
+ # Bold Text Colors
30
+ BLACK_BOLD = "\033[1;30m" # black_bold
31
+ RED_BOLD = "\033[1;31m" # red_bold
32
+ GREEN_BOLD = "\033[1;32m" # green_bold
33
+ YELLOW_BOLD = "\033[1;33m" # yellow_bold
34
+ BLUE_BOLD = "\033[1;34m" # blue_bold
35
+ MAGENTA_BOLD = "\033[1;35m" # magenta_bold
36
+ CYAN_BOLD = "\033[1;36m" # cyan_bold
37
+ WHITE_BOLD = "\033[1;37m" # white_bold
38
+
39
+ # Reset Color
40
+ RESET = "\033[0m"
@@ -75,7 +75,7 @@ class AuthHandler:
75
75
  raise HTTPException(
76
76
  content=ExceptionContent(
77
77
  error=ApiError.INSUFFICIENT_SCOPES,
78
- message="Insufficient scopes to access this resource",
78
+ message="Insufficient scopes to access this resource (required: " + ", ".join(api_scopes) + ")",
79
79
  ),
80
80
  )
81
81
 
@@ -5,6 +5,9 @@ from fastapi import HTTPException as FastAPIHTTPException, Request, FastAPI
5
5
  from fastapi.exceptions import RequestValidationError, ResponseValidationError
6
6
  from fastapi.responses import JSONResponse
7
7
  from crypticorn.common import ApiError, ApiErrorIdentifier, ApiErrorType, ApiErrorLevel
8
+ import logging
9
+
10
+ logger = logging.getLogger(__name__)
8
11
 
9
12
 
10
13
  class ExceptionType(StrEnum):
@@ -89,37 +92,44 @@ class WebSocketException(HTTPException):
89
92
  )
90
93
 
91
94
 
92
- async def general_handler(request: Request, exc: Exception):
95
+ async def general_handler(request: Request, exc: Exception) -> JSONResponse:
93
96
  """This is the default exception handler for all exceptions."""
94
97
  body = ExceptionContent(message=str(exc), error=ApiError.UNKNOWN_ERROR)
95
- return JSONResponse(
98
+ res = JSONResponse(
96
99
  status_code=body.enrich().status_code, content=HTTPException(content=body).detail
97
100
  )
101
+ logger.error(f"Response validation error: {res}")
102
+ return res
98
103
 
99
104
 
100
- async def request_validation_handler(request: Request, exc: RequestValidationError):
105
+ async def request_validation_handler(request: Request, exc: RequestValidationError) -> JSONResponse:
101
106
  """This is the exception handler for all request validation errors."""
102
107
  body = ExceptionContent(message=str(exc), error=ApiError.INVALID_DATA_REQUEST)
103
- return JSONResponse(
108
+ res = JSONResponse(
104
109
  status_code=body.enrich().status_code, content=HTTPException(content=body).detail
105
110
  )
111
+ logger.error(f"Response validation error: {res}")
112
+ return res
106
113
 
107
114
 
108
- async def response_validation_handler(request: Request, exc: ResponseValidationError):
115
+ async def response_validation_handler(request: Request, exc: ResponseValidationError) -> JSONResponse:
109
116
  """This is the exception handler for all response validation errors."""
110
117
  body = ExceptionContent(message=str(exc), error=ApiError.INVALID_DATA_RESPONSE)
111
- return JSONResponse(
118
+ res = JSONResponse(
112
119
  status_code=body.enrich().status_code, content=HTTPException(content=body).detail
113
120
  )
121
+ logger.error(f"Response validation error: {res}")
122
+ return res
114
123
 
115
124
 
116
- async def http_handler(request: Request, exc: HTTPException):
125
+ async def http_handler(request: Request, exc: HTTPException) -> JSONResponse:
117
126
  """This is the exception handler for HTTPExceptions. It unwraps the HTTPException and returns the detail in a flat JSON response."""
127
+ logger.error(f"HTTP error: {exc.detail}")
118
128
  return JSONResponse(status_code=exc.status_code, content=exc.detail)
119
129
 
120
130
 
121
131
  def register_exception_handlers(app: FastAPI):
122
- """Utility to register serveral exception handlers in one go. Catches Exception, HTTPException and Data Validation errors and responds with a unified json body."""
132
+ """Utility to register serveral exception handlers in one go. Catches Exception, HTTPException and Data Validation errors, logs them and responds with a unified json body."""
123
133
  app.add_exception_handler(Exception, general_handler)
124
134
  app.add_exception_handler(FastAPIHTTPException, http_handler)
125
135
  app.add_exception_handler(RequestValidationError, request_validation_handler)