binance-sdk-derivatives-trading-portfolio-margin 1.0.0__py3-none-any.whl
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.
Potentially problematic release.
This version of binance-sdk-derivatives-trading-portfolio-margin might be problematic. Click here for more details.
- CHANGELOG.md +5 -0
- README.md +293 -0
- binance_sdk_derivatives_trading_portfolio_margin/__init__.py +39 -0
- binance_sdk_derivatives_trading_portfolio_margin/derivatives_trading_portfolio_margin.py +68 -0
- binance_sdk_derivatives_trading_portfolio_margin/metadata.py +1 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/__init__.py +13 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/api/__init__.py +14 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/api/account_api.py +2096 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/api/market_data_api.py +62 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/api/trade_api.py +3557 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/api/user_data_streams_api.py +132 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/__init__.py +550 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/account_balance_response.py +145 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/account_balance_response1.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/account_balance_response1_inner.py +164 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/account_balance_response2.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/account_information_response.py +145 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/bnb_transfer_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_all_cm_open_conditional_orders_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_all_cm_open_orders_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_all_um_open_conditional_orders_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_all_um_open_orders_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_cm_conditional_order_response.py +161 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_cm_order_response.py +156 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_all_open_orders_on_a_symbol_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_all_open_orders_on_a_symbol_response_inner.py +215 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_all_open_orders_on_a_symbol_response_inner_order_reports_inner.py +156 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_all_open_orders_on_a_symbol_response_inner_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_oco_orders_response.py +174 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_oco_orders_response_order_reports_inner.py +151 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_oco_orders_response_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_margin_account_order_response.py +145 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_um_conditional_order_response.py +172 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cancel_um_order_response.py +164 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/change_auto_repay_futures_status_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/change_cm_initial_leverage_response.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/change_cm_position_mode_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/change_um_initial_leverage_response.py +112 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/change_um_position_mode_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_account_trade_list_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_account_trade_list_response_inner.py +153 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_notional_and_leverage_brackets_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_notional_and_leverage_brackets_response_inner.py +129 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_notional_and_leverage_brackets_response_inner_brackets_inner.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_position_adl_quantile_estimation_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_position_adl_quantile_estimation_response_inner.py +122 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/cm_position_adl_quantile_estimation_response_inner_adl_quantile.py +112 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/enums.py +278 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/fund_auto_collection_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/fund_collection_by_asset_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_auto_repay_futures_status_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_account_detail_response.py +142 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_account_detail_response_assets_inner.py +135 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_account_detail_response_positions_inner.py +147 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_current_position_mode_response.py +104 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_income_history_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_cm_income_history_response_inner.py +129 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_download_id_for_um_futures_order_history_response.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_download_id_for_um_futures_trade_history_response.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_download_id_for_um_futures_transaction_history_response.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_margin_borrow_loan_interest_history_response.py +127 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_margin_borrow_loan_interest_history_response_rows_inner.py +131 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_account_detail_response.py +142 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_account_detail_response_positions_inner.py +153 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_account_detail_v2_response.py +142 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_account_detail_v2_response_assets_inner.py +135 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_account_detail_v2_response_positions_inner.py +131 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_current_position_mode_response.py +104 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_futures_bnb_burn_status_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_futures_order_download_link_by_id_response.py +128 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_futures_trade_download_link_by_id_response.py +128 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_futures_transaction_download_link_by_id_response.py +128 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_income_history_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_um_income_history_response_inner.py +129 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_user_commission_rate_for_cm_response.py +118 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/get_user_commission_rate_for_um_response.py +118 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_borrow_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_new_oco_response.py +182 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_new_oco_response_order_reports_inner.py +149 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_new_oco_response_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_repay_debt_response.py +122 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_repay_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_trade_list_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_account_trade_list_response_inner.py +138 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/margin_max_borrow_response.py +105 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/modify_cm_order_response.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/modify_um_order_response.py +167 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_cm_conditional_order_response.py +164 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_cm_order_response.py +156 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_margin_order_response.py +173 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_margin_order_response_fills_inner.py +117 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_um_conditional_order_response.py +172 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/new_um_order_response.py +164 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/portfolio_margin_um_trading_quantitative_rules_indicators_response.py +122 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/portfolio_margin_um_trading_quantitative_rules_indicators_response_indicators.py +154 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/portfolio_margin_um_trading_quantitative_rules_indicators_response_indicators_account_inner.py +124 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/portfolio_margin_um_trading_quantitative_rules_indicators_response_indicators_btcusdt_inner.py +134 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_cm_conditional_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_cm_conditional_orders_response_inner.py +167 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_cm_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_cm_orders_response_inner.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_cm_open_conditional_orders_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_cm_open_conditional_orders_response_inner.py +155 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_cm_open_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_um_open_conditional_orders_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_um_open_conditional_orders_response_inner.py +166 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_um_open_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_current_um_open_orders_response_inner.py +167 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_margin_account_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_margin_account_orders_response_inner.py +173 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_um_conditional_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_um_conditional_orders_response_inner.py +178 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_all_um_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_conditional_order_history_response.py +176 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_modify_order_history_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_modify_order_history_response_inner.py +138 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_modify_order_history_response_inner_amendment.py +136 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_modify_order_history_response_inner_amendment_orig_qty.py +105 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_modify_order_history_response_inner_amendment_price.py +105 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_order_response.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_position_information_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_cm_position_information_response_inner.py +142 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_cm_open_conditional_order_response.py +155 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_cm_open_order_response.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_margin_open_order_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_margin_open_order_response_inner.py +173 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_um_open_conditional_order_response.py +166 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_current_um_open_order_response.py +167 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_account_order_response.py +173 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_all_oco_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_all_oco_response_inner.py +152 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_all_oco_response_inner_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_oco_response.py +150 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_oco_response_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_open_oco_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_open_oco_response_inner.py +152 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_accounts_open_oco_response_inner_orders_inner.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_loan_record_response.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_loan_record_response_rows_inner.py +120 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_max_withdraw_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_repay_record_response.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_margin_repay_record_response_rows_inner.py +126 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_portfolio_margin_negative_balance_interest_history_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_portfolio_margin_negative_balance_interest_history_response_inner.py +122 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_conditional_order_history_response.py +181 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_modify_order_history_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_modify_order_history_response_inner.py +141 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_order_response.py +167 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_position_information_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_um_position_information_response_inner.py +144 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_user_negative_balance_auto_exchange_record_response.py +129 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_user_negative_balance_auto_exchange_record_response_rows_inner.py +131 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_user_negative_balance_auto_exchange_record_response_rows_inner_details_inner.py +120 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_user_rate_limit_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_user_rate_limit_response_inner.py +117 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_cm_force_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_cm_force_orders_response_inner.py +159 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_margin_force_orders_response.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_margin_force_orders_response_rows_inner.py +132 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_um_force_orders_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/query_users_um_force_orders_response_inner.py +156 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/repay_futures_negative_balance_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/start_user_data_stream_response.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/toggle_bnb_burn_on_um_futures_trade_response.py +103 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_account_trade_list_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_account_trade_list_response_inner.py +147 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_futures_account_configuration_response.py +133 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_futures_symbol_configuration_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_futures_symbol_configuration_response_inner.py +124 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_notional_and_leverage_brackets_response.py +81 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_notional_and_leverage_brackets_response_inner.py +131 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_notional_and_leverage_brackets_response_inner_brackets_inner.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_position_adl_quantile_estimation_response.py +83 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/models/um_position_adl_quantile_estimation_response_inner.py +122 -0
- binance_sdk_derivatives_trading_portfolio_margin/rest_api/rest_api.py +3837 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/__init__.py +13 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/__init__.py +38 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_config_update.py +118 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_config_update_ac.py +99 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_update.py +120 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_update_a.py +134 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_update_ab_inner.py +108 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/account_update_ap_inner.py +114 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/balanceupdate.py +110 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/conditional_order_trade_update.py +118 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/conditional_order_trade_update_so.py +164 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/enums.py +9 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/executionreport.py +227 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/liabilitychange.py +114 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/listenkeyexpired.py +98 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/openorderloss.py +118 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/openorderloss_o_inner.py +99 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/order_trade_update.py +120 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/order_trade_update_o.py +188 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/outboundaccountposition.py +125 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/outboundaccountposition_b_inner.py +102 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/risklevelchange.py +112 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/models/user_data_stream_events_response.py +386 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/streams/__init__.py +9 -0
- binance_sdk_derivatives_trading_portfolio_margin/websocket_streams/websocket_streams.py +105 -0
- binance_sdk_derivatives_trading_portfolio_margin-1.0.0.dist-info/LICENCE +21 -0
- binance_sdk_derivatives_trading_portfolio_margin-1.0.0.dist-info/METADATA +321 -0
- binance_sdk_derivatives_trading_portfolio_margin-1.0.0.dist-info/RECORD +204 -0
- binance_sdk_derivatives_trading_portfolio_margin-1.0.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
5
|
+
|
|
6
|
+
OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
7
|
+
The version of the OpenAPI document: 1.0.0
|
|
8
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
9
|
+
|
|
10
|
+
Do not edit the class manually.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
import json
|
|
16
|
+
import pprint
|
|
17
|
+
from pydantic import (
|
|
18
|
+
BaseModel,
|
|
19
|
+
ConfigDict,
|
|
20
|
+
ValidationError,
|
|
21
|
+
field_validator,
|
|
22
|
+
)
|
|
23
|
+
from typing import Any, Optional
|
|
24
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.account_config_update import (
|
|
25
|
+
AccountConfigUpdate,
|
|
26
|
+
)
|
|
27
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.account_update import (
|
|
28
|
+
AccountUpdate,
|
|
29
|
+
)
|
|
30
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.balanceupdate import (
|
|
31
|
+
Balanceupdate,
|
|
32
|
+
)
|
|
33
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.conditional_order_trade_update import (
|
|
34
|
+
ConditionalOrderTradeUpdate,
|
|
35
|
+
)
|
|
36
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.executionreport import (
|
|
37
|
+
Executionreport,
|
|
38
|
+
)
|
|
39
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.liabilitychange import (
|
|
40
|
+
Liabilitychange,
|
|
41
|
+
)
|
|
42
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.listenkeyexpired import (
|
|
43
|
+
Listenkeyexpired,
|
|
44
|
+
)
|
|
45
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.openorderloss import (
|
|
46
|
+
Openorderloss,
|
|
47
|
+
)
|
|
48
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.order_trade_update import (
|
|
49
|
+
OrderTradeUpdate,
|
|
50
|
+
)
|
|
51
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.outboundaccountposition import (
|
|
52
|
+
Outboundaccountposition,
|
|
53
|
+
)
|
|
54
|
+
from binance_sdk_derivatives_trading_portfolio_margin.websocket_streams.models.risklevelchange import (
|
|
55
|
+
Risklevelchange,
|
|
56
|
+
)
|
|
57
|
+
from typing import Union, Set, Dict
|
|
58
|
+
from typing_extensions import Self
|
|
59
|
+
|
|
60
|
+
USERDATASTREAMEVENTSRESPONSE_ONE_OF_SCHEMAS = [
|
|
61
|
+
"AccountConfigUpdate",
|
|
62
|
+
"AccountUpdate",
|
|
63
|
+
"Balanceupdate",
|
|
64
|
+
"ConditionalOrderTradeUpdate",
|
|
65
|
+
"Executionreport",
|
|
66
|
+
"Liabilitychange",
|
|
67
|
+
"Listenkeyexpired",
|
|
68
|
+
"Openorderloss",
|
|
69
|
+
"OrderTradeUpdate",
|
|
70
|
+
"Outboundaccountposition",
|
|
71
|
+
"Risklevelchange",
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class UserDataStreamEventsResponse(BaseModel):
|
|
76
|
+
"""
|
|
77
|
+
UserDataStreamEventsResponse
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
# data type: ConditionalOrderTradeUpdate
|
|
81
|
+
oneof_schema_1_validator: Optional[ConditionalOrderTradeUpdate] = None
|
|
82
|
+
# data type: AccountConfigUpdate
|
|
83
|
+
oneof_schema_2_validator: Optional[AccountConfigUpdate] = None
|
|
84
|
+
# data type: AccountUpdate
|
|
85
|
+
oneof_schema_3_validator: Optional[AccountUpdate] = None
|
|
86
|
+
# data type: OrderTradeUpdate
|
|
87
|
+
oneof_schema_4_validator: Optional[OrderTradeUpdate] = None
|
|
88
|
+
# data type: Liabilitychange
|
|
89
|
+
oneof_schema_5_validator: Optional[Liabilitychange] = None
|
|
90
|
+
# data type: Outboundaccountposition
|
|
91
|
+
oneof_schema_6_validator: Optional[Outboundaccountposition] = None
|
|
92
|
+
# data type: Balanceupdate
|
|
93
|
+
oneof_schema_7_validator: Optional[Balanceupdate] = None
|
|
94
|
+
# data type: Executionreport
|
|
95
|
+
oneof_schema_8_validator: Optional[Executionreport] = None
|
|
96
|
+
# data type: Openorderloss
|
|
97
|
+
oneof_schema_9_validator: Optional[Openorderloss] = None
|
|
98
|
+
# data type: Listenkeyexpired
|
|
99
|
+
oneof_schema_10_validator: Optional[Listenkeyexpired] = None
|
|
100
|
+
# data type: Risklevelchange
|
|
101
|
+
oneof_schema_11_validator: Optional[Risklevelchange] = None
|
|
102
|
+
actual_instance: Optional[
|
|
103
|
+
Union[
|
|
104
|
+
AccountConfigUpdate,
|
|
105
|
+
AccountUpdate,
|
|
106
|
+
Balanceupdate,
|
|
107
|
+
ConditionalOrderTradeUpdate,
|
|
108
|
+
Executionreport,
|
|
109
|
+
Liabilitychange,
|
|
110
|
+
Listenkeyexpired,
|
|
111
|
+
Openorderloss,
|
|
112
|
+
OrderTradeUpdate,
|
|
113
|
+
Outboundaccountposition,
|
|
114
|
+
Risklevelchange,
|
|
115
|
+
]
|
|
116
|
+
] = None
|
|
117
|
+
one_of_schemas: Set[str] = {
|
|
118
|
+
"AccountConfigUpdate",
|
|
119
|
+
"AccountUpdate",
|
|
120
|
+
"Balanceupdate",
|
|
121
|
+
"ConditionalOrderTradeUpdate",
|
|
122
|
+
"Executionreport",
|
|
123
|
+
"Liabilitychange",
|
|
124
|
+
"Listenkeyexpired",
|
|
125
|
+
"Openorderloss",
|
|
126
|
+
"OrderTradeUpdate",
|
|
127
|
+
"Outboundaccountposition",
|
|
128
|
+
"Risklevelchange",
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
model_config = ConfigDict(
|
|
132
|
+
validate_assignment=True,
|
|
133
|
+
protected_namespaces=(),
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
discriminator_value_class_map: Dict[str, str] = {}
|
|
137
|
+
|
|
138
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
139
|
+
if args:
|
|
140
|
+
if len(args) > 1:
|
|
141
|
+
raise ValueError(
|
|
142
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
|
143
|
+
)
|
|
144
|
+
if kwargs:
|
|
145
|
+
raise ValueError(
|
|
146
|
+
"If a position argument is used, keyword arguments cannot be used."
|
|
147
|
+
)
|
|
148
|
+
super().__init__(actual_instance=args[0])
|
|
149
|
+
else:
|
|
150
|
+
super().__init__(**kwargs)
|
|
151
|
+
|
|
152
|
+
@field_validator("actual_instance")
|
|
153
|
+
def actual_instance_must_validate_oneof(cls, v):
|
|
154
|
+
|
|
155
|
+
error_messages = []
|
|
156
|
+
match = 0
|
|
157
|
+
# validate data type: ConditionalOrderTradeUpdate
|
|
158
|
+
if not isinstance(v, ConditionalOrderTradeUpdate):
|
|
159
|
+
error_messages.append(
|
|
160
|
+
f"Error! Input type `{type(v)}` is not `ConditionalOrderTradeUpdate`"
|
|
161
|
+
)
|
|
162
|
+
else:
|
|
163
|
+
match += 1
|
|
164
|
+
# validate data type: AccountConfigUpdate
|
|
165
|
+
if not isinstance(v, AccountConfigUpdate):
|
|
166
|
+
error_messages.append(
|
|
167
|
+
f"Error! Input type `{type(v)}` is not `AccountConfigUpdate`"
|
|
168
|
+
)
|
|
169
|
+
else:
|
|
170
|
+
match += 1
|
|
171
|
+
# validate data type: AccountUpdate
|
|
172
|
+
if not isinstance(v, AccountUpdate):
|
|
173
|
+
error_messages.append(
|
|
174
|
+
f"Error! Input type `{type(v)}` is not `AccountUpdate`"
|
|
175
|
+
)
|
|
176
|
+
else:
|
|
177
|
+
match += 1
|
|
178
|
+
# validate data type: OrderTradeUpdate
|
|
179
|
+
if not isinstance(v, OrderTradeUpdate):
|
|
180
|
+
error_messages.append(
|
|
181
|
+
f"Error! Input type `{type(v)}` is not `OrderTradeUpdate`"
|
|
182
|
+
)
|
|
183
|
+
else:
|
|
184
|
+
match += 1
|
|
185
|
+
# validate data type: Liabilitychange
|
|
186
|
+
if not isinstance(v, Liabilitychange):
|
|
187
|
+
error_messages.append(
|
|
188
|
+
f"Error! Input type `{type(v)}` is not `Liabilitychange`"
|
|
189
|
+
)
|
|
190
|
+
else:
|
|
191
|
+
match += 1
|
|
192
|
+
# validate data type: Outboundaccountposition
|
|
193
|
+
if not isinstance(v, Outboundaccountposition):
|
|
194
|
+
error_messages.append(
|
|
195
|
+
f"Error! Input type `{type(v)}` is not `Outboundaccountposition`"
|
|
196
|
+
)
|
|
197
|
+
else:
|
|
198
|
+
match += 1
|
|
199
|
+
# validate data type: Balanceupdate
|
|
200
|
+
if not isinstance(v, Balanceupdate):
|
|
201
|
+
error_messages.append(
|
|
202
|
+
f"Error! Input type `{type(v)}` is not `Balanceupdate`"
|
|
203
|
+
)
|
|
204
|
+
else:
|
|
205
|
+
match += 1
|
|
206
|
+
# validate data type: Executionreport
|
|
207
|
+
if not isinstance(v, Executionreport):
|
|
208
|
+
error_messages.append(
|
|
209
|
+
f"Error! Input type `{type(v)}` is not `Executionreport`"
|
|
210
|
+
)
|
|
211
|
+
else:
|
|
212
|
+
match += 1
|
|
213
|
+
# validate data type: Openorderloss
|
|
214
|
+
if not isinstance(v, Openorderloss):
|
|
215
|
+
error_messages.append(
|
|
216
|
+
f"Error! Input type `{type(v)}` is not `Openorderloss`"
|
|
217
|
+
)
|
|
218
|
+
else:
|
|
219
|
+
match += 1
|
|
220
|
+
# validate data type: Listenkeyexpired
|
|
221
|
+
if not isinstance(v, Listenkeyexpired):
|
|
222
|
+
error_messages.append(
|
|
223
|
+
f"Error! Input type `{type(v)}` is not `Listenkeyexpired`"
|
|
224
|
+
)
|
|
225
|
+
else:
|
|
226
|
+
match += 1
|
|
227
|
+
# validate data type: Risklevelchange
|
|
228
|
+
if not isinstance(v, Risklevelchange):
|
|
229
|
+
error_messages.append(
|
|
230
|
+
f"Error! Input type `{type(v)}` is not `Risklevelchange`"
|
|
231
|
+
)
|
|
232
|
+
else:
|
|
233
|
+
match += 1
|
|
234
|
+
if match > 1:
|
|
235
|
+
# more than 1 match
|
|
236
|
+
raise ValueError(
|
|
237
|
+
"Multiple matches found when setting `actual_instance` in UserDataStreamEventsResponse with oneOf schemas: AccountConfigUpdate, AccountUpdate, Balanceupdate, ConditionalOrderTradeUpdate, Executionreport, Liabilitychange, Listenkeyexpired, Openorderloss, OrderTradeUpdate, Outboundaccountposition, Risklevelchange. Details: "
|
|
238
|
+
+ ", ".join(error_messages)
|
|
239
|
+
)
|
|
240
|
+
elif match == 0:
|
|
241
|
+
# no match
|
|
242
|
+
raise ValueError(
|
|
243
|
+
"No match found when setting `actual_instance` in UserDataStreamEventsResponse with oneOf schemas: AccountConfigUpdate, AccountUpdate, Balanceupdate, ConditionalOrderTradeUpdate, Executionreport, Liabilitychange, Listenkeyexpired, Openorderloss, OrderTradeUpdate, Outboundaccountposition, Risklevelchange. Details: "
|
|
244
|
+
+ ", ".join(error_messages)
|
|
245
|
+
)
|
|
246
|
+
else:
|
|
247
|
+
return v
|
|
248
|
+
|
|
249
|
+
@classmethod
|
|
250
|
+
def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
|
|
251
|
+
return cls.from_json(json.dumps(obj))
|
|
252
|
+
|
|
253
|
+
@classmethod
|
|
254
|
+
def from_json(cls, json_str: str) -> Self:
|
|
255
|
+
"""Returns the object represented by the json string"""
|
|
256
|
+
instance = cls.model_construct()
|
|
257
|
+
error_messages = []
|
|
258
|
+
match = 0
|
|
259
|
+
|
|
260
|
+
# deserialize data into ConditionalOrderTradeUpdate
|
|
261
|
+
try:
|
|
262
|
+
instance.actual_instance = ConditionalOrderTradeUpdate.from_json(json_str)
|
|
263
|
+
match += 1
|
|
264
|
+
except (ValidationError, ValueError) as e:
|
|
265
|
+
error_messages.append(str(e))
|
|
266
|
+
# deserialize data into AccountConfigUpdate
|
|
267
|
+
try:
|
|
268
|
+
instance.actual_instance = AccountConfigUpdate.from_json(json_str)
|
|
269
|
+
match += 1
|
|
270
|
+
except (ValidationError, ValueError) as e:
|
|
271
|
+
error_messages.append(str(e))
|
|
272
|
+
# deserialize data into AccountUpdate
|
|
273
|
+
try:
|
|
274
|
+
instance.actual_instance = AccountUpdate.from_json(json_str)
|
|
275
|
+
match += 1
|
|
276
|
+
except (ValidationError, ValueError) as e:
|
|
277
|
+
error_messages.append(str(e))
|
|
278
|
+
# deserialize data into OrderTradeUpdate
|
|
279
|
+
try:
|
|
280
|
+
instance.actual_instance = OrderTradeUpdate.from_json(json_str)
|
|
281
|
+
match += 1
|
|
282
|
+
except (ValidationError, ValueError) as e:
|
|
283
|
+
error_messages.append(str(e))
|
|
284
|
+
# deserialize data into Liabilitychange
|
|
285
|
+
try:
|
|
286
|
+
instance.actual_instance = Liabilitychange.from_json(json_str)
|
|
287
|
+
match += 1
|
|
288
|
+
except (ValidationError, ValueError) as e:
|
|
289
|
+
error_messages.append(str(e))
|
|
290
|
+
# deserialize data into Outboundaccountposition
|
|
291
|
+
try:
|
|
292
|
+
instance.actual_instance = Outboundaccountposition.from_json(json_str)
|
|
293
|
+
match += 1
|
|
294
|
+
except (ValidationError, ValueError) as e:
|
|
295
|
+
error_messages.append(str(e))
|
|
296
|
+
# deserialize data into Balanceupdate
|
|
297
|
+
try:
|
|
298
|
+
instance.actual_instance = Balanceupdate.from_json(json_str)
|
|
299
|
+
match += 1
|
|
300
|
+
except (ValidationError, ValueError) as e:
|
|
301
|
+
error_messages.append(str(e))
|
|
302
|
+
# deserialize data into Executionreport
|
|
303
|
+
try:
|
|
304
|
+
instance.actual_instance = Executionreport.from_json(json_str)
|
|
305
|
+
match += 1
|
|
306
|
+
except (ValidationError, ValueError) as e:
|
|
307
|
+
error_messages.append(str(e))
|
|
308
|
+
# deserialize data into Openorderloss
|
|
309
|
+
try:
|
|
310
|
+
instance.actual_instance = Openorderloss.from_json(json_str)
|
|
311
|
+
match += 1
|
|
312
|
+
except (ValidationError, ValueError) as e:
|
|
313
|
+
error_messages.append(str(e))
|
|
314
|
+
# deserialize data into Listenkeyexpired
|
|
315
|
+
try:
|
|
316
|
+
instance.actual_instance = Listenkeyexpired.from_json(json_str)
|
|
317
|
+
match += 1
|
|
318
|
+
except (ValidationError, ValueError) as e:
|
|
319
|
+
error_messages.append(str(e))
|
|
320
|
+
# deserialize data into Risklevelchange
|
|
321
|
+
try:
|
|
322
|
+
instance.actual_instance = Risklevelchange.from_json(json_str)
|
|
323
|
+
match += 1
|
|
324
|
+
except (ValidationError, ValueError) as e:
|
|
325
|
+
error_messages.append(str(e))
|
|
326
|
+
|
|
327
|
+
if match > 1:
|
|
328
|
+
# more than 1 match
|
|
329
|
+
raise ValueError(
|
|
330
|
+
"Multiple matches found when deserializing the JSON string into UserDataStreamEventsResponse with oneOf schemas: AccountConfigUpdate, AccountUpdate, Balanceupdate, ConditionalOrderTradeUpdate, Executionreport, Liabilitychange, Listenkeyexpired, Openorderloss, OrderTradeUpdate, Outboundaccountposition, Risklevelchange. Details: "
|
|
331
|
+
+ ", ".join(error_messages)
|
|
332
|
+
)
|
|
333
|
+
elif match == 0:
|
|
334
|
+
# no match
|
|
335
|
+
raise ValueError(
|
|
336
|
+
"No match found when deserializing the JSON string into UserDataStreamEventsResponse with oneOf schemas: AccountConfigUpdate, AccountUpdate, Balanceupdate, ConditionalOrderTradeUpdate, Executionreport, Liabilitychange, Listenkeyexpired, Openorderloss, OrderTradeUpdate, Outboundaccountposition, Risklevelchange. Details: "
|
|
337
|
+
+ ", ".join(error_messages)
|
|
338
|
+
)
|
|
339
|
+
else:
|
|
340
|
+
return instance
|
|
341
|
+
|
|
342
|
+
def to_json(self) -> str:
|
|
343
|
+
"""Returns the JSON representation of the actual instance"""
|
|
344
|
+
if self.actual_instance is None:
|
|
345
|
+
return "null"
|
|
346
|
+
|
|
347
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
|
348
|
+
self.actual_instance.to_json
|
|
349
|
+
):
|
|
350
|
+
return self.actual_instance.to_json()
|
|
351
|
+
else:
|
|
352
|
+
return json.dumps(self.actual_instance)
|
|
353
|
+
|
|
354
|
+
def to_dict(
|
|
355
|
+
self,
|
|
356
|
+
) -> Optional[
|
|
357
|
+
Union[
|
|
358
|
+
Dict[str, Any],
|
|
359
|
+
AccountConfigUpdate,
|
|
360
|
+
AccountUpdate,
|
|
361
|
+
Balanceupdate,
|
|
362
|
+
ConditionalOrderTradeUpdate,
|
|
363
|
+
Executionreport,
|
|
364
|
+
Liabilitychange,
|
|
365
|
+
Listenkeyexpired,
|
|
366
|
+
Openorderloss,
|
|
367
|
+
OrderTradeUpdate,
|
|
368
|
+
Outboundaccountposition,
|
|
369
|
+
Risklevelchange,
|
|
370
|
+
]
|
|
371
|
+
]:
|
|
372
|
+
"""Returns the dict representation of the actual instance"""
|
|
373
|
+
if self.actual_instance is None:
|
|
374
|
+
return None
|
|
375
|
+
|
|
376
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
377
|
+
self.actual_instance.to_dict
|
|
378
|
+
):
|
|
379
|
+
return self.actual_instance.to_dict()
|
|
380
|
+
else:
|
|
381
|
+
# primitive type
|
|
382
|
+
return self.actual_instance
|
|
383
|
+
|
|
384
|
+
def to_str(self) -> str:
|
|
385
|
+
"""Returns the string representation of the actual instance"""
|
|
386
|
+
return pprint.pformat(self.model_dump())
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
3
|
+
|
|
4
|
+
OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
5
|
+
The version of the OpenAPI document: 1.0.0
|
|
6
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
7
|
+
|
|
8
|
+
Do not edit the class manually.
|
|
9
|
+
"""
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
3
|
+
|
|
4
|
+
OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin WebSocket Market Streams
|
|
5
|
+
The version of the OpenAPI document: 1.0.0
|
|
6
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
7
|
+
|
|
8
|
+
Do not edit the class manually.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from pydantic import BaseModel
|
|
12
|
+
from typing import Callable, Optional, TypeVar
|
|
13
|
+
|
|
14
|
+
from binance_common.configuration import ConfigurationWebSocketStreams
|
|
15
|
+
from binance_common.websocket import (
|
|
16
|
+
WebSocketStreamBase,
|
|
17
|
+
WebSocketConnection,
|
|
18
|
+
RequestStream,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
from .models import UserDataStreamEventsResponse
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
T = TypeVar("T", bound=BaseModel)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class DerivativesTradingPortfolioMarginWebSocketStreams(WebSocketStreamBase):
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
configuration: ConfigurationWebSocketStreams,
|
|
31
|
+
) -> None:
|
|
32
|
+
super().__init__(configuration)
|
|
33
|
+
self.configuration = configuration
|
|
34
|
+
|
|
35
|
+
async def ping_server(self, connection: WebSocketConnection):
|
|
36
|
+
"""Sends a ping message to the WebSocket server to check the connection status.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
connection (WebSocketConnection): The WebSocket connection to send the ping message to.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
if self.session:
|
|
43
|
+
await super().ping_ws_stream(connection=connection)
|
|
44
|
+
else:
|
|
45
|
+
raise ValueError("WebSocket session is not initialized.")
|
|
46
|
+
|
|
47
|
+
async def subscribe(self, streams, response_model: Optional[T] = None):
|
|
48
|
+
"""Subscribes to the specified WebSocket streams.
|
|
49
|
+
|
|
50
|
+
Args:
|
|
51
|
+
streams (list): A list of WebSocket streams to subscribe to.
|
|
52
|
+
response_model (Optional[T]): The Pydantic model to validate the response against.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
await super().subscribe(streams, response_model=response_model)
|
|
56
|
+
|
|
57
|
+
async def unsubscribe(self, streams):
|
|
58
|
+
"""Unsubscribes from the specified WebSocket streams.
|
|
59
|
+
|
|
60
|
+
Args:
|
|
61
|
+
streams (list): A list of WebSocket streams to unsubscribe from.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
await super().unsubscribe(streams)
|
|
65
|
+
|
|
66
|
+
def on(self, event: str, callback: Callable[[T], None], stream: str):
|
|
67
|
+
"""Registers a callback function for a specific WebSocket event.
|
|
68
|
+
|
|
69
|
+
Args:
|
|
70
|
+
event (str): The event type to listen for (e.g., 'message', 'error').
|
|
71
|
+
callback (Callable[[T], None]): The callback function to be called when the event occurs.
|
|
72
|
+
stream (str): The specific WebSocket stream to listen to.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
super().on(event, callback, stream)
|
|
76
|
+
|
|
77
|
+
async def list_subscribe(self):
|
|
78
|
+
"""Lists all currently subscribed WebSocket streams."""
|
|
79
|
+
|
|
80
|
+
await super().list_subscribe()
|
|
81
|
+
|
|
82
|
+
async def close_connection(
|
|
83
|
+
self, connection: WebSocketConnection = None, close_session: bool = True
|
|
84
|
+
):
|
|
85
|
+
"""Closes the WebSocket connection and optionally the session.
|
|
86
|
+
|
|
87
|
+
Args:
|
|
88
|
+
connection (WebSocketConnection, optional): The WebSocket connection to close. If None, the current session's connection is used.
|
|
89
|
+
close_session (bool, optional): Whether to close the session after closing the connection. Defaults to True.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
await super().close_connection(connection, close_session)
|
|
93
|
+
|
|
94
|
+
async def user_data(self, listenKey: str) -> UserDataStreamEventsResponse:
|
|
95
|
+
"""Subscribe to User Data Stream (USER_STREAM)
|
|
96
|
+
|
|
97
|
+
Args:
|
|
98
|
+
listenKey (str): The listen key for the user data stream.
|
|
99
|
+
Returns:
|
|
100
|
+
UserDataStreamEventsResponse: The response model containing user data stream events.
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
return await RequestStream(
|
|
104
|
+
self.websocket_base, listenKey, response_model=UserDataStreamEventsResponse
|
|
105
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Binance
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|