webull-openapi-python-sdk 3.0.1__tar.gz → 3.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/PKG-INFO +1 -1
  2. webull_openapi_python_sdk-3.0.2/samples/__init__.py +1 -0
  3. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/trade_client_v3.py +38 -0
  4. webull_openapi_python_sdk-3.0.2/webull/__init__.py +1 -0
  5. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/__init__.py +1 -1
  6. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/utils/validation.py +8 -1
  7. webull_openapi_python_sdk-3.0.2/webull/data/__init__.py +3 -0
  8. webull_openapi_python_sdk-3.0.2/webull/trade/__init__.py +1 -0
  9. webull_openapi_python_sdk-3.0.2/webull/trade/common/transfer_activities_param.py +44 -0
  10. webull_openapi_python_sdk-3.0.2/webull/trade/request/v3/get_transfer_activities_detail_request.py +28 -0
  11. webull_openapi_python_sdk-3.0.2/webull/trade/request/v3/get_transfer_activities_request.py +55 -0
  12. webull_openapi_python_sdk-3.0.2/webull/trade/trade/activity.py +155 -0
  13. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull_openapi_python_sdk.egg-info/PKG-INFO +1 -1
  14. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull_openapi_python_sdk.egg-info/SOURCES.txt +3 -0
  15. webull_openapi_python_sdk-3.0.1/samples/__init__.py +0 -1
  16. webull_openapi_python_sdk-3.0.1/webull/__init__.py +0 -1
  17. webull_openapi_python_sdk-3.0.1/webull/data/__init__.py +0 -3
  18. webull_openapi_python_sdk-3.0.1/webull/trade/__init__.py +0 -1
  19. webull_openapi_python_sdk-3.0.1/webull/trade/trade/activity.py +0 -82
  20. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/ChangeLog.txt +0 -0
  21. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/LICENSE +0 -0
  22. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/MANIFEST.in +0 -0
  23. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/NOTICE +0 -0
  24. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/README.rst +0 -0
  25. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/account/__init__.py +0 -0
  26. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/account/account_client.py +0 -0
  27. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/assets/__init__.py +0 -0
  28. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/assets/assets_client.py +0 -0
  29. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/__init__.py +0 -0
  30. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/data_client.py +0 -0
  31. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/data_client_event.py +0 -0
  32. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/data_streaming_client.py +0 -0
  33. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/data_streaming_client_async.py +0 -0
  34. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/data/data_streaming_client_event.py +0 -0
  35. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/order/__init__.py +0 -0
  36. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/order/order_option_client.py +0 -0
  37. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/order/order_stock_client.py +0 -0
  38. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/screener/__init__.py +0 -0
  39. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/screener/screener_client.py +0 -0
  40. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/__init__.py +0 -0
  41. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/trade_client.py +0 -0
  42. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/trade_client_v2.py +0 -0
  43. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/trade_client_v3_event.py +0 -0
  44. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/trade/trade_event_client.py +0 -0
  45. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/watchlist/__init__.py +0 -0
  46. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/samples/watchlist/watchlist_client.py +0 -0
  47. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/setup.cfg +0 -0
  48. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/setup.py +0 -0
  49. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/__init__.py +0 -0
  50. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/algorithm/__init__.py +0 -0
  51. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/algorithm/sha_hmac1.py +0 -0
  52. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/algorithm/sha_hmac256.py +0 -0
  53. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/algorithm/sha_hmac256_new.py +0 -0
  54. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/composer/__init__.py +0 -0
  55. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/composer/default_signature_composer.py +0 -0
  56. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/credentials.py +0 -0
  57. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/signers/__init__.py +0 -0
  58. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/signers/app_key_signer.py +0 -0
  59. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/signers/signer.py +0 -0
  60. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/auth/signers/signer_factory.py +0 -0
  61. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/cache/__init__.py +0 -0
  62. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/client.py +0 -0
  63. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/common/__init__.py +0 -0
  64. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/common/api_type.py +0 -0
  65. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/common/easy_enum.py +0 -0
  66. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/common/region.py +0 -0
  67. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/compat.py +0 -0
  68. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/context/__init__.py +0 -0
  69. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/context/request_context_holder.py +0 -0
  70. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/data/endpoints.json +0 -0
  71. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/data/retry_config.json +0 -0
  72. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/__init__.py +0 -0
  73. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/chained_endpoint_resolver.py +0 -0
  74. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/default_endpoint_resolver.py +0 -0
  75. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/local_config_regional_endpoint_resolver.py +0 -0
  76. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/resolver_endpoint_request.py +0 -0
  77. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/endpoint/user_customized_endpoint_resolver.py +0 -0
  78. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/exception/__init__.py +0 -0
  79. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/exception/error_code.py +0 -0
  80. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/exception/error_msg.py +0 -0
  81. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/exception/exceptions.py +0 -0
  82. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/headers.py +0 -0
  83. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/__init__.py +0 -0
  84. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/__init__.py +0 -0
  85. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/client_initializer.py +0 -0
  86. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/config/__init__.py +0 -0
  87. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/config/bean/__init__.py +0 -0
  88. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/config/bean/query_config_request.py +0 -0
  89. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/config/config_operation.py +0 -0
  90. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/__init__.py +0 -0
  91. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/bean/__init__.py +0 -0
  92. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/bean/access_token.py +0 -0
  93. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/bean/check_token_request.py +0 -0
  94. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/bean/create_token_request.py +0 -0
  95. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/bean/refresh_token_request.py +0 -0
  96. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/token_manager.py +0 -0
  97. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/token_operation.py +0 -0
  98. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/initializer/token/token_storage.py +0 -0
  99. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/method_type.py +0 -0
  100. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/protocol_type.py +0 -0
  101. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/request.py +0 -0
  102. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/http/response.py +0 -0
  103. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/request.py +0 -0
  104. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/retry/__init__.py +0 -0
  105. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/retry/backoff_strategy.py +0 -0
  106. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/retry/retry_condition.py +0 -0
  107. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/retry/retry_policy.py +0 -0
  108. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/retry/retry_policy_context.py +0 -0
  109. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/utils/__init__.py +0 -0
  110. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/utils/common.py +0 -0
  111. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/utils/data.py +0 -0
  112. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/core/utils/desensitize.py +0 -0
  113. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/__init__.py +0 -0
  114. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/category.py +0 -0
  115. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/connect_ack.py +0 -0
  116. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/contract_type.py +0 -0
  117. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/direction.py +0 -0
  118. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/exchange_code.py +0 -0
  119. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/exercise_style.py +0 -0
  120. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/expiration_cycle.py +0 -0
  121. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/instrument_status.py +0 -0
  122. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/option_type.py +0 -0
  123. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/subscribe_type.py +0 -0
  124. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/common/timespan.py +0 -0
  125. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/data_client.py +0 -0
  126. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/data_streaming_client.py +0 -0
  127. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/__init__.py +0 -0
  128. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/default_retry_policy.py +0 -0
  129. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/exceptions.py +0 -0
  130. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/quotes_client.py +0 -0
  131. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/quotes_decoder.py +0 -0
  132. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/quotes_payload_decoder.py +0 -0
  133. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/internal/quotes_topic.py +0 -0
  134. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/__init__.py +0 -0
  135. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/crypto_market_data.py +0 -0
  136. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/event_market_data.py +0 -0
  137. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/fundamentals.py +0 -0
  138. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/futures_market_data.py +0 -0
  139. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/instrument.py +0 -0
  140. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/market_data.py +0 -0
  141. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/market_streaming_data.py +0 -0
  142. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/option_market_data.py +0 -0
  143. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/screener.py +0 -0
  144. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/__init__.py +0 -0
  145. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/ask_bid_result.py +0 -0
  146. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/basic_result.py +0 -0
  147. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/broker_result.py +0 -0
  148. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_depth_decoder.py +0 -0
  149. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_depth_result.py +0 -0
  150. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_snapshot_decoder.py +0 -0
  151. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_snapshot_result.py +0 -0
  152. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_tick_decoder.py +0 -0
  153. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/event_tick_result.py +0 -0
  154. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/message_pb2.py +0 -0
  155. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/notice_decoder.py +0 -0
  156. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/order_result.py +0 -0
  157. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/payload_type.py +0 -0
  158. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/quote_decoder.py +0 -0
  159. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/quote_result.py +0 -0
  160. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/snapshot_decoder.py +0 -0
  161. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/snapshot_result.py +0 -0
  162. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/tick_decoder.py +0 -0
  163. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/subscribe/tick_result.py +0 -0
  164. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/quotes/watchlist.py +0 -0
  165. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/__init__.py +0 -0
  166. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_analyst_rating_request.py +0 -0
  167. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_analyst_target_price_request.py +0 -0
  168. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_batch_historical_bars_request.py +0 -0
  169. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_capital_flow_request.py +0 -0
  170. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_company_profile_request.py +0 -0
  171. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_corp_action_request.py +0 -0
  172. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_crypto_historical_bars_request.py +0 -0
  173. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_crypto_instruments_request.py +0 -0
  174. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_crypto_instruments_request_v2.py +0 -0
  175. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_crypto_snapshot_request.py +0 -0
  176. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_dividend_calendar_request.py +0 -0
  177. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_earnings_calendar_request.py +0 -0
  178. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_eod_bars_request.py +0 -0
  179. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_bars_request.py +0 -0
  180. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_depth_request.py +0 -0
  181. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_events_request.py +0 -0
  182. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_instrument_request.py +0 -0
  183. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_instrument_request_v2.py +0 -0
  184. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_series_categories.py +0 -0
  185. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_series_request.py +0 -0
  186. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_series_request_v2.py +0 -0
  187. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_snapshot_request.py +0 -0
  188. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_event_tick_request.py +0 -0
  189. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_financials_alert_request.py +0 -0
  190. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_financials_balance_sheet_request.py +0 -0
  191. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_financials_cashflow_request.py +0 -0
  192. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_financials_income_request.py +0 -0
  193. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_financials_indicators_request.py +0 -0
  194. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_footprint_request.py +0 -0
  195. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_forecast_eps_request.py +0 -0
  196. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_allocation_request.py +0 -0
  197. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_brief_request.py +0 -0
  198. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_dividends_request.py +0 -0
  199. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_dividends_request_v2.py +0 -0
  200. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_files_request.py +0 -0
  201. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_holdings_request.py +0 -0
  202. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_net_value_request.py +0 -0
  203. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_performance_request.py +0 -0
  204. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_rating_request.py +0 -0
  205. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_fund_splits_request.py +0 -0
  206. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_depth_request.py +0 -0
  207. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_footprint_request.py +0 -0
  208. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_historical_bars_request.py +0 -0
  209. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_instruments_by_code_request.py +0 -0
  210. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_instruments_request.py +0 -0
  211. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_product_class.py +0 -0
  212. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_products_request.py +0 -0
  213. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_snapshot_request.py +0 -0
  214. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_futures_tick_request.py +0 -0
  215. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_historical_bars_request.py +0 -0
  216. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_industry_comparison_request.py +0 -0
  217. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_instruments_request.py +0 -0
  218. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_instruments_request_v2.py +0 -0
  219. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_noii_bars_request.py +0 -0
  220. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_noii_snapshot_request.py +0 -0
  221. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_option_bars_request.py +0 -0
  222. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_option_contracts_request.py +0 -0
  223. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_option_contracts_request_v2.py +0 -0
  224. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_option_snapshot_request.py +0 -0
  225. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_option_tick_request.py +0 -0
  226. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_quotes_request.py +0 -0
  227. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_sec_filings_request.py +0 -0
  228. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_snapshot_request.py +0 -0
  229. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/get_tick_request.py +0 -0
  230. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/__init__.py +0 -0
  231. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_52whl_request.py +0 -0
  232. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_52whl_request_v2.py +0 -0
  233. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_gainers_losers_request.py +0 -0
  234. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_gainers_losers_request_v2.py +0 -0
  235. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_high_dividend_request.py +0 -0
  236. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_high_dividend_request_v2.py +0 -0
  237. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_market_sectors_detail_request.py +0 -0
  238. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_market_sectors_detail_request_v2.py +0 -0
  239. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_market_sectors_request.py +0 -0
  240. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_market_sectors_request_v2.py +0 -0
  241. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_most_active_request.py +0 -0
  242. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/screener/get_most_active_request_v2.py +0 -0
  243. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/subscribe_request.py +0 -0
  244. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/unsubscribe_request.py +0 -0
  245. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/__init__.py +0 -0
  246. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/add_watchlist_instruments_request.py +0 -0
  247. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/create_watchlist_request.py +0 -0
  248. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/delete_watchlist_request.py +0 -0
  249. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/get_watchlist_instruments_request.py +0 -0
  250. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/get_watchlist_request.py +0 -0
  251. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/remove_watchlist_instruments_request.py +0 -0
  252. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/update_watchlist_instruments_request.py +0 -0
  253. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/data/request/watchlist/update_watchlist_request.py +0 -0
  254. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/__init__.py +0 -0
  255. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/account_type.py +0 -0
  256. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/category.py +0 -0
  257. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/combo_ticker_type.py +0 -0
  258. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/combo_type.py +0 -0
  259. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/currency.py +0 -0
  260. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/forbid_reason.py +0 -0
  261. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/instrument_type.py +0 -0
  262. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/markets.py +0 -0
  263. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/order_entrust_type.py +0 -0
  264. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/order_side.py +0 -0
  265. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/order_status.py +0 -0
  266. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/order_tif.py +0 -0
  267. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/order_type.py +0 -0
  268. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/position_intent.py +0 -0
  269. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/trade_policy.py +0 -0
  270. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/trading_date_type.py +0 -0
  271. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/common/trailing_type.py +0 -0
  272. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/__init__.py +0 -0
  273. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/default_retry_policy.py +0 -0
  274. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/events_pb2.py +0 -0
  275. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/events_pb2_grpc.py +0 -0
  276. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/signature_composer.py +0 -0
  277. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/events/types.py +0 -0
  278. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/__init__.py +0 -0
  279. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/cancel_order_request.py +0 -0
  280. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_account_balance_request.py +0 -0
  281. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_account_positions_request.py +0 -0
  282. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_account_profile_request.py +0 -0
  283. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_activities_request.py +0 -0
  284. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_activities_request_v2.py +0 -0
  285. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_app_subscriptions.py +0 -0
  286. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_open_orders_request.py +0 -0
  287. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_order_detail_request.py +0 -0
  288. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_today_orders_request.py +0 -0
  289. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_trade_calendar_request.py +0 -0
  290. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_trade_instrument_detail_request.py +0 -0
  291. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_trade_security_detail_request.py +0 -0
  292. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/get_tradeable_instruments_request.py +0 -0
  293. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/palce_order_request.py +0 -0
  294. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/place_order_request.py +0 -0
  295. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/place_order_request_v2.py +0 -0
  296. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/replace_order_request.py +0 -0
  297. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/replace_order_request_v2.py +0 -0
  298. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/__init__.py +0 -0
  299. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/cancel_option_request.py +0 -0
  300. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/cancel_order_request.py +0 -0
  301. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_balance_request.py +0 -0
  302. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_list.py +0 -0
  303. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_list_request.py +0 -0
  304. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_position_details_request.py +0 -0
  305. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_position_details_request_v2.py +0 -0
  306. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_account_positions_request.py +0 -0
  307. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_order_detail_request.py +0 -0
  308. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_order_executions_request.py +0 -0
  309. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_order_executions_request_v2.py +0 -0
  310. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_order_history_request.py +0 -0
  311. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/get_order_open_request.py +0 -0
  312. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/palce_order_request.py +0 -0
  313. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/place_option_request.py +0 -0
  314. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/place_order_request.py +0 -0
  315. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/preview_option_request.py +0 -0
  316. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/preview_order_request.py +0 -0
  317. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/replace_option_request.py +0 -0
  318. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v2/replace_order_request.py +0 -0
  319. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/__init__.py +0 -0
  320. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/batch_place_order_request.py +0 -0
  321. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/cancel_order_request.py +0 -0
  322. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/get_order_detail_request.py +0 -0
  323. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/get_order_history_request.py +0 -0
  324. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/get_order_history_request_v2.py +0 -0
  325. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/get_order_open_request.py +0 -0
  326. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/get_order_open_request_v2.py +0 -0
  327. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/place_order_request.py +0 -0
  328. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/preview_order_request.py +0 -0
  329. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/request/v3/replace_order_request.py +0 -0
  330. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/__init__.py +0 -0
  331. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/account_info.py +0 -0
  332. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/order_operation.py +0 -0
  333. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/trade_calendar.py +0 -0
  334. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/trade_instrument.py +0 -0
  335. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/v2/__init__.py +0 -0
  336. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/v2/account_info_v2.py +0 -0
  337. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/v2/order_operation_v2.py +0 -0
  338. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/v3/__init__.py +0 -0
  339. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade/v3/order_operation_v3.py +0 -0
  340. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade_client.py +0 -0
  341. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull/trade/trade_events_client.py +0 -0
  342. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull_openapi_python_sdk.egg-info/dependency_links.txt +0 -0
  343. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull_openapi_python_sdk.egg-info/requires.txt +0 -0
  344. {webull_openapi_python_sdk-3.0.1 → webull_openapi_python_sdk-3.0.2}/webull_openapi_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webull-openapi-python-sdk
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
@@ -0,0 +1 @@
1
+ __version__ = '3.0.2'
@@ -18,6 +18,7 @@ from time import sleep
18
18
 
