crypticorn 2.11.9__tar.gz → 2.12.0__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 (310) hide show
  1. {crypticorn-2.11.9 → crypticorn-2.12.0}/CHANGELOG.md +8 -0
  2. {crypticorn-2.11.9/crypticorn.egg-info → crypticorn-2.12.0}/PKG-INFO +1 -1
  3. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/errors.py +4 -4
  4. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/exceptions.py +10 -0
  5. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/__init__.py +1 -0
  6. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/__init__.py +1 -0
  7. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/api_error_identifier.py +2 -0
  8. crypticorn-2.12.0/crypticorn/hive/client/models/coin_info.py +106 -0
  9. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/data_info.py +17 -6
  10. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/target_info.py +20 -6
  11. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/__init__.py +5 -3
  12. crypticorn-2.12.0/crypticorn/pay/client/api/admin_api.py +1455 -0
  13. crypticorn-2.11.9/crypticorn/pay/client/api/admin_api.py → crypticorn-2.12.0/crypticorn/pay/client/api/now_payments_api.py +143 -380
  14. crypticorn-2.12.0/crypticorn/pay/client/api/payments_api.py +622 -0
  15. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/api/products_api.py +16 -16
  16. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/__init__.py +5 -3
  17. crypticorn-2.12.0/crypticorn/pay/client/models/api_error_identifier.py +117 -0
  18. crypticorn-2.12.0/crypticorn/pay/client/models/api_error_level.py +37 -0
  19. crypticorn-2.12.0/crypticorn/pay/client/models/api_error_type.py +37 -0
  20. crypticorn-2.12.0/crypticorn/pay/client/models/exception_detail.py +117 -0
  21. crypticorn-2.11.9/crypticorn/pay/client/models/product_read.py → crypticorn-2.12.0/crypticorn/pay/client/models/product.py +4 -4
  22. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/product_create.py +1 -1
  23. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/scope.py +1 -0
  24. crypticorn-2.11.9/crypticorn/pay/client/models/product_sub_read.py → crypticorn-2.12.0/crypticorn/pay/client/models/subscription.py +5 -5
  25. {crypticorn-2.11.9 → crypticorn-2.12.0/crypticorn.egg-info}/PKG-INFO +1 -1
  26. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn.egg-info/SOURCES.txt +6 -3
  27. {crypticorn-2.11.9 → crypticorn-2.12.0}/pyproject.toml +1 -1
  28. crypticorn-2.11.9/crypticorn/pay/client/api/now_payments_api.py +0 -745
  29. crypticorn-2.11.9/crypticorn/pay/client/api/payments_api.py +0 -843
  30. crypticorn-2.11.9/crypticorn/pay/client/models/exception_detail.py +0 -114
  31. crypticorn-2.11.9/crypticorn/pay/client/models/response_getuptime.py +0 -159
  32. {crypticorn-2.11.9 → crypticorn-2.12.0}/LICENSE +0 -0
  33. {crypticorn-2.11.9 → crypticorn-2.12.0}/MANIFEST.in +0 -0
  34. {crypticorn-2.11.9 → crypticorn-2.12.0}/README.md +0 -0
  35. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/__init__.py +0 -0
  36. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/__init__.py +0 -0
  37. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/__init__.py +0 -0
  38. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/__init__.py +0 -0
  39. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/admin_api.py +0 -0
  40. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/auth_api.py +0 -0
  41. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/service_api.py +0 -0
  42. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/user_api.py +0 -0
  43. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api/wallet_api.py +0 -0
  44. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api_client.py +0 -0
  45. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/api_response.py +0 -0
  46. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/configuration.py +0 -0
  47. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/exceptions.py +0 -0
  48. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/__init__.py +0 -0
  49. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
  50. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
  51. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
  52. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
  53. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
  54. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
  55. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
  56. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/create_user_request.py +0 -0
  57. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
  58. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
  59. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
  60. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
  61. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
  62. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
  63. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
  64. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
  65. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/logout_default_response.py +0 -0
  66. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
  67. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
  68. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
  69. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
  70. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
  71. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
  72. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
  73. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
  74. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/token_info200_response.py +0 -0
  75. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
  76. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/update_user_request.py +0 -0
  77. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/user_by_username200_response.py +0 -0
  78. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
  79. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
  80. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify200_response.py +0 -0
  81. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
  82. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
  83. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
  84. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify_email_request.py +0 -0
  85. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
  86. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
  87. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/models/whoami200_response.py +0 -0
  88. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/py.typed +0 -0
  89. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/client/rest.py +0 -0
  90. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/auth/main.py +0 -0
  91. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/__init__.py +0 -0
  92. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/__main__.py +0 -0
  93. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/init.py +0 -0
  94. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/Dockerfile +0 -0
  95. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/__init__.py +0 -0
  96. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/auth.py +0 -0
  97. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/dependabot.yml +0 -0
  98. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/merge-env.sh +0 -0
  99. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/templates/ruff.yml +0 -0
  100. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/cli/version.py +0 -0
  101. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/client.py +0 -0
  102. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/__init__.py +0 -0
  103. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/ansi_colors.py +0 -0
  104. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/auth.py +0 -0
  105. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/decorators.py +0 -0
  106. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/enums.py +0 -0
  107. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/logging.py +0 -0
  108. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/middleware.py +0 -0
  109. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/mixins.py +0 -0
  110. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/openapi.py +0 -0
  111. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/pagination.py +0 -0
  112. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/router/admin_router.py +0 -0
  113. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/router/status_router.py +0 -0
  114. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/scopes.py +0 -0
  115. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/urls.py +0 -0
  116. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/utils.py +0 -0
  117. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/common/warnings.py +0 -0
  118. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/__init__.py +0 -0
  119. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api/__init__.py +0 -0
  120. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api/admin_api.py +0 -0
  121. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api/data_api.py +0 -0
  122. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api/models_api.py +0 -0
  123. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api/status_api.py +0 -0
  124. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api_client.py +0 -0
  125. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/api_response.py +0 -0
  126. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/configuration.py +0 -0
  127. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/exceptions.py +0 -0
  128. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/api_error_level.py +0 -0
  129. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/api_error_type.py +0 -0
  130. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/coins.py +0 -0
  131. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/data_download_response.py +0 -0
  132. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/data_options.py +0 -0
  133. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/data_version.py +0 -0
  134. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/data_version_info.py +0 -0
  135. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/download_links.py +0 -0
  136. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/evaluation.py +0 -0
  137. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/evaluation_response.py +0 -0
  138. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/exception_detail.py +0 -0
  139. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/feature_size.py +0 -0
  140. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/log_level.py +0 -0
  141. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/model_create.py +0 -0
  142. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/model_read.py +0 -0
  143. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/model_status.py +0 -0
  144. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/model_update.py +0 -0
  145. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/target.py +0 -0
  146. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/models/target_type.py +0 -0
  147. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/py.typed +0 -0
  148. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/client/rest.py +0 -0
  149. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/main.py +0 -0
  150. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/hive/utils.py +0 -0
  151. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/__init__.py +0 -0
  152. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/__init__.py +0 -0
  153. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/__init__.py +0 -0
  154. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/admin_api.py +0 -0
  155. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/change_in_timeframe_api.py +0 -0
  156. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
  157. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
  158. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/status_api.py +0 -0
  159. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/symbols_api.py +0 -0
  160. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api/udf_api.py +0 -0
  161. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api_client.py +0 -0
  162. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/api_response.py +0 -0
  163. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/configuration.py +0 -0
  164. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/exceptions.py +0 -0
  165. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/__init__.py +0 -0
  166. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/api_error_identifier.py +0 -0
  167. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/api_error_level.py +0 -0
  168. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/api_error_type.py +0 -0
  169. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/change_in_timeframe.py +0 -0
  170. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/exception_detail.py +0 -0
  171. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/funding_rate.py +0 -0
  172. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/funding_rate_response.py +0 -0
  173. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/internal_exchange.py +0 -0
  174. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/log_level.py +0 -0
  175. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/market_type.py +0 -0
  176. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/ohlcv.py +0 -0
  177. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/resolution.py +0 -0
  178. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/search_symbol.py +0 -0
  179. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/sort_direction.py +0 -0
  180. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/symbol_group.py +0 -0
  181. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/symbol_info.py +0 -0
  182. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/symbol_type.py +0 -0
  183. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/timeframe.py +0 -0
  184. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/models/udf_config.py +0 -0
  185. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/py.typed +0 -0
  186. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/client/rest.py +0 -0
  187. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/klines/main.py +0 -0
  188. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/__init__.py +0 -0
  189. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/__init__.py +0 -0
  190. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/__init__.py +0 -0
  191. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/admin_api.py +0 -0
  192. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/exchanges_api.py +0 -0
  193. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/indicators_api.py +0 -0
  194. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/logs_api.py +0 -0
  195. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/marketcap_api.py +0 -0
  196. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/markets_api.py +0 -0
  197. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/quote_currencies_api.py +0 -0
  198. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/status_api.py +0 -0
  199. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api/tokens_api.py +0 -0
  200. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api_client.py +0 -0
  201. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/api_response.py +0 -0
  202. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/configuration.py +0 -0
  203. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/exceptions.py +0 -0
  204. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/__init__.py +0 -0
  205. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/api_error_identifier.py +0 -0
  206. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/api_error_level.py +0 -0
  207. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/api_error_type.py +0 -0
  208. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/exception_detail.py +0 -0
  209. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/exchange_availability.py +0 -0
  210. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/exchange_mapping.py +0 -0
  211. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/internal_exchange.py +0 -0
  212. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/log_level.py +0 -0
  213. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/market_type.py +0 -0
  214. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/marketcap_ranking.py +0 -0
  215. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/marketcap_symbol_ranking.py +0 -0
  216. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/ohlcv.py +0 -0
  217. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/severity.py +0 -0
  218. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/time_interval.py +0 -0
  219. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/models/trading_status.py +0 -0
  220. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/py.typed +0 -0
  221. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/client/rest.py +0 -0
  222. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/metrics/main.py +0 -0
  223. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/__init__.py +0 -0
  224. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/api/__init__.py +0 -0
  225. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/api/status_api.py +0 -0
  226. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/api_client.py +0 -0
  227. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/api_response.py +0 -0
  228. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/configuration.py +0 -0
  229. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/exceptions.py +0 -0
  230. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/log_level.py +0 -0
  231. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
  232. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
  233. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/payment.py +0 -0
  234. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/payment_status.py +0 -0
  235. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/product_update.py +0 -0
  236. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/models/provider.py +0 -0
  237. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/py.typed +0 -0
  238. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/client/rest.py +0 -0
  239. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/pay/main.py +0 -0
  240. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/__init__.py +0 -0
  241. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/__init__.py +0 -0
  242. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/__init__.py +0 -0
  243. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/admin_api.py +0 -0
  244. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/api_keys_api.py +0 -0
  245. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/bots_api.py +0 -0
  246. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/exchanges_api.py +0 -0
  247. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
  248. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/notifications_api.py +0 -0
  249. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/orders_api.py +0 -0
  250. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/status_api.py +0 -0
  251. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/strategies_api.py +0 -0
  252. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api/trading_actions_api.py +0 -0
  253. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api_client.py +0 -0
  254. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/api_response.py +0 -0
  255. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/configuration.py +0 -0
  256. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/exceptions.py +0 -0
  257. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/__init__.py +0 -0
  258. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/api_error_identifier.py +0 -0
  259. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/api_error_level.py +0 -0
  260. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/api_error_type.py +0 -0
  261. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/bot.py +0 -0
  262. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/bot_create.py +0 -0
  263. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/bot_status.py +0 -0
  264. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/bot_update.py +0 -0
  265. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/exception_detail.py +0 -0
  266. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/exchange.py +0 -0
  267. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/exchange_key.py +0 -0
  268. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/exchange_key_create.py +0 -0
  269. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/exchange_key_update.py +0 -0
  270. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/execution_ids.py +0 -0
  271. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/futures_balance.py +0 -0
  272. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
  273. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/futures_trading_action_create.py +0 -0
  274. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/log_level.py +0 -0
  275. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/margin_mode.py +0 -0
  276. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/market_type.py +0 -0
  277. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/notification.py +0 -0
  278. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/notification_create.py +0 -0
  279. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/notification_update.py +0 -0
  280. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/order.py +0 -0
  281. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/order_status.py +0 -0
  282. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/post_futures_action.py +0 -0
  283. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/spot_trading_action_create.py +0 -0
  284. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/strategy.py +0 -0
  285. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/strategy_create.py +0 -0
  286. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
  287. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/strategy_update.py +0 -0
  288. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/tpsl.py +0 -0
  289. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/models/trading_action_type.py +0 -0
  290. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/py.typed +0 -0
  291. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/client/rest.py +0 -0
  292. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn/trade/main.py +0 -0
  293. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn.egg-info/dependency_links.txt +0 -0
  294. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn.egg-info/entry_points.txt +0 -0
  295. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn.egg-info/requires.txt +0 -0
  296. {crypticorn-2.11.9 → crypticorn-2.12.0}/crypticorn.egg-info/top_level.txt +0 -0
  297. {crypticorn-2.11.9 → crypticorn-2.12.0}/requirements/dev.txt +0 -0
  298. {crypticorn-2.11.9 → crypticorn-2.12.0}/requirements/extra.txt +0 -0
  299. {crypticorn-2.11.9 → crypticorn-2.12.0}/requirements/main.txt +0 -0
  300. {crypticorn-2.11.9 → crypticorn-2.12.0}/requirements/test.txt +0 -0
  301. {crypticorn-2.11.9 → crypticorn-2.12.0}/setup.cfg +0 -0
  302. {crypticorn-2.11.9 → crypticorn-2.12.0}/static/favicon.svg +0 -0
  303. {crypticorn-2.11.9 → crypticorn-2.12.0}/static/logo.svg +0 -0
  304. {crypticorn-2.11.9 → crypticorn-2.12.0}/static/pip-structure.drawio +0 -0
  305. {crypticorn-2.11.9 → crypticorn-2.12.0}/static/pip-structure.svg +0 -0
  306. {crypticorn-2.11.9 → crypticorn-2.12.0}/tests/test_auth_client.py +0 -0
  307. {crypticorn-2.11.9 → crypticorn-2.12.0}/tests/test_config.py +0 -0
  308. {crypticorn-2.11.9 → crypticorn-2.12.0}/tests/test_enums.py +0 -0
  309. {crypticorn-2.11.9 → crypticorn-2.12.0}/tests/test_errors.py +0 -0
  310. {crypticorn-2.11.9 → crypticorn-2.12.0}/tests/test_pagination.py +0 -0
