crypticorn 2.8.0rc6__tar.gz → 2.8.0rc7__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.
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/CHANGELOG.md +8 -0
- {crypticorn-2.8.0rc6/crypticorn.egg-info → crypticorn-2.8.0rc7}/PKG-INFO +3 -3
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/README.md +2 -2
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/client.py +1 -1
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/mixins.py +3 -2
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/__init__.py +4 -4
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api/admin_api.py +5 -6
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/__init__.py +4 -4
- crypticorn-2.8.0rc7/crypticorn/hive/client/models/api_error_identifier.py +115 -0
- crypticorn-2.8.0rc7/crypticorn/hive/client/models/api_error_level.py +37 -0
- crypticorn-2.8.0rc7/crypticorn/hive/client/models/api_error_type.py +37 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/data_info.py +27 -5
- crypticorn-2.8.0rc7/crypticorn/hive/client/models/data_options.py +92 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/exception_detail.py +6 -3
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/model.py +3 -3
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/main.py +20 -2
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/main.py +1 -1
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7/crypticorn.egg-info}/PKG-INFO +3 -3
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn.egg-info/SOURCES.txt +4 -2
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/pyproject.toml +1 -1
- crypticorn-2.8.0rc6/crypticorn/hive/client/models/data_value_value_value_inner.py +0 -154
- crypticorn-2.8.0rc6/crypticorn/hive/client/models/response_getuptime.py +0 -159
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/MANIFEST.in +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/admin_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/auth_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/service_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/user_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api/wallet_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/create_user_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/logout_default_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/token_info200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/update_user_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/user_by_username200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify_email_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/models/whoami200_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/auth/main.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/__main__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/init.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/templates/Dockerfile +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/templates/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/templates/auth.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/templates/dependabot.yml +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/cli/templates/ruff.yml +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/ansi_colors.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/auth.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/decorators.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/enums.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/errors.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/logging.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/middleware.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/pagination.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/router/admin_router.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/router/status_router.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/scopes.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/urls.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/common/utils.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api/data_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api/models_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api/status_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/coins.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/data_download_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/data_version.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/data_version_info.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/download_links.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/evaluation.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/evaluation_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/feature_size.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/log_level.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/model_create.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/model_status.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/model_update.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/target.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/target_info.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/target_type.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/utils.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/change_in_timeframe_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/status_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/symbols_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api/udf_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/change_in_timeframe.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/exception_detail.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/funding_rate.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/ohlcv_history.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/resolution.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/search_symbol.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/sort_direction.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/symbol_group.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/symbol_info.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/symbol_type.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/timeframe.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/models/udf_config.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/klines/main.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/exchanges_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/indicators_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/logs_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/marketcap_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/markets_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/status_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api/tokens_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/models/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/models/exception_detail.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/models/severity.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/models/time_interval.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/models/trading_status.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/metrics/main.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/admin_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/now_payments_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/payments_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/products_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api/status_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/exception_detail.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/log_level.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/payment.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/payment_status.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/product_create.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/product_read.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/product_sub_read.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/product_update.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/provider.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/response_getuptime.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/models/scope.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/pay/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/api_keys_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/bots_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/exchanges_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/notifications_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/orders_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/status_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/strategies_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api/trading_actions_api.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/api_response.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/configuration.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/exceptions.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/__init__.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/action_model.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/bot_model.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/bot_status.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/exception_detail.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/exchange_key_model.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/execution_ids.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/futures_balance.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/margin_mode.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/notification_model.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/order_model.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/order_status.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/post_futures_action.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/spot_trading_action.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/strategy_model_input.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/strategy_model_output.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/tpsl.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/models/trading_action_type.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/py.typed +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/client/rest.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/trade/main.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn.egg-info/dependency_links.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn.egg-info/entry_points.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn.egg-info/requires.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn.egg-info/top_level.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/requirements/dev.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/requirements/extra.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/requirements/main.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/requirements/test.txt +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/setup.cfg +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/tests/test_auth_client.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/tests/test_config.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/tests/test_enums.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/tests/test_errors.py +0 -0
- {crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/tests/test_pagination.py +0 -0
@@ -1,6 +1,14 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## v2.8.0-rc.7 (2025-05-07)
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
- Pass args to the override function in hive data download
|
9
|
+
([`7bb3e29`](https://github.com/crypticorn-ai/api-client/commit/7bb3e2997f79da8e4e55b42a1a699a75fe1f985f))
|
10
|
+
|
11
|
+
|
4
12
|
## v2.8.0-rc.6 (2025-05-07)
|
5
13
|
|
6
14
|
### Bug Fixes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crypticorn
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.0rc7
|
4
4
|
Summary: Maximise Your Crypto Trading Profits with Machine Learning
|
5
5
|
Author-email: Crypticorn <timon@crypticorn.com>
|
6
6
|
License: MIT
|
@@ -84,7 +84,7 @@ The ApiClient serves as the central interface for API operations. It instantiate
|
|
84
84
|
|
85
85
|
<img src="../static/pip-structure.svg" alt="pip package structure" />
|
86
86
|
|
87
|
-
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.
|
87
|
+
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.com/api).
|
88
88
|
|
89
89
|
Request and response models for API operations should be accessed through the sub package you are using for an operation. All symbols are re-exported at the sub package level for convenience.
|
90
90
|
|
@@ -180,7 +180,7 @@ Some API operations allow to get the returned data formatted as a pandas Datafra
|
|
180
180
|
|
181
181
|
### Data Downloads
|
182
182
|
This utility allows direct data streaming to your local disk, instead of only returning download links. It is being used in the following functions:
|
183
|
-
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.
|
183
|
+
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.com/api/?api=hive-ai-api#tag/data/GET/data))
|
184
184
|
|
185
185
|
## Advanced Usage
|
186
186
|
|
@@ -31,7 +31,7 @@ The ApiClient serves as the central interface for API operations. It instantiate
|
|
31
31
|
|
32
32
|
<img src="../static/pip-structure.svg" alt="pip package structure" />
|
33
33
|
|
34
|
-
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.
|
34
|
+
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.com/api).
|
35
35
|
|
36
36
|
Request and response models for API operations should be accessed through the sub package you are using for an operation. All symbols are re-exported at the sub package level for convenience.
|
37
37
|
|
@@ -127,7 +127,7 @@ Some API operations allow to get the returned data formatted as a pandas Datafra
|
|
127
127
|
|
128
128
|
### Data Downloads
|
129
129
|
This utility allows direct data streaming to your local disk, instead of only returning download links. It is being used in the following functions:
|
130
|
-
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.
|
130
|
+
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.com/api/?api=hive-ai-api#tag/data/GET/data))
|
131
131
|
|
132
132
|
## Advanced Usage
|
133
133
|
|
@@ -32,14 +32,15 @@ class ValidateEnumMixin:
|
|
32
32
|
except ValueError:
|
33
33
|
return False
|
34
34
|
|
35
|
-
|
35
|
+
|
36
|
+
# This Mixin will be removed in a future version. And has no effect from now on
|
36
37
|
class ExcludeEnumMixin:
|
37
38
|
"""Mixin to exclude enum from OpenAPI schema. We use this to avoid duplicating enums when generating client code from the openapi spec."""
|
38
39
|
|
39
40
|
@classmethod
|
40
41
|
def __get_pydantic_json_schema__(cls, core_schema, handler):
|
41
42
|
schema = handler(core_schema)
|
42
|
-
#schema.pop("enum", None)
|
43
|
+
# schema.pop("enum", None)
|
43
44
|
return schema
|
44
45
|
|
45
46
|
|
@@ -34,12 +34,13 @@ from crypticorn.hive.client.exceptions import ApiAttributeError
|
|
34
34
|
from crypticorn.hive.client.exceptions import ApiException
|
35
35
|
|
36
36
|
# import models into sdk package
|
37
|
+
from crypticorn.hive.client.models.api_error_identifier import ApiErrorIdentifier
|
38
|
+
from crypticorn.hive.client.models.api_error_level import ApiErrorLevel
|
39
|
+
from crypticorn.hive.client.models.api_error_type import ApiErrorType
|
37
40
|
from crypticorn.hive.client.models.coins import Coins
|
38
41
|
from crypticorn.hive.client.models.data_download_response import DataDownloadResponse
|
39
42
|
from crypticorn.hive.client.models.data_info import DataInfo
|
40
|
-
from crypticorn.hive.client.models.
|
41
|
-
DataValueValueValueInner,
|
42
|
-
)
|
43
|
+
from crypticorn.hive.client.models.data_options import DataOptions
|
43
44
|
from crypticorn.hive.client.models.data_version import DataVersion
|
44
45
|
from crypticorn.hive.client.models.data_version_info import DataVersionInfo
|
45
46
|
from crypticorn.hive.client.models.download_links import DownloadLinks
|
@@ -52,7 +53,6 @@ from crypticorn.hive.client.models.model import Model
|
|
52
53
|
from crypticorn.hive.client.models.model_create import ModelCreate
|
53
54
|
from crypticorn.hive.client.models.model_status import ModelStatus
|
54
55
|
from crypticorn.hive.client.models.model_update import ModelUpdate
|
55
|
-
from crypticorn.hive.client.models.response_getuptime import ResponseGetuptime
|
56
56
|
from crypticorn.hive.client.models.target import Target
|
57
57
|
from crypticorn.hive.client.models.target_info import TargetInfo
|
58
58
|
from crypticorn.hive.client.models.target_type import TargetType
|
@@ -20,7 +20,6 @@ from pydantic import Field, StrictInt, StrictStr, field_validator
|
|
20
20
|
from typing import Any, Dict, List, Optional
|
21
21
|
from typing_extensions import Annotated
|
22
22
|
from crypticorn.hive.client.models.log_level import LogLevel
|
23
|
-
from crypticorn.hive.client.models.response_getuptime import ResponseGetuptime
|
24
23
|
|
25
24
|
from crypticorn.hive.client.api_client import ApiClient, RequestSerialized
|
26
25
|
from crypticorn.hive.client.api_response import ApiResponse
|
@@ -1223,7 +1222,7 @@ class AdminApi:
|
|
1223
1222
|
_content_type: Optional[StrictStr] = None,
|
1224
1223
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
1225
1224
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
1226
|
-
) ->
|
1225
|
+
) -> str:
|
1227
1226
|
"""Get Uptime
|
1228
1227
|
|
1229
1228
|
Return the server uptime in seconds or human-readable form.
|
@@ -1261,7 +1260,7 @@ class AdminApi:
|
|
1261
1260
|
)
|
1262
1261
|
|
1263
1262
|
_response_types_map: Dict[str, Optional[str]] = {
|
1264
|
-
"200": "
|
1263
|
+
"200": "str",
|
1265
1264
|
}
|
1266
1265
|
response_data = await self.api_client.call_api(
|
1267
1266
|
*_param, _request_timeout=_request_timeout
|
@@ -1287,7 +1286,7 @@ class AdminApi:
|
|
1287
1286
|
_content_type: Optional[StrictStr] = None,
|
1288
1287
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
1289
1288
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
1290
|
-
) -> ApiResponse[
|
1289
|
+
) -> ApiResponse[str]:
|
1291
1290
|
"""Get Uptime
|
1292
1291
|
|
1293
1292
|
Return the server uptime in seconds or human-readable form.
|
@@ -1325,7 +1324,7 @@ class AdminApi:
|
|
1325
1324
|
)
|
1326
1325
|
|
1327
1326
|
_response_types_map: Dict[str, Optional[str]] = {
|
1328
|
-
"200": "
|
1327
|
+
"200": "str",
|
1329
1328
|
}
|
1330
1329
|
response_data = await self.api_client.call_api(
|
1331
1330
|
*_param, _request_timeout=_request_timeout
|
@@ -1389,7 +1388,7 @@ class AdminApi:
|
|
1389
1388
|
)
|
1390
1389
|
|
1391
1390
|
_response_types_map: Dict[str, Optional[str]] = {
|
1392
|
-
"200": "
|
1391
|
+
"200": "str",
|
1393
1392
|
}
|
1394
1393
|
response_data = await self.api_client.call_api(
|
1395
1394
|
*_param, _request_timeout=_request_timeout
|
@@ -14,12 +14,13 @@ Do not edit the class manually.
|
|
14
14
|
|
15
15
|
|
16
16
|
# import models into model package
|
17
|
+
from crypticorn.hive.client.models.api_error_identifier import ApiErrorIdentifier
|
18
|
+
from crypticorn.hive.client.models.api_error_level import ApiErrorLevel
|
19
|
+
from crypticorn.hive.client.models.api_error_type import ApiErrorType
|
17
20
|
from crypticorn.hive.client.models.coins import Coins
|
18
21
|
from crypticorn.hive.client.models.data_download_response import DataDownloadResponse
|
19
22
|
from crypticorn.hive.client.models.data_info import DataInfo
|
20
|
-
from crypticorn.hive.client.models.
|
21
|
-
DataValueValueValueInner,
|
22
|
-
)
|
23
|
+
from crypticorn.hive.client.models.data_options import DataOptions
|
23
24
|
from crypticorn.hive.client.models.data_version import DataVersion
|
24
25
|
from crypticorn.hive.client.models.data_version_info import DataVersionInfo
|
25
26
|
from crypticorn.hive.client.models.download_links import DownloadLinks
|
@@ -32,7 +33,6 @@ from crypticorn.hive.client.models.model import Model
|
|
32
33
|
from crypticorn.hive.client.models.model_create import ModelCreate
|
33
34
|
from crypticorn.hive.client.models.model_status import ModelStatus
|
34
35
|
from crypticorn.hive.client.models.model_update import ModelUpdate
|
35
|
-
from crypticorn.hive.client.models.response_getuptime import ResponseGetuptime
|
36
36
|
from crypticorn.hive.client.models.target import Target
|
37
37
|
from crypticorn.hive.client.models.target_info import TargetInfo
|
38
38
|
from crypticorn.hive.client.models.target_type import TargetType
|
@@ -0,0 +1,115 @@
|
|
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 json
|
17
|
+
from enum import Enum
|
18
|
+
from typing_extensions import Self
|
19
|
+
|
20
|
+
|
21
|
+
class ApiErrorIdentifier(str, Enum):
|
22
|
+
"""
|
23
|
+
API error identifiers
|
24
|
+
"""
|
25
|
+
|
26
|
+
"""
|
27
|
+
allowed enum values
|
28
|
+
"""
|
29
|
+
ALLOCATION_BELOW_CURRENT_EXPOSURE = "allocation_below_current_exposure"
|
30
|
+
ALLOCATION_BELOW_MIN_AMOUNT = "allocation_below_min_amount"
|
31
|
+
BLACK_SWAN = "black_swan"
|
32
|
+
BOT_ALREADY_DELETED = "bot_already_deleted"
|
33
|
+
BOT_DISABLED = "bot_disabled"
|
34
|
+
BOT_STOPPING_COMPLETED = "bot_stopping_completed"
|
35
|
+
BOT_STOPPING_STARTED = "bot_stopping_started"
|
36
|
+
CLIENT_ORDER_ID_ALREADY_EXISTS = "client_order_id_already_exists"
|
37
|
+
INVALID_CONTENT_TYPE = "invalid_content_type"
|
38
|
+
DELETE_BOT_ERROR = "delete_bot_error"
|
39
|
+
EXCHANGE_INVALID_SIGNATURE = "exchange_invalid_signature"
|
40
|
+
EXCHANGE_INVALID_TIMESTAMP = "exchange_invalid_timestamp"
|
41
|
+
EXCHANGE_IP_ADDRESS_IS_NOT_AUTHORIZED = "exchange_ip_address_is_not_authorized"
|
42
|
+
EXCHANGE_KEY_ALREADY_EXISTS = "exchange_key_already_exists"
|
43
|
+
EXCHANGE_KEY_IN_USE = "exchange_key_in_use"
|
44
|
+
EXCHANGE_SYSTEM_UNDER_MAINTENANCE = "exchange_system_under_maintenance"
|
45
|
+
EXCHANGE_RATE_LIMIT_EXCEEDED = "exchange_rate_limit_exceeded"
|
46
|
+
INSUFFICIENT_PERMISSIONS_SPOT_AND_FUTURES_REQUIRED = (
|
47
|
+
"insufficient_permissions_spot_and_futures_required"
|
48
|
+
)
|
49
|
+
EXCHANGE_SERVICE_TEMPORARILY_UNAVAILABLE = (
|
50
|
+
"exchange_service_temporarily_unavailable"
|
51
|
+
)
|
52
|
+
EXCHANGE_SYSTEM_IS_BUSY = "exchange_system_is_busy"
|
53
|
+
EXCHANGE_SYSTEM_CONFIGURATION_ERROR = "exchange_system_configuration_error"
|
54
|
+
EXCHANGE_INTERNAL_SYSTEM_ERROR = "exchange_internal_system_error"
|
55
|
+
EXCHANGE_USER_ACCOUNT_IS_FROZEN = "exchange_user_account_is_frozen"
|
56
|
+
API_KEY_EXPIRED = "api_key_expired"
|
57
|
+
BEARER_TOKEN_EXPIRED = "bearer_token_expired"
|
58
|
+
FORBIDDEN = "forbidden"
|
59
|
+
HEDGE_MODE_NOT_ACTIVE = "hedge_mode_not_active"
|
60
|
+
HTTP_REQUEST_ERROR = "http_request_error"
|
61
|
+
INSUFFICIENT_BALANCE = "insufficient_balance"
|
62
|
+
INSUFFICIENT_MARGIN = "insufficient_margin"
|
63
|
+
INSUFFICIENT_SCOPES = "insufficient_scopes"
|
64
|
+
INVALID_API_KEY = "invalid_api_key"
|
65
|
+
INVALID_BEARER = "invalid_bearer"
|
66
|
+
INVALID_DATA = "invalid_data"
|
67
|
+
INVALID_DATA_RESPONSE = "invalid_data_response"
|
68
|
+
INVALID_EXCHANGE_KEY = "invalid_exchange_key"
|
69
|
+
INVALID_MARGIN_MODE = "invalid_margin_mode"
|
70
|
+
INVALID_MODEL_NAME = "invalid_model_name"
|
71
|
+
INVALID_PARAMETER_PROVIDED = "invalid_parameter_provided"
|
72
|
+
LEVERAGE_LIMIT_EXCEEDED = "leverage_limit_exceeded"
|
73
|
+
ORDER_VIOLATES_LIQUIDATION_PRICE_CONSTRAINTS = (
|
74
|
+
"order_violates_liquidation_price_constraints"
|
75
|
+
)
|
76
|
+
MODEL_NAME_NOT_UNIQUE = "model_name_not_unique"
|
77
|
+
NO_CREDENTIALS = "no_credentials"
|
78
|
+
NOW_API_DOWN = "now_api_down"
|
79
|
+
OBJECT_ALREADY_EXISTS = "object_already_exists"
|
80
|
+
OBJECT_CREATED = "object_created"
|
81
|
+
OBJECT_DELETED = "object_deleted"
|
82
|
+
OBJECT_NOT_FOUND = "object_not_found"
|
83
|
+
OBJECT_UPDATED = "object_updated"
|
84
|
+
ORDER_IS_ALREADY_FILLED = "order_is_already_filled"
|
85
|
+
ORDER_IS_BEING_PROCESSED = "order_is_being_processed"
|
86
|
+
ORDER_QUANTITY_LIMIT_EXCEEDED = "order_quantity_limit_exceeded"
|
87
|
+
ORDER_DOES_NOT_EXIST = "order_does_not_exist"
|
88
|
+
ORDER_PRICE_IS_INVALID = "order_price_is_invalid"
|
89
|
+
ORDER_SIZE_TOO_LARGE = "order_size_too_large"
|
90
|
+
ORDER_SIZE_TOO_SMALL = "order_size_too_small"
|
91
|
+
POSITION_LIMIT_EXCEEDED = "position_limit_exceeded"
|
92
|
+
POSITION_DOES_NOT_EXIST = "position_does_not_exist"
|
93
|
+
POSITION_OPENING_TEMPORARILY_SUSPENDED = "position_opening_temporarily_suspended"
|
94
|
+
POST_ONLY_ORDER_WOULD_IMMEDIATELY_MATCH = "post_only_order_would_immediately_match"
|
95
|
+
REQUEST_SCOPE_LIMIT_EXCEEDED = "request_scope_limit_exceeded"
|
96
|
+
RISK_LIMIT_EXCEEDED = "risk_limit_exceeded"
|
97
|
+
RPC_TIMEOUT = "rpc_timeout"
|
98
|
+
SYSTEM_SETTLEMENT_IN_PROCESS = "system_settlement_in_process"
|
99
|
+
STRATEGY_ALREADY_EXISTS = "strategy_already_exists"
|
100
|
+
STRATEGY_DISABLED = "strategy_disabled"
|
101
|
+
STRATEGY_LEVERAGE_MISMATCH = "strategy_leverage_mismatch"
|
102
|
+
STRATEGY_NOT_SUPPORTING_EXCHANGE = "strategy_not_supporting_exchange"
|
103
|
+
SUCCESS = "success"
|
104
|
+
SYMBOL_DOES_NOT_EXIST = "symbol_does_not_exist"
|
105
|
+
TRADING_ACTION_EXPIRED = "trading_action_expired"
|
106
|
+
TRADING_ACTION_SKIPPED = "trading_action_skipped"
|
107
|
+
TRADING_HAS_BEEN_LOCKED = "trading_has_been_locked"
|
108
|
+
TRADING_IS_SUSPENDED = "trading_is_suspended"
|
109
|
+
UNKNOWN_ERROR_OCCURRED = "unknown_error_occurred"
|
110
|
+
REQUESTED_RESOURCE_NOT_FOUND = "requested_resource_not_found"
|
111
|
+
|
112
|
+
@classmethod
|
113
|
+
def from_json(cls, json_str: str) -> Self:
|
114
|
+
"""Create an instance of ApiErrorIdentifier from a JSON string"""
|
115
|
+
return cls(json.loads(json_str))
|
@@ -0,0 +1,37 @@
|
|
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 json
|
17
|
+
from enum import Enum
|
18
|
+
from typing_extensions import Self
|
19
|
+
|
20
|
+
|
21
|
+
class ApiErrorLevel(str, Enum):
|
22
|
+
"""
|
23
|
+
API error levels
|
24
|
+
"""
|
25
|
+
|
26
|
+
"""
|
27
|
+
allowed enum values
|
28
|
+
"""
|
29
|
+
ERROR = "error"
|
30
|
+
INFO = "info"
|
31
|
+
SUCCESS = "success"
|
32
|
+
WARNING = "warning"
|
33
|
+
|
34
|
+
@classmethod
|
35
|
+
def from_json(cls, json_str: str) -> Self:
|
36
|
+
"""Create an instance of ApiErrorLevel from a JSON string"""
|
37
|
+
return cls(json.loads(json_str))
|
@@ -0,0 +1,37 @@
|
|
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 json
|
17
|
+
from enum import Enum
|
18
|
+
from typing_extensions import Self
|
19
|
+
|
20
|
+
|
21
|
+
class ApiErrorType(str, Enum):
|
22
|
+
"""
|
23
|
+
Type of API error
|
24
|
+
"""
|
25
|
+
|
26
|
+
"""
|
27
|
+
allowed enum values
|
28
|
+
"""
|
29
|
+
USER_ERROR = "user error"
|
30
|
+
EXCHANGE_ERROR = "exchange error"
|
31
|
+
SERVER_ERROR = "server error"
|
32
|
+
NO_ERROR = "no error"
|
33
|
+
|
34
|
+
@classmethod
|
35
|
+
def from_json(cls, json_str: str) -> Self:
|
36
|
+
"""Create an instance of ApiErrorType from a JSON string"""
|
37
|
+
return cls(json.loads(json_str))
|
@@ -20,9 +20,7 @@ import json
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
22
22
|
from crypticorn.hive.client.models.coins import Coins
|
23
|
-
from crypticorn.hive.client.models.
|
24
|
-
DataValueValueValueInner,
|
25
|
-
)
|
23
|
+
from crypticorn.hive.client.models.data_options import DataOptions
|
26
24
|
from crypticorn.hive.client.models.data_version_info import DataVersionInfo
|
27
25
|
from crypticorn.hive.client.models.feature_size import FeatureSize
|
28
26
|
from crypticorn.hive.client.models.target_info import TargetInfo
|
@@ -35,7 +33,7 @@ class DataInfo(BaseModel):
|
|
35
33
|
The complete data information for all versions, coins, feature sizes and targets
|
36
34
|
""" # noqa: E501
|
37
35
|
|
38
|
-
data: Dict[str, Dict[str,
|
36
|
+
data: Dict[str, Dict[str, DataOptions]] = Field(
|
39
37
|
description="The complete data information for all versions, coins, feature sizes and targets."
|
40
38
|
)
|
41
39
|
coins: List[Coins] = Field(
|
@@ -99,6 +97,13 @@ class DataInfo(BaseModel):
|
|
99
97
|
exclude=excluded_fields,
|
100
98
|
exclude_none=True,
|
101
99
|
)
|
100
|
+
# override the default output from pydantic by calling `to_dict()` of each value in data (dict)
|
101
|
+
_field_dict = {}
|
102
|
+
if self.data:
|
103
|
+
for _key_data in self.data:
|
104
|
+
if self.data[_key_data]:
|
105
|
+
_field_dict[_key_data] = self.data[_key_data].to_dict()
|
106
|
+
_dict["data"] = _field_dict
|
102
107
|
# override the default output from pydantic by calling `to_dict()` of each item in targets (list)
|
103
108
|
_items = []
|
104
109
|
if self.targets:
|
@@ -133,7 +138,24 @@ class DataInfo(BaseModel):
|
|
133
138
|
|
134
139
|
_obj = cls.model_validate(
|
135
140
|
{
|
136
|
-
"data":
|
141
|
+
"data": (
|
142
|
+
dict(
|
143
|
+
(
|
144
|
+
_k,
|
145
|
+
(
|
146
|
+
dict(
|
147
|
+
(_ik, DataOptions.from_dict(_iv))
|
148
|
+
for _ik, _iv in _v.items()
|
149
|
+
)
|
150
|
+
if _v is not None
|
151
|
+
else None
|
152
|
+
),
|
153
|
+
)
|
154
|
+
for _k, _v in obj.get("data").items()
|
155
|
+
)
|
156
|
+
if obj.get("data") is not None
|
157
|
+
else None
|
158
|
+
),
|
137
159
|
"coins": obj.get("coins"),
|
138
160
|
"feature_sizes": obj.get("feature_sizes"),
|
139
161
|
"targets": (
|
@@ -0,0 +1,92 @@
|
|
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
|
22
|
+
from crypticorn.hive.client.models.feature_size import FeatureSize
|
23
|
+
from crypticorn.hive.client.models.target import Target
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
|
28
|
+
class DataOptions(BaseModel):
|
29
|
+
"""
|
30
|
+
DataOptions
|
31
|
+
""" # noqa: E501
|
32
|
+
|
33
|
+
targets: List[Target] = Field(
|
34
|
+
description="The targets available on the latest data version."
|
35
|
+
)
|
36
|
+
feature_sizes: List[FeatureSize] = Field(
|
37
|
+
description="The feature sizes available on the latest data version."
|
38
|
+
)
|
39
|
+
__properties: ClassVar[List[str]] = ["targets", "feature_sizes"]
|
40
|
+
|
41
|
+
model_config = ConfigDict(
|
42
|
+
populate_by_name=True,
|
43
|
+
validate_assignment=True,
|
44
|
+
protected_namespaces=(),
|
45
|
+
)
|
46
|
+
|
47
|
+
def to_str(self) -> str:
|
48
|
+
"""Returns the string representation of the model using alias"""
|
49
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
50
|
+
|
51
|
+
def to_json(self) -> str:
|
52
|
+
"""Returns the JSON representation of the model using alias"""
|
53
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
54
|
+
return json.dumps(self.to_dict())
|
55
|
+
|
56
|
+
@classmethod
|
57
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
58
|
+
"""Create an instance of DataOptions from a JSON string"""
|
59
|
+
return cls.from_dict(json.loads(json_str))
|
60
|
+
|
61
|
+
def to_dict(self) -> Dict[str, Any]:
|
62
|
+
"""Return the dictionary representation of the model using alias.
|
63
|
+
|
64
|
+
This has the following differences from calling pydantic's
|
65
|
+
`self.model_dump(by_alias=True)`:
|
66
|
+
|
67
|
+
* `None` is only added to the output dict for nullable fields that
|
68
|
+
were set at model initialization. Other fields with value `None`
|
69
|
+
are ignored.
|
70
|
+
"""
|
71
|
+
excluded_fields: Set[str] = set([])
|
72
|
+
|
73
|
+
_dict = self.model_dump(
|
74
|
+
by_alias=True,
|
75
|
+
exclude=excluded_fields,
|
76
|
+
exclude_none=True,
|
77
|
+
)
|
78
|
+
return _dict
|
79
|
+
|
80
|
+
@classmethod
|
81
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
82
|
+
"""Create an instance of DataOptions from a dict"""
|
83
|
+
if obj is None:
|
84
|
+
return None
|
85
|
+
|
86
|
+
if not isinstance(obj, dict):
|
87
|
+
return cls.model_validate(obj)
|
88
|
+
|
89
|
+
_obj = cls.model_validate(
|
90
|
+
{"targets": obj.get("targets"), "feature_sizes": obj.get("feature_sizes")}
|
91
|
+
)
|
92
|
+
return _obj
|
{crypticorn-2.8.0rc6 → crypticorn-2.8.0rc7}/crypticorn/hive/client/models/exception_detail.py
RENAMED
@@ -19,6 +19,9 @@ import json
|
|
19
19
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
22
|
+
from crypticorn.hive.client.models.api_error_identifier import ApiErrorIdentifier
|
23
|
+
from crypticorn.hive.client.models.api_error_level import ApiErrorLevel
|
24
|
+
from crypticorn.hive.client.models.api_error_type import ApiErrorType
|
22
25
|
from typing import Optional, Set
|
23
26
|
from typing_extensions import Self
|
24
27
|
|
@@ -29,9 +32,9 @@ class ExceptionDetail(BaseModel):
|
|
29
32
|
""" # noqa: E501
|
30
33
|
|
31
34
|
message: Optional[StrictStr] = None
|
32
|
-
code:
|
33
|
-
type:
|
34
|
-
level:
|
35
|
+
code: ApiErrorIdentifier = Field(description="The unique error code")
|
36
|
+
type: ApiErrorType = Field(description="The type of error")
|
37
|
+
level: ApiErrorLevel = Field(description="The level of the error")
|
35
38
|
status_code: StrictInt = Field(description="The HTTP status code")
|
36
39
|
details: Optional[Any] = None
|
37
40
|
__properties: ClassVar[List[str]] = [
|
@@ -33,7 +33,7 @@ class Model(BaseModel):
|
|
33
33
|
Pydantic model for model response
|
34
34
|
""" # noqa: E501
|
35
35
|
|
36
|
-
|
36
|
+
id: StrictInt = Field(description="Unique model identifier")
|
37
37
|
name: StrictStr = Field(description="Model name")
|
38
38
|
coin_id: Coins = Field(description="Coin ID")
|
39
39
|
target: Target = Field(description="Target variable")
|
@@ -44,7 +44,7 @@ class Model(BaseModel):
|
|
44
44
|
created_at: StrictInt = Field(description="Model creation unix timestamp")
|
45
45
|
updated_at: StrictInt = Field(description="Model update unix timestamp")
|
46
46
|
__properties: ClassVar[List[str]] = [
|
47
|
-
"
|
47
|
+
"id",
|
48
48
|
"name",
|
49
49
|
"coin_id",
|
50
50
|
"target",
|
@@ -113,7 +113,7 @@ class Model(BaseModel):
|
|
113
113
|
|
114
114
|
_obj = cls.model_validate(
|
115
115
|
{
|
116
|
-
"
|
116
|
+
"id": obj.get("id"),
|
117
117
|
"name": obj.get("name"),
|
118
118
|
"coin_id": obj.get("coin_id"),
|
119
119
|
"target": obj.get("target"),
|
@@ -9,8 +9,12 @@ from crypticorn.hive import (
|
|
9
9
|
StatusApi,
|
10
10
|
Configuration,
|
11
11
|
AdminApi,
|
12
|
+
DataVersion,
|
13
|
+
FeatureSize,
|
12
14
|
)
|
13
15
|
from crypticorn.hive.utils import download_file
|
16
|
+
from typing import Optional
|
17
|
+
from pydantic import StrictInt
|
14
18
|
|
15
19
|
|
16
20
|
class DataApiWrapper(DataApi):
|
@@ -18,7 +22,15 @@ class DataApiWrapper(DataApi):
|
|
18
22
|
A wrapper for the DataApi class.
|
19
23
|
"""
|
20
24
|
|
21
|
-
async def download_data(
|
25
|
+
async def download_data(
|
26
|
+
self,
|
27
|
+
model_id: StrictInt,
|
28
|
+
folder: Path = Path("data"),
|
29
|
+
version: Optional[DataVersion] = None,
|
30
|
+
feature_size: Optional[FeatureSize] = None,
|
31
|
+
*args,
|
32
|
+
**kwargs,
|
33
|
+
) -> list[Path]:
|
22
34
|
"""
|
23
35
|
Download data for model training. All three files (y_train, x_test, x_train) are downloaded and saved under e.g. FOLDER/v1/coin_1/*.feather.
|
24
36
|
The folder will be created if it doesn't exist.
|
@@ -28,7 +40,13 @@ class DataApiWrapper(DataApi):
|
|
28
40
|
:param feature_size: The number of features in the data. Default is LARGE. (optional) (type: FeatureSize)
|
29
41
|
:return: A list of paths to the downloaded files.
|
30
42
|
"""
|
31
|
-
response = await super().download_data(
|
43
|
+
response = await super().download_data(
|
44
|
+
model_id=model_id,
|
45
|
+
version=version,
|
46
|
+
feature_size=feature_size,
|
47
|
+
*args,
|
48
|
+
**kwargs,
|
49
|
+
)
|
32
50
|
base_path = f"{folder}/v{response.version.value}/coin_{response.coin.value}/"
|
33
51
|
os.makedirs(base_path, exist_ok=True)
|
34
52
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crypticorn
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.0rc7
|
4
4
|
Summary: Maximise Your Crypto Trading Profits with Machine Learning
|
5
5
|
Author-email: Crypticorn <timon@crypticorn.com>
|
6
6
|
License: MIT
|
@@ -84,7 +84,7 @@ The ApiClient serves as the central interface for API operations. It instantiate
|
|
84
84
|
|
85
85
|
<img src="../static/pip-structure.svg" alt="pip package structure" />
|
86
86
|
|
87
|
-
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.
|
87
|
+
You can either explore each API by clicking through the library or checkout the [API Documentation](https://docs.crypticorn.com/api).
|
88
88
|
|
89
89
|
Request and response models for API operations should be accessed through the sub package you are using for an operation. All symbols are re-exported at the sub package level for convenience.
|
90
90
|
|
@@ -180,7 +180,7 @@ Some API operations allow to get the returned data formatted as a pandas Datafra
|
|
180
180
|
|
181
181
|
### Data Downloads
|
182
182
|
This utility allows direct data streaming to your local disk, instead of only returning download links. It is being used in the following functions:
|
183
|
-
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.
|
183
|
+
- `client.hive.data.download_data()` (overrides the [default response](https://docs.crypticorn.com/api/?api=hive-ai-api#tag/data/GET/data))
|
184
184
|
|
185
185
|
## Advanced Usage
|
186
186
|
|