19
19
  from webull.core.client import ApiClient
20
20
  from webull.trade.trade_client import TradeClient
21
+ from webull.trade.common.transfer_activities_param import TransferActivitiesParam
21
22
 
22
23
  optional_api_endpoint = "<api_endpoint>"
23
24
  your_app_key = "<your_app_key>"
@@ -888,3 +889,40 @@ if __name__ == '__main__':
888
889
  res = trade_client.order_v3.get_order_detail(account_id, trailing_stop_loss_limit_client_order_id)
889
890
  if res.status_code == 200:
890
891
  print('get trailing stop loss limit order detail res:', res.json())
892
+
893
+ # ============================================================
894
+ # Position Transfers Example (US only)
895
+ # ============================================================
896
+
897
+ # First page: pass no pagination_key and no filters.
898
+ res = trade_client.activity.list_transfers_activities(TransferActivitiesParam(account_id))
899
+ if res.status_code == 200:
900
+ print('list transfers activities res:', res.json())
901
+
902
+ # Iterate all pages using the returned pagination_key until it is absent.
903
+ pagination_key = (res.json() or {}).get('pagination_key') if res.status_code == 200 else None
904
+ while pagination_key:
905
+ res = trade_client.activity.list_transfers_activities(
906
+ TransferActivitiesParam(account_id, pagination_key=pagination_key))
907
+ if res.status_code != 200:
908
+ break
909
+ print('list transfers activities next page res:', res.json())
910
+ pagination_key = (res.json() or {}).get('pagination_key')
911
+
912
+ # Filtered query: ACATS/crypto incoming transfers, FULL type, within a time range.
913
+ res = trade_client.activity.list_transfers_activities(
914
+ TransferActivitiesParam(
915
+ account_id,
916
+ transfer_method="ACATS,CRYPTO_TRANSFER",
917
+ direction="INCOMING",
918
+ status="PENDING,COMPLETED",
919
+ acats_transfer_types="FULL",
920
+ start_time="2026-08-01T00:00:00Z",
921
+ end_time="2026-08-31T23:59:59Z"))
922
+ if res.status_code == 200:
923
+ print('list transfers activities filtered res:', res.json())
924
+
925
+ # Get a single transfer record by account_id and transfer_id.
926
+ res = trade_client.activity.get_transfer_activity_detail(account_id, transfer_id="<your_transfer_id>")
927
+ if res.status_code == 200:
928
+ print('get transfer activity res:', res.json())
@@ -0,0 +1 @@
1
+ __version__ = '3.0.2'
@@ -1,4 +1,4 @@
1
- __version__ = '3.0.1'
1
+ __version__ = '3.0.2'
2
2
 