@@ -1,6 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v2.12.0 (2025-05-21)
5
+
6
+ ### Features
7
+
8
+ - Adding custom crypticorn exception for internal usage
9
+ ([`d63e166`](https://github.com/crypticorn-ai/api-client/commit/d63e16615b656128ac41ba921edf4d92aba1390f))
10
+
11
+
4
12
  ## v2.11.9 (2025-05-18)
5
13
 
6
14
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.11.9
3
+ Version: 2.12.0
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License-Expression: MIT
@@ -68,7 +68,7 @@ class ApiErrorIdentifier(StrEnum):
68
68
  LEVERAGE_EXCEEDED = "leverage_limit_exceeded"
69
69
  LIQUIDATION_PRICE_VIOLATION = "order_violates_liquidation_price_constraints"
70
70
  MARGIN_MODE_CLASH = "margin_mode_clash"
71
- MODEL_NAME_NOT_UNIQUE = "model_name_not_unique"
71
+ NAME_NOT_UNIQUE = "name_not_unique"
72
72
  NO_CREDENTIALS = "no_credentials"
73
73
  NOW_API_DOWN = "now_api_down"
74
74
  OBJECT_ALREADY_EXISTS = "object_already_exists"
@@ -333,8 +333,8 @@ class ApiError(Enum, metaclass=ApiErrorFallback):
333
333
  ApiErrorType.USER_ERROR,
334
334
  ApiErrorLevel.ERROR,
335
335
  )
336
- MODEL_NAME_NOT_UNIQUE = (
337
- ApiErrorIdentifier.MODEL_NAME_NOT_UNIQUE,
336
+ NAME_NOT_UNIQUE = (
337
+ ApiErrorIdentifier.NAME_NOT_UNIQUE,
338
338
  ApiErrorType.USER_ERROR,
339
339
  ApiErrorLevel.ERROR,
340
340
  )
@@ -623,7 +623,7 @@ class StatusCodeMapper:
623
623
  status.HTTP_409_CONFLICT,
624
624
  status.WS_1008_POLICY_VIOLATION,
625
625
  ),
626
- ApiError.MODEL_NAME_NOT_UNIQUE: (
626
+ ApiError.NAME_NOT_UNIQUE: (
627
627
  status.HTTP_409_CONFLICT,
628
628
  status.WS_1008_POLICY_VIOLATION,
629
629
  ),
@@ -154,3 +154,13 @@ def register_exception_handlers(app: FastAPI):
154
154
  exception_response = {
155
155
  "default": {"model": ExceptionDetail, "description": "Error response"}
156
156
  }
157
+
158
+ class CrypticornException(Exception):
159
+ """A custom exception class for Crypticorn."""
160
+
161
+ def __init__(self, error: ApiError, message: str = None):
162
+ self.message = message
163
+ self.error = error
164
+
165
+ def __str__(self):
166
+ return f"{self.error.identifier}: {self.message}"
@@ -37,6 +37,7 @@ from crypticorn.hive.client.exceptions import ApiException
37
37
  from crypticorn.hive.client.models.api_error_identifier import ApiErrorIdentifier
38
38
  from crypticorn.hive.client.models.api_error_level import ApiErrorLevel
39
39
  from crypticorn.hive.client.models.api_error_type import ApiErrorType
40
+ from crypticorn.hive.client.models.coin_info import CoinInfo
40
41
  from crypticorn.hive.client.models.coins import Coins
41
42
  from crypticorn.hive.client.models.data_download_response import DataDownloadResponse
42
43
  from crypticorn.hive.client.models.data_info import DataInfo
@@ -17,6 +17,7 @@ Do not edit the class manually.
17
17
  from crypticorn.hive.client.models.api_error_identifier import ApiErrorIdentifier
18
18
  from crypticorn.hive.client.models.api_error_level import ApiErrorLevel
19
19
  from crypticorn.hive.client.models.api_error_type import ApiErrorType
20
+ from crypticorn.hive.client.models.coin_info import CoinInfo
20
21
  from crypticorn.hive.client.models.coins import Coins
21
22
  from crypticorn.hive.client.models.data_download_response import DataDownloadResponse
22
23
  from crypticorn.hive.client.models.data_info import DataInfo
@@ -73,12 +73,14 @@ class ApiErrorIdentifier(str, Enum):
73
73
  ORDER_VIOLATES_LIQUIDATION_PRICE_CONSTRAINTS = (
74
74
  "order_violates_liquidation_price_constraints"
75
75
  )
76
+ MARGIN_MODE_CLASH = "margin_mode_clash"
76
77
  MODEL_NAME_NOT_UNIQUE = "model_name_not_unique"
77
78
  NO_CREDENTIALS = "no_credentials"
78
79
  NOW_API_DOWN = "now_api_down"
79
80
  OBJECT_ALREADY_EXISTS = "object_already_exists"
80
81
  OBJECT_CREATED = "object_created"
81
82
  OBJECT_DELETED = "object_deleted"
83
+ OBJECT_LOCKED = "object_locked"
82
84
  OBJECT_NOT_FOUND = "object_not_found"
83
85
  OBJECT_UPDATED = "object_updated"
84
86
  ORDER_IS_ALREADY_FILLED = "order_is_already_filled"
@@ -0,0 +1,106 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Hive AI API
5
+
6
+ API for Hive AI model training and evaluation
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from crypticorn.hive.client.models.coins import Coins
23
+ from crypticorn.hive.client.models.data_version import DataVersion
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+
28
+ class CoinInfo(BaseModel):
29
+ """
30
+ Information about a coin
31
+ """ # noqa: E501
32
+
33
+ identifier: Coins = Field(
34
+ description="The identifier of the coin. Obfuscated for public use."
35
+ )
36
+ version_added: DataVersion = Field(
37
+ description="The data version the coin got introduced in"
38
+ )
39
+ version_removed: Optional[DataVersion] = None
40
+ __properties: ClassVar[List[str]] = [
41
+ "identifier",
42
+ "version_added",
43
+ "version_removed",
44
+ ]
45
+
46
+ model_config = ConfigDict(
47
+ populate_by_name=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of CoinInfo from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ # set to None if version_removed (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.version_removed is None and "version_removed" in self.model_fields_set:
86
+ _dict["version_removed"] = None
87
+
88
+ return _dict
89
+
90
+ @classmethod
91
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
92
+ """Create an instance of CoinInfo from a dict"""
93
+ if obj is None:
94
+ return None
95
+
96
+ if not isinstance(obj, dict):
97
+ return cls.model_validate(obj)
98
+
99
+ _obj = cls.model_validate(
100
+ {
101
+ "identifier": obj.get("identifier"),
102
+ "version_added": obj.get("version_added"),
103
+ "version_removed": obj.get("version_removed"),
104
+ }
105
+ )
106
+ return _obj
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
21
  from typing import Any, ClassVar, Dict, List
22
- from crypticorn.hive.client.models.coins import Coins
22
+ from crypticorn.hive.client.models.coin_info import CoinInfo
23
23
  from crypticorn.hive.client.models.data_options import DataOptions
24
24
  from crypticorn.hive.client.models.data_version_info import DataVersionInfo
25
25
  from crypticorn.hive.client.models.feature_size import FeatureSize
@@ -36,14 +36,14 @@ class DataInfo(BaseModel):
36
36
  data: Dict[str, Dict[str, DataOptions]] = Field(
37
37
  description="The complete data information for all versions, coins, feature sizes and targets."
38
38
  )
39
- coins: List[Coins] = Field(
40
- description="The coins available on the latest data version."
39
+ coins: List[CoinInfo] = Field(
40
+ description="The coins available for all data versions."
41
41
  )
42
42
  feature_sizes: List[FeatureSize] = Field(
43
- description="The feature sizes available on the latest data version."
43
+ description="The feature sizes available for all data versions."
44
44
  )
45
45
  targets: List[TargetInfo] = Field(
46
- description="The targets available on the latest data version."
46
+ description="The targets available for all data versions."
47
47
  )
48
48
  all_versions: List[DataVersionInfo] = Field(
49
49
  description="All ever existing data versions. Some may not be publicly available yet."
@@ -104,6 +104,13 @@ class DataInfo(BaseModel):
104
104
  if self.data[_key_data]:
105
105
  _field_dict[_key_data] = self.data[_key_data].to_dict()
106
106
  _dict["data"] = _field_dict
107
+ # override the default output from pydantic by calling `to_dict()` of each item in coins (list)
108
+ _items = []
109
+ if self.coins:
110
+ for _item_coins in self.coins:
111
+ if _item_coins:
112
+ _items.append(_item_coins.to_dict())
113
+ _dict["coins"] = _items
107
114
  # override the default output from pydantic by calling `to_dict()` of each item in targets (list)
108
115
  _items = []
109
116
  if self.targets:
@@ -156,7 +163,11 @@ class DataInfo(BaseModel):
156
163
  if obj.get("data") is not None
157
164
  else None
158
165
  ),
159
- "coins": obj.get("coins"),
166
+ "coins": (
167
+ [CoinInfo.from_dict(_item) for _item in obj["coins"]]
168
+ if obj.get("coins") is not None
169
+ else None
170
+ ),
160
171
  "feature_sizes": obj.get("feature_sizes"),
161
172
  "targets": (
162
173
  [TargetInfo.from_dict(_item) for _item in obj["targets"]]
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from crypticorn.hive.client.models.data_version import DataVersion
23
23
  from crypticorn.hive.client.models.target import Target
24
24
  from crypticorn.hive.client.models.target_type import TargetType
@@ -31,10 +31,18 @@ class TargetInfo(BaseModel):
31
31
  Information about a target
32
32
  """ # noqa: E501
33
33
 
34
- name: Target = Field(description="Target name")
35
- type: TargetType = Field(description="Target type")
36
- version: DataVersion = Field(description="Data version")
37
- __properties: ClassVar[List[str]] = ["name", "type", "version"]
34
+ name: Target = Field(description="The name of the target.")
35
+ type: TargetType = Field(description="The type of the target.")
36
+ version_added: DataVersion = Field(
37
+ description="The data version the target got introduced in."
38
+ )
39
+ version_removed: Optional[DataVersion] = None
40
+ __properties: ClassVar[List[str]] = [
41
+ "name",
42
+ "type",
43
+ "version_added",
44
+ "version_removed",
45
+ ]
38
46
 
39
47
  model_config = ConfigDict(
40
48
  populate_by_name=True,
@@ -73,6 +81,11 @@ class TargetInfo(BaseModel):
73
81
  exclude=excluded_fields,
74
82
  exclude_none=True,
75
83
  )
84
+ # set to None if version_removed (nullable) is None
85
+ # and model_fields_set contains the field
86
+ if self.version_removed is None and "version_removed" in self.model_fields_set:
87
+ _dict["version_removed"] = None
88
+
76
89
  return _dict
77
90
 
78
91
  @classmethod
@@ -88,7 +101,8 @@ class TargetInfo(BaseModel):
88
101
  {
89
102
  "name": obj.get("name"),
90
103
  "type": obj.get("type"),
91
- "version": obj.get("version"),
104
+ "version_added": obj.get("version_added"),
105
+ "version_removed": obj.get("version_removed"),
92
106
  }
93
107
  )
94
108
  return _obj
@@ -35,16 +35,18 @@ from crypticorn.pay.client.exceptions import ApiAttributeError
35
35
  from crypticorn.pay.client.exceptions import ApiException
36
36
 
37
37
  # import models into sdk package
38
+ from crypticorn.pay.client.models.api_error_identifier import ApiErrorIdentifier
39
+ from crypticorn.pay.client.models.api_error_level import ApiErrorLevel
40
+ from crypticorn.pay.client.models.api_error_type import ApiErrorType
38
41
  from crypticorn.pay.client.models.exception_detail import ExceptionDetail
39
42
  from crypticorn.pay.client.models.log_level import LogLevel
40
43
  from crypticorn.pay.client.models.now_create_invoice_req import NowCreateInvoiceReq
41
44
  from crypticorn.pay.client.models.now_create_invoice_res import NowCreateInvoiceRes
42
45
  from crypticorn.pay.client.models.payment import Payment
43
46
  from crypticorn.pay.client.models.payment_status import PaymentStatus
47
+ from crypticorn.pay.client.models.product import Product
44
48
  from crypticorn.pay.client.models.product_create import ProductCreate
45
- from crypticorn.pay.client.models.product_read import ProductRead
46
- from crypticorn.pay.client.models.product_sub_read import ProductSubRead
47
49
  from crypticorn.pay.client.models.product_update import ProductUpdate
48
50
  from crypticorn.pay.client.models.provider import Provider
49
- from crypticorn.pay.client.models.response_getuptime import ResponseGetuptime
50
51
  from crypticorn.pay.client.models.scope import Scope
52
+ from crypticorn.pay.client.models.subscription import Subscription