3
3
  import logging
4
4
 
@@ -46,4 +46,11 @@ def assert_integer_positive(integer, name):
46
46
  if isinstance(integer, int) and integer > 0:
47
47
  return
48
48
  raise ClientException(error_code.SDK_INVALID_PARAMETER,
49
- "{0} should be a positive integer.".format(name))
49
+ "{0} should be a positive integer.".format(name))
50
+
51
+
52
+ def assert_string_not_empty(value, name):
53
+ if isinstance(value, str) and value.strip():
54
+ return
55
+ raise ClientException(error_code.SDK_INVALID_PARAMETER,
56
+ "{0} should not be empty.".format(name))
@@ -0,0 +1,3 @@
1
+ # coding=utf-8
2
+
3
+ __version__ = '3.0.2'
@@ -0,0 +1 @@
1
+ __version__ = '3.0.2'
@@ -0,0 +1,44 @@
1
+ # Copyright 2022 Webull
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # coding=utf-8
16
+
17
+ from webull.core.utils import validation
18
+
19
+
20
+ class TransferActivitiesParam:
21
+ """
22
+ Parameter object for :meth:`Activity.list_transfers_activities`.
23
+
24
+ :param account_id: Account ID (required).
25
+ :param transfer_method: Transfer method filter, comma-separated (e.g. ACATS,CRYPTO_TRANSFER) (optional).
26
+ :param direction: Direction filter: INCOMING or OUTGOING (optional).
27
+ :param status: Status filter, comma-separated: PENDING, COMPLETED, REJECTED, FAILED, CANCELLED (optional).
28
+ :param acats_transfer_types: ACATS transfer types filter, comma-separated: FULL, PARTIAL, RESIDUAL, RECLAIM, OTHER (optional).
29
+ :param start_time: ISO8601 UTC start time of transfer create time (optional).
30
+ :param end_time: ISO8601 UTC end time of transfer create time (optional).
31
+ :param pagination_key: Pagination key from the previous page response; not returned on the last page (optional).
32
+ """
33
+
34
+ def __init__(self, account_id, transfer_method=None, direction=None, status=None,
35
+ acats_transfer_types=None, start_time=None, end_time=None, pagination_key=None):
36
+ validation.assert_string_not_empty(account_id, "account_id")
37
+ self.account_id = account_id
38
+ self.transfer_method = transfer_method
39
+ self.direction = direction
40
+ self.status = status
41
+ self.acats_transfer_types = acats_transfer_types
42
+ self.start_time = start_time
43
+ self.end_time = end_time
44
+ self.pagination_key = pagination_key
@@ -0,0 +1,28 @@
1
+ # Copyright 2022 Webull
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # coding=utf-8
16
+ from webull.core.request import ApiRequest
17
+
18
+
19
+ class TransferActivitiesDetailRequest(ApiRequest):
20
+ def __init__(self):
21
+ ApiRequest.__init__(self, "/trading/activities/transfer-activities/get", version='v3', method="GET",
22
+ query_params={})
23
+
24
+ def set_account_id(self, account_id):
25
+ self.add_query_param("account_id", account_id)
26
+
27
+ def set_transfer_id(self, transfer_id):
28
+ self.add_query_param("transfer_id", transfer_id)
@@ -0,0 +1,55 @@
1
+ # Copyright 2022 Webull
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # coding=utf-8
16
+ from webull.core.request import ApiRequest
17
+ from webull.core.utils import validation
18
+
19
+
20
+ class TransferActivitiesRequest(ApiRequest):
21
+ def __init__(self):
22
+ ApiRequest.__init__(self, "/trading/activities/transfer-activities/list", version='v3', method="GET",
23
+ query_params={})
24
+
25
+ def set_account_id(self, account_id):
26
+ validation.assert_string_not_empty(account_id, "account_id")
27
+ self.add_query_param("account_id", account_id)
28
+
29
+ def set_transfer_method(self, transfer_method):
30
+ if transfer_method is not None:
31
+ self.add_query_param("transfer_method", transfer_method)
32
+
33
+ def set_direction(self, direction):
34
+ if direction is not None:
35
+ self.add_query_param("direction", direction)
36
+
37
+ def set_status(self, status):
38
+ if status is not None:
39
+ self.add_query_param("status", status)
40
+
41
+ def set_acats_transfer_types(self, acats_transfer_types):
42
+ if acats_transfer_types is not None:
43
+ self.add_query_param("acats_transfer_types", acats_transfer_types)
44
+
45
+ def set_start_time(self, start_time):
46
+ if start_time is not None:
47
+ self.add_query_param("start_time", start_time)
48
+
49
+ def set_end_time(self, end_time):
50
+ if end_time is not None:
51
+ self.add_query_param("end_time", end_time)
52
+
53
+ def set_pagination_key(self, pagination_key):
54
+ if pagination_key:
55
+ self.add_query_param("pagination_key", pagination_key)
@@ -0,0 +1,155 @@
1
+ # Copyright 2022 Webull
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # coding=utf-8
16
+
17
+ from webull.core.common.region import Region
18
+ from webull.core.exception import error_code
19
+ from webull.core.exception.exceptions import ClientException
20
+ from webull.trade.request.get_activities_request import GetActivitiesRequest
21
+ from webull.trade.request.get_activities_request_v2 import GetActivitiesRequestV2
22
+ from webull.trade.request.v3.get_transfer_activities_request import TransferActivitiesRequest
23
+ from webull.trade.request.v3.get_transfer_activities_detail_request import TransferActivitiesDetailRequest
24
+ from webull.trade.common.transfer_activities_param import TransferActivitiesParam
25
+
26
+
27
+ class Activity:
28
+ def __init__(self, api_client):
29
+ self.client = api_client
30
+
31
+ def _assert_us_region(self, operation):
32
+ region_id = self.client.get_region_id()
33
+ if region_id != Region.US.value:
34
+ raise ClientException(
35
+ error_code.SDK_NOT_SUPPORT,
36
+ "%s is currently supported only for Webull US region, current region is %s." % (
37
+ operation, region_id))
38
+
39
+ def get_activities(self, account_id, activity_types=None, start_time=None, end_time=None,
40
+ last_activity_id=None, page_size=10):
41
+ """
42
+ .. deprecated::
43
+ Use :meth:`list_activities` instead.
44
+
45
+ The x-version header distinguishes the legacy and new pagination protocols for this path.
46
+
47
+ Query cash activities by type with pagination support.
48
+ This interface is currently supported only for Webull US.
49
+
50
+ :param account_id: Account ID
51
+ :param activity_types: Activity types filter, comma-separated string (optional)
52
+ :param start_time: Start time filter (optional)
53
+ :param end_time: End time filter (optional)
54
+ :param last_activity_id: The last activity ID of the previous page for cursor-based pagination (optional)
55
+ :param page_size: Number of entries per page, default value is 10
56
+ """
57
+ get_activities_request = GetActivitiesRequest()
58
+ get_activities_request.set_account_id(account_id)
59
+ if activity_types is not None:
60
+ get_activities_request.set_activity_types(activity_types)
61
+ if start_time is not None:
62
+ get_activities_request.set_start_time(start_time)
63
+ if end_time is not None:
64
+ get_activities_request.set_end_time(end_time)
65
+ if last_activity_id is not None:
66
+ get_activities_request.set_last_activity_id(last_activity_id)
67
+ get_activities_request.set_page_size(page_size)
68
+ response = self.client.get_response(get_activities_request)
69
+ return response
70
+
71
+ def list_activities(self, account_id, activity_types=None, start_time=None, end_time=None,
72
+ pagination_key=None):
73
+ """
74
+ The x-version header distinguishes the legacy and new pagination protocols for this path.
75
+
76
+ Query cash activities by type with pagination support.
77
+ This interface is currently supported only for Webull US.
78
+
79
+ :param account_id: Account ID
80
+ :param activity_types: Activity types filter, comma-separated string (optional)
81
+ :param start_time: Start time filter (optional)
82
+ :param end_time: End time filter (optional)
83
+ :param pagination_key: Pagination key from the previous page response; not returned on the last page.
84
+ """
85
+ get_activities_request = GetActivitiesRequestV2()
86
+ get_activities_request.set_account_id(account_id)
87
+ if activity_types is not None:
88
+ get_activities_request.set_activity_types(activity_types)
89
+ if start_time is not None:
90
+ get_activities_request.set_start_time(start_time)
91
+ if end_time is not None:
92
+ get_activities_request.set_end_time(end_time)
93
+ if pagination_key is not None:
94
+ get_activities_request.set_pagination_key(pagination_key)
95
+ response = self.client.get_response(get_activities_request)
96
+ return response
97
+
98
+ def list_transfers_activities(self, param):
99
+ """
100
+ Query transfer records with pagination support. Results are ordered by create time descending.
101
+ Routes to ACATS or crypto transfer downstream by account type.
102
+ This interface is currently supported only for Webull US.
103
+
104
+ Each record is a summary view containing: account_id, transfer_method, transfer_id, direction,
105
+ status, failure_reason, acats_associated_number, acats_transfer_types, create_time, update_time,
106
+ transfer_settlement_date. Detailed fields (acats_control_number, contra_broker, crypto_transaction_hash,
107
+ crypto_from_address, crypto_to_address, cash, positions) are returned only by get_transfer_activity.
108
+
109
+ :param param: A :class:`TransferActivitiesParam` object carrying account_id and optional filters.
110
+ """
111
+ self._assert_us_region("list_transfers_activities")
112
+ if not isinstance(param, TransferActivitiesParam):
113
+ raise ClientException(
114
+ error_code.SDK_INVALID_PARAMETER,
115
+ "param should be a TransferActivitiesParam object.")
116
+ get_transfers_request = TransferActivitiesRequest()
117
+ get_transfers_request.set_account_id(param.account_id)
118
+ if param.transfer_method is not None:
119
+ get_transfers_request.set_transfer_method(param.transfer_method)
120
+ if param.direction is not None:
121
+ get_transfers_request.set_direction(param.direction)
122
+ if param.status is not None:
123
+ get_transfers_request.set_status(param.status)
124
+ if param.acats_transfer_types is not None:
125
+ get_transfers_request.set_acats_transfer_types(param.acats_transfer_types)
126
+ if param.start_time is not None:
127
+ get_transfers_request.set_start_time(param.start_time)
128
+ if param.end_time is not None:
129
+ get_transfers_request.set_end_time(param.end_time)
130
+ if param.pagination_key is not None:
131
+ get_transfers_request.set_pagination_key(param.pagination_key)
132
+ response = self.client.get_response(get_transfers_request)
133
+ return response
134
+
135
+ def get_transfer_activity_detail(self, account_id, transfer_id):
136
+ """
137
+ Get a single transfer record by account ID and transfer ID.
138
+ This interface is currently supported only for Webull US.
139
+
140
+ Returns the full detail view. In addition to the summary fields from list_transfers_activities,
141
+ it also includes: acats_control_number, contra_broker (broker_name, dtc_number, account_type,
142
+ account_number), crypto_transaction_hash, crypto_from_address, crypto_to_address, cash
143
+ (amount, currency, settlement_date) and positions (asset_type is one of EQUITY, OPTION, FUTURES,
144
+ CRYPTO, EVENT, MUTUAL_FUND, BOND; plus symbol, name, cusip, quantity, fee_quantity, total_quantity,
145
+ transfer_price, settlement_date).
146
+
147
+ :param account_id: Account ID
148
+ :param transfer_id: Transfer record ID
149
+ """
150
+ self._assert_us_region("get_transfer_activity_detail")
151
+ get_transfer_request = TransferActivitiesDetailRequest()
152
+ get_transfer_request.set_account_id(account_id)
153
+ get_transfer_request.set_transfer_id(transfer_id)
154
+ response = self.client.get_response(get_transfer_request)
155
+ return response
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webull-openapi-python-sdk
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
@@ -259,6 +259,7 @@ webull/trade/common/position_intent.py
259
259
  webull/trade/common/trade_policy.py
260
260
  webull/trade/common/trading_date_type.py
261
261
  webull/trade/common/trailing_type.py
262
+ webull/trade/common/transfer_activities_param.py
262
263
  webull/trade/events/__init__.py
263
264
  webull/trade/events/default_retry_policy.py
264
265
  webull/trade/events/events_pb2.py
@@ -314,6 +315,8 @@ webull/trade/request/v3/get_order_history_request.py
314
315
  webull/trade/request/v3/get_order_history_request_v2.py
315
316
  webull/trade/request/v3/get_order_open_request.py
316
317
  webull/trade/request/v3/get_order_open_request_v2.py
318
+ webull/trade/request/v3/get_transfer_activities_detail_request.py
319
+ webull/trade/request/v3/get_transfer_activities_request.py
317
320
  webull/trade/request/v3/place_order_request.py
318
321
  webull/trade/request/v3/preview_order_request.py
319
322
  webull/trade/request/v3/replace_order_request.py
@@ -1 +0,0 @@
1
- __version__ = '3.0.1'
@@ -1 +0,0 @@
1
- __version__ = '3.0.1'
@@ -1,3 +0,0 @@
1
- # coding=utf-8
2
-
3
- __version__ = '3.0.1'
@@ -1 +0,0 @@
1
- __version__ = '3.0.1'
@@ -1,82 +0,0 @@
1
- # Copyright 2022 Webull
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- # coding=utf-8
16
-
17
- from webull.trade.request.get_activities_request import GetActivitiesRequest
18
- from webull.trade.request.get_activities_request_v2 import GetActivitiesRequestV2
19
-
20
-
21
- class Activity:
22
- def __init__(self, api_client):
23
- self.client = api_client
24
-
25
- def get_activities(self, account_id, activity_types=None, start_time=None, end_time=None,
26
- last_activity_id=None, page_size=10):
27
- """
28
- .. deprecated::
29
- Use :meth:`list_activities` instead.
30
-
31
- The x-version header distinguishes the legacy and new pagination protocols for this path.
32
-
33
- Query cash activities by type with pagination support.
34
- This interface is currently supported only for Webull US.
35
-
36
- :param account_id: Account ID
37
- :param activity_types: Activity types filter, comma-separated string (optional)
38
- :param start_time: Start time filter (optional)
39
- :param end_time: End time filter (optional)
40
- :param last_activity_id: The last activity ID of the previous page for cursor-based pagination (optional)
41
- :param page_size: Number of entries per page, default value is 10
42
- """
43
- get_activities_request = GetActivitiesRequest()
44
- get_activities_request.set_account_id(account_id)
45
- if activity_types is not None:
46
- get_activities_request.set_activity_types(activity_types)
47
- if start_time is not None:
48
- get_activities_request.set_start_time(start_time)
49
- if end_time is not None:
50
- get_activities_request.set_end_time(end_time)
51
- if last_activity_id is not None:
52
- get_activities_request.set_last_activity_id(last_activity_id)
53
- get_activities_request.set_page_size(page_size)
54
- response = self.client.get_response(get_activities_request)
55
- return response
56
-
57
- def list_activities(self, account_id, activity_types=None, start_time=None, end_time=None,
58
- pagination_key=None):
59
- """
60
- The x-version header distinguishes the legacy and new pagination protocols for this path.
61
-
62
- Query cash activities by type with pagination support.
63
- This interface is currently supported only for Webull US.
64
-
65
- :param account_id: Account ID
66
- :param activity_types: Activity types filter, comma-separated string (optional)
67
- :param start_time: Start time filter (optional)
68
- :param end_time: End time filter (optional)
69
- :param pagination_key: Pagination key from the previous page response; not returned on the last page.
70
- """
71
- get_activities_request = GetActivitiesRequestV2()
72
- get_activities_request.set_account_id(account_id)
73
- if activity_types is not None:
74
- get_activities_request.set_activity_types(activity_types)
75
- if start_time is not None:
76
- get_activities_request.set_start_time(start_time)
77
- if end_time is not None:
78
- get_activities_request.set_end_time(end_time)
79
- if pagination_key is not None:
80
- get_activities_request.set_pagination_key(pagination_key)
81
- response = self.client.get_response(get_activities_request)
82
- return response