webull-openapi-python-sdk 1.0.7__tar.gz → 1.0.8__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 (349) hide show
  1. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/PKG-INFO +1 -1
  2. webull_openapi_python_sdk-1.0.8/samples/__init__.py +1 -0
  3. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/trade/trade_client_v3.py +32 -1
  4. webull_openapi_python_sdk-1.0.8/webull/__init__.py +1 -0
  5. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/__init__.py +1 -1
  6. webull_openapi_python_sdk-1.0.8/webull/data/__init__.py +3 -0
  7. webull_openapi_python_sdk-1.0.8/webull/data/quotes/subscribe/message_pb2.py +37 -0
  8. webull_openapi_python_sdk-1.0.8/webull/data/quotes/subscribe/snapshot_result.py +133 -0
  9. webull_openapi_python_sdk-1.0.8/webull/trade/__init__.py +1 -0
  10. webull_openapi_python_sdk-1.0.8/webull/trade/request/v3/batch_place_order_request.py +52 -0
  11. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/v3/order_opration_v3.py +13 -0
  12. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull_openapi_python_sdk.egg-info/PKG-INFO +1 -1
  13. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull_openapi_python_sdk.egg-info/SOURCES.txt +1 -0
  14. webull_openapi_python_sdk-1.0.7/samples/__init__.py +0 -1
  15. webull_openapi_python_sdk-1.0.7/webull/__init__.py +0 -1
  16. webull_openapi_python_sdk-1.0.7/webull/data/__init__.py +0 -3
  17. webull_openapi_python_sdk-1.0.7/webull/data/quotes/subscribe/message_pb2.py +0 -37
  18. webull_openapi_python_sdk-1.0.7/webull/data/quotes/subscribe/snapshot_result.py +0 -69
  19. webull_openapi_python_sdk-1.0.7/webull/trade/__init__.py +0 -1
  20. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/ChangeLog.txt +0 -0
  21. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/LICENSE +0 -0
  22. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/MANIFEST.in +0 -0
  23. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/NOTICE +0 -0
  24. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/README.rst +0 -0
  25. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/account/__init__.py +0 -0
  26. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/account/account_client.py +0 -0
  27. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/assets/__init__.py +0 -0
  28. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/assets/assets_client.py +0 -0
  29. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/data/__init__.py +0 -0
  30. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/data/data_client.py +0 -0
  31. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/data/data_streaming_client.py +0 -0
  32. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/data/data_streaming_client_async.py +0 -0
  33. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/order/__init__.py +0 -0
  34. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/order/order_option_client.py +0 -0
  35. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/order/order_stock_client.py +0 -0
  36. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/trade/__init__.py +0 -0
  37. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/trade/trade_client.py +0 -0
  38. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/trade/trade_client_v2.py +0 -0
  39. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/samples/trade/trade_event_client.py +0 -0
  40. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/setup.cfg +0 -0
  41. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/setup.py +0 -0
  42. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/__init__.py +0 -0
  43. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/algorithm/__init__.py +0 -0
  44. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/algorithm/sha_hmac1.py +0 -0
  45. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/algorithm/sha_hmac256.py +0 -0
  46. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/composer/__init__.py +0 -0
  47. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/composer/default_signature_composer.py +0 -0
  48. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/credentials.py +0 -0
  49. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/signers/__init__.py +0 -0
  50. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/signers/app_key_signer.py +0 -0
  51. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/signers/signer.py +0 -0
  52. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/auth/signers/signer_factory.py +0 -0
  53. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/cache/__init__.py +0 -0
  54. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/client.py +0 -0
  55. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/common/__init__.py +0 -0
  56. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/common/api_type.py +0 -0
  57. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/common/easy_enum.py +0 -0
  58. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/common/region.py +0 -0
  59. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/compat.py +0 -0
  60. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/context/__init__.py +0 -0
  61. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/context/request_context_holder.py +0 -0
  62. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/data/endpoints.json +0 -0
  63. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/data/retry_config.json +0 -0
  64. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/__init__.py +0 -0
  65. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/chained_endpoint_resolver.py +0 -0
  66. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/default_endpoint_resolver.py +0 -0
  67. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/local_config_regional_endpoint_resolver.py +0 -0
  68. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/resolver_endpoint_request.py +0 -0
  69. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/endpoint/user_customized_endpoint_resolver.py +0 -0
  70. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/exception/__init__.py +0 -0
  71. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/exception/error_code.py +0 -0
  72. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/exception/error_msg.py +0 -0
  73. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/exception/exceptions.py +0 -0
  74. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/headers.py +0 -0
  75. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/__init__.py +0 -0
  76. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/__init__.py +0 -0
  77. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/client_initializer.py +0 -0
  78. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/config/__init__.py +0 -0
  79. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/config/bean/__init__.py +0 -0
  80. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/config/bean/query_config_request.py +0 -0
  81. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/config/config_operation.py +0 -0
  82. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/__init__.py +0 -0
  83. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/bean/__init__.py +0 -0
  84. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/bean/access_token.py +0 -0
  85. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/bean/check_token_request.py +0 -0
  86. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/bean/create_token_request.py +0 -0
  87. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/bean/refresh_token_request.py +0 -0
  88. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/token_manager.py +0 -0
  89. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/token_operation.py +0 -0
  90. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/initializer/token/token_storage.py +0 -0
  91. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/method_type.py +0 -0
  92. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/protocol_type.py +0 -0
  93. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/request.py +0 -0
  94. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/http/response.py +0 -0
  95. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/request.py +0 -0
  96. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/retry/__init__.py +0 -0
  97. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/retry/backoff_strategy.py +0 -0
  98. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/retry/retry_condition.py +0 -0
  99. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/retry/retry_policy.py +0 -0
  100. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/retry/retry_policy_context.py +0 -0
  101. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/utils/__init__.py +0 -0
  102. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/utils/common.py +0 -0
  103. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/utils/data.py +0 -0
  104. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/utils/desensitize.py +0 -0
  105. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/utils/validation.py +0 -0
  106. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/__init__.py +0 -0
  107. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/__init__.py +0 -0
  108. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/__version__.py +0 -0
  109. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/_internal_utils.py +0 -0
  110. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/adapters.py +0 -0
  111. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/api.py +0 -0
  112. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/auth.py +0 -0
  113. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/certs.py +0 -0
  114. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/compat.py +0 -0
  115. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/cookies.py +0 -0
  116. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/exceptions.py +0 -0
  117. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/help.py +0 -0
  118. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/hooks.py +0 -0
  119. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/models.py +0 -0
  120. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/__init__.py +0 -0
  121. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/certifi/__init__.py +0 -0
  122. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/certifi/__main__.py +0 -0
  123. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/certifi/cacert.pem +0 -0
  124. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/certifi/core.py +0 -0
  125. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/__init__.py +0 -0
  126. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/big5freq.py +0 -0
  127. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/big5prober.py +0 -0
  128. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/chardistribution.py +0 -0
  129. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/charsetgroupprober.py +0 -0
  130. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/charsetprober.py +0 -0
  131. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/cli/__init__.py +0 -0
  132. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/cli/chardetect.py +0 -0
  133. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/codingstatemachine.py +0 -0
  134. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/compat.py +0 -0
  135. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/cp949prober.py +0 -0
  136. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/enums.py +0 -0
  137. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/escprober.py +0 -0
  138. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/escsm.py +0 -0
  139. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/eucjpprober.py +0 -0
  140. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/euckrfreq.py +0 -0
  141. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/euckrprober.py +0 -0
  142. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/euctwfreq.py +0 -0
  143. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/euctwprober.py +0 -0
  144. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/gb2312freq.py +0 -0
  145. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/gb2312prober.py +0 -0
  146. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/hebrewprober.py +0 -0
  147. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/jisfreq.py +0 -0
  148. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/jpcntx.py +0 -0
  149. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langbulgarianmodel.py +0 -0
  150. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langcyrillicmodel.py +0 -0
  151. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langgreekmodel.py +0 -0
  152. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langhebrewmodel.py +0 -0
  153. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langhungarianmodel.py +0 -0
  154. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langthaimodel.py +0 -0
  155. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/langturkishmodel.py +0 -0
  156. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/latin1prober.py +0 -0
  157. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/mbcharsetprober.py +0 -0
  158. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/mbcsgroupprober.py +0 -0
  159. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/mbcssm.py +0 -0
  160. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/sbcharsetprober.py +0 -0
  161. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/sbcsgroupprober.py +0 -0
  162. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/sjisprober.py +0 -0
  163. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/universaldetector.py +0 -0
  164. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/utf8prober.py +0 -0
  165. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/chardet/version.py +0 -0
  166. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/__init__.py +0 -0
  167. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/_collections.py +0 -0
  168. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/connection.py +0 -0
  169. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/connectionpool.py +0 -0
  170. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/__init__.py +0 -0
  171. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/_appengine_environ.py +0 -0
  172. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport/__init__.py +0 -0
  173. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport/bindings.py +0 -0
  174. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport/low_level.py +0 -0
  175. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/appengine.py +0 -0
  176. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/ntlmpool.py +0 -0
  177. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/pyopenssl.py +0 -0
  178. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/securetransport.py +0 -0
  179. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/contrib/socks.py +0 -0
  180. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/exceptions.py +0 -0
  181. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/fields.py +0 -0
  182. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/filepost.py +0 -0
  183. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/__init__.py +0 -0
  184. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/backports/__init__.py +0 -0
  185. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/backports/makefile.py +0 -0
  186. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/ordered_dict.py +0 -0
  187. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/six.py +0 -0
  188. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/socks.py +0 -0
  189. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +0 -0
  190. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +0 -0
  191. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/poolmanager.py +0 -0
  192. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/request.py +0 -0
  193. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/response.py +0 -0
  194. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/__init__.py +0 -0
  195. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/connection.py +0 -0
  196. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/queue.py +0 -0
  197. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/request.py +0 -0
  198. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/response.py +0 -0
  199. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/retry.py +0 -0
  200. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/selectors.py +0 -0
  201. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/ssl_.py +0 -0
  202. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/timeout.py +0 -0
  203. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/url.py +0 -0
  204. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages/urllib3/util/wait.py +0 -0
  205. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/packages.py +0 -0
  206. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/sessions.py +0 -0
  207. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/status_codes.py +0 -0
  208. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/structures.py +0 -0
  209. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/requests/utils.py +0 -0
  210. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/core/vendored/six.py +0 -0
  211. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/__init__.py +0 -0
  212. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/category.py +0 -0
  213. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/connect_ack.py +0 -0
  214. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/contract_type.py +0 -0
  215. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/direction.py +0 -0
  216. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/exchange_code.py +0 -0
  217. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/exercise_style.py +0 -0
  218. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/expiration_cycle.py +0 -0
  219. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/instrument_status.py +0 -0
  220. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/option_type.py +0 -0
  221. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/subscribe_type.py +0 -0
  222. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/common/timespan.py +0 -0
  223. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/data_client.py +0 -0
  224. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/data_streaming_client.py +0 -0
  225. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/__init__.py +0 -0
  226. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/default_retry_policy.py +0 -0
  227. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/exceptions.py +0 -0
  228. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/quotes_client.py +0 -0
  229. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/quotes_decoder.py +0 -0
  230. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/quotes_payload_decoder.py +0 -0
  231. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/internal/quotes_topic.py +0 -0
  232. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/__init__.py +0 -0
  233. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/crypto_market_data.py +0 -0
  234. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/futures_market_data.py +0 -0
  235. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/instrument.py +0 -0
  236. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/market_data.py +0 -0
  237. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/market_streaming_data.py +0 -0
  238. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/__init__.py +0 -0
  239. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/ask_bid_result.py +0 -0
  240. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/basic_result.py +0 -0
  241. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/broker_result.py +0 -0
  242. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/order_result.py +0 -0
  243. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/payload_type.py +0 -0
  244. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/quote_decoder.py +0 -0
  245. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/quote_result.py +0 -0
  246. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/snapshot_decoder.py +0 -0
  247. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/tick_decoder.py +0 -0
  248. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/quotes/subscribe/tick_result.py +0 -0
  249. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/__init__.py +0 -0
  250. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_batch_historical_bars_request.py +0 -0
  251. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_corp_action_request.py +0 -0
  252. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_crypto_historical_bars_request.py +0 -0
  253. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_crypto_instruments_request.py +0 -0
  254. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_crypto_snapshot_request.py +0 -0
  255. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_eod_bars_request.py +0 -0
  256. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_depth_request.py +0 -0
  257. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_historical_bars_request.py +0 -0
  258. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_instruments_by_code_request.py +0 -0
  259. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_instruments_request.py +0 -0
  260. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_products_request.py +0 -0
  261. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_snapshot_request.py +0 -0
  262. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_futures_tick_request.py +0 -0
  263. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_historical_bars_request.py +0 -0
  264. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_instruments_request.py +0 -0
  265. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_quotes_request.py +0 -0
  266. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_snapshot_request.py +0 -0
  267. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/get_tick_request.py +0 -0
  268. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/subscribe_request.py +0 -0
  269. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/data/request/unsubscribe_request.py +0 -0
  270. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/__init__.py +0 -0
  271. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/account_type.py +0 -0
  272. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/category.py +0 -0
  273. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/combo_ticker_type.py +0 -0
  274. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/combo_type.py +0 -0
  275. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/currency.py +0 -0
  276. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/forbid_reason.py +0 -0
  277. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/instrument_type.py +0 -0
  278. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/markets.py +0 -0
  279. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/order_entrust_type.py +0 -0
  280. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/order_side.py +0 -0
  281. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/order_status.py +0 -0
  282. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/order_tif.py +0 -0
  283. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/order_type.py +0 -0
  284. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/trade_policy.py +0 -0
  285. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/trading_date_type.py +0 -0
  286. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/common/trailing_type.py +0 -0
  287. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/__init__.py +0 -0
  288. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/default_retry_policy.py +0 -0
  289. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/events_pb2.py +0 -0
  290. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/events_pb2_grpc.py +0 -0
  291. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/signature_composer.py +0 -0
  292. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/events/types.py +0 -0
  293. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/__init__.py +0 -0
  294. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/cancel_order_request.py +0 -0
  295. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_account_balance_request.py +0 -0
  296. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_account_positions_request.py +0 -0
  297. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_account_profile_request.py +0 -0
  298. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_app_subscriptions.py +0 -0
  299. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_open_orders_request.py +0 -0
  300. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_order_detail_request.py +0 -0
  301. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_today_orders_request.py +0 -0
  302. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_trade_calendar_request.py +0 -0
  303. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_trade_instrument_detail_request.py +0 -0
  304. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_trade_security_detail_request.py +0 -0
  305. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/get_tradeable_instruments_request.py +0 -0
  306. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/palce_order_request.py +0 -0
  307. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/place_order_request.py +0 -0
  308. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/place_order_request_v2.py +0 -0
  309. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/replace_order_request.py +0 -0
  310. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/replace_order_request_v2.py +0 -0
  311. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/__init__.py +0 -0
  312. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/cancel_option_request.py +0 -0
  313. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/cancel_order_request.py +0 -0
  314. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_account_balance_request.py +0 -0
  315. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_account_list.py +0 -0
  316. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_account_list_request.py +0 -0
  317. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_account_positions_request.py +0 -0
  318. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_order_detail_request.py +0 -0
  319. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_order_history_request.py +0 -0
  320. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/get_order_open_request.py +0 -0
  321. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/palce_order_request.py +0 -0
  322. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/place_option_request.py +0 -0
  323. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/place_order_request.py +0 -0
  324. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/preview_option_request.py +0 -0
  325. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/preview_order_request.py +0 -0
  326. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/replace_option_request.py +0 -0
  327. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v2/replace_order_request.py +0 -0
  328. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/__init__.py +0 -0
  329. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/cancel_order_request.py +0 -0
  330. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/get_order_detail_request.py +0 -0
  331. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/get_order_history_request.py +0 -0
  332. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/get_order_open_request.py +0 -0
  333. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/place_order_request.py +0 -0
  334. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/preview_order_request.py +0 -0
  335. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/request/v3/replace_order_request.py +0 -0
  336. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/__init__.py +0 -0
  337. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/account_info.py +0 -0
  338. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/order_operation.py +0 -0
  339. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/trade_calendar.py +0 -0
  340. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/trade_instrument.py +0 -0
  341. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/v2/__init__.py +0 -0
  342. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/v2/account_info_v2.py +0 -0
  343. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/v2/order_operation_v2.py +0 -0
  344. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade/v3/__init__.py +0 -0
  345. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade_client.py +0 -0
  346. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull/trade/trade_events_client.py +0 -0
  347. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull_openapi_python_sdk.egg-info/dependency_links.txt +0 -0
  348. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/webull_openapi_python_sdk.egg-info/requires.txt +0 -0
  349. {webull_openapi_python_sdk-1.0.7 → webull_openapi_python_sdk-1.0.8}/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: 1.0.7
3
+ Version: 1.0.8
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
@@ -0,0 +1 @@
1
+ __version__ = '1.0.8'
@@ -208,7 +208,38 @@ if __name__ == '__main__':
208
208
  if res.status_code == 200:
209
209
  print('get master order detail res:', res.json())
210
210
 
211
-
211
+ # batch place order
212
+ batch_place_orders = [
213
+ {
214
+ "combo_type": "NORMAL",
215
+ "client_order_id": uuid.uuid4().hex,
216
+ "instrument_type": "EQUITY",
217
+ "market": "US",
218
+ "symbol": "AAPL",
219
+ "order_type": "MARKET",
220
+ "entrust_type": "QTY",
221
+ "support_trading_session": "CORE",
222
+ "time_in_force": "DAY",
223
+ "side": "BUY",
224
+ "quantity": "1"
225
+ },
226
+ {
227
+ "combo_type": "NORMAL",
228
+ "client_order_id": uuid.uuid4().hex,
229
+ "instrument_type": "EQUITY",
230
+ "market": "US",
231
+ "symbol": "TESL",
232
+ "order_type": "MARKET",
233
+ "entrust_type": "QTY",
234
+ "support_trading_session": "CORE",
235
+ "time_in_force": "DAY",
236
+ "side": "BUY",
237
+ "quantity": "1"
238
+ }
239
+ ]
240
+ res = trade_client.order_v3.batch_place_order(account_id, batch_place_orders)
241
+ if res.status_code == 200:
242
+ print('batch place normal equity order res:', res.json())
212
243
 
213
244
 
214
245
  # ============================================================
@@ -0,0 +1 @@
1
+ __version__ = '1.0.8'
@@ -1,4 +1,4 @@
1
- __version__ = '1.0.7'
1
+ __version__ = '1.0.8'
2
2
 
3
3
  import logging
4
4
 
@@ -0,0 +1,3 @@
1
+ # coding=utf-8
2
+
3
+ __version__ = '1.0.8'
@@ -0,0 +1,37 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: message.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf.internal import builder as _builder
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rmessage.proto\"Z\n\x05\x42\x61sic\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x17\n\x0ftrading_session\x18\x04 \x01(\t\"\xd6\x03\n\x08Snapshot\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x12\n\ntrade_time\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\t\x12\x0c\n\x04open\x18\x04 \x01(\t\x12\x0c\n\x04high\x18\x05 \x01(\t\x12\x0b\n\x03low\x18\x06 \x01(\t\x12\x11\n\tpre_close\x18\x07 \x01(\t\x12\x0e\n\x06volume\x18\x08 \x01(\t\x12\x0e\n\x06\x63hange\x18\t \x01(\t\x12\x14\n\x0c\x63hange_ratio\x18\n \x01(\t\x12\x16\n\x0e\x65xt_trade_time\x18\x0b \x01(\t\x12\x11\n\text_price\x18\x0c \x01(\t\x12\x10\n\x08\x65xt_high\x18\r \x01(\t\x12\x0f\n\x07\x65xt_low\x18\x0e \x01(\t\x12\x12\n\next_volume\x18\x0f \x01(\t\x12\x12\n\next_change\x18\x10 \x01(\t\x12\x18\n\x10\x65xt_change_ratio\x18\x11 \x01(\t\x12\x16\n\x0eovn_trade_time\x18\x12 \x01(\t\x12\x11\n\tovn_price\x18\x13 \x01(\t\x12\x10\n\x08ovn_high\x18\x14 \x01(\t\x12\x0f\n\x07ovn_low\x18\x15 \x01(\t\x12\x12\n\novn_volume\x18\x16 \x01(\t\x12\x12\n\novn_change\x18\x17 \x01(\t\x12\x18\n\x10ovn_change_ratio\x18\x18 \x01(\t\"L\n\x05Quote\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x15\n\x04\x61sks\x18\x02 \x03(\x0b\x32\x07.AskBid\x12\x15\n\x04\x62ids\x18\x03 \x03(\x0b\x32\x07.AskBid\"X\n\x04Tick\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\t\x12\x0e\n\x06volume\x18\x04 \x01(\t\x12\x0c\n\x04side\x18\x05 \x01(\t\"U\n\x06\x41skBid\x12\r\n\x05price\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\x12\x15\n\x05order\x18\x03 \x03(\x0b\x32\x06.Order\x12\x17\n\x06\x62roker\x18\x04 \x03(\x0b\x32\x07.Broker\"#\n\x05Order\x12\x0c\n\x04mpid\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\"#\n\x06\x42roker\x12\x0b\n\x03\x62id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
17
+
18
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'message_pb2', globals())
20
+ if _descriptor._USE_C_DESCRIPTORS == False:
21
+
22
+ DESCRIPTOR._options = None
23
+ _BASIC._serialized_start=17
24
+ _BASIC._serialized_end=107
25
+ _SNAPSHOT._serialized_start=110
26
+ _SNAPSHOT._serialized_end=580
27
+ _QUOTE._serialized_start=582
28
+ _QUOTE._serialized_end=658
29
+ _TICK._serialized_start=660
30
+ _TICK._serialized_end=748
31
+ _ASKBID._serialized_start=750
32
+ _ASKBID._serialized_end=835
33
+ _ORDER._serialized_start=837
34
+ _ORDER._serialized_end=872
35
+ _BROKER._serialized_start=874
36
+ _BROKER._serialized_end=909
37
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,133 @@
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 decimal import Decimal
18
+ from webull.data.quotes.subscribe.basic_result import BasicResult
19
+
20
+
21
+ class SnapshotResult:
22
+ def __init__(self, pb_snapshot):
23
+ self.basic = BasicResult(pb_snapshot.basic)
24
+ self.last_trade_time = int(pb_snapshot.trade_time) if pb_snapshot.trade_time else None
25
+ self.price = Decimal(pb_snapshot.price) if pb_snapshot.price else None
26
+ self.open = Decimal(pb_snapshot.open) if pb_snapshot.open else None
27
+ self.high = Decimal(pb_snapshot.high) if pb_snapshot.high else None
28
+ self.low = Decimal(pb_snapshot.low) if pb_snapshot.low else None
29
+ self.pre_close = Decimal(pb_snapshot.pre_close) if pb_snapshot.pre_close else None
30
+ self.close = Decimal(pb_snapshot.open) if pb_snapshot.open else None
31
+ self.volume = Decimal(pb_snapshot.volume) if pb_snapshot.volume else None
32
+ self.change = Decimal(pb_snapshot.change) if pb_snapshot.change else None
33
+ self.change_ratio = Decimal(pb_snapshot.change_ratio) if pb_snapshot.change_ratio else None
34
+ self.ext_trade_time = int(pb_snapshot.ext_trade_time) if pb_snapshot.ext_trade_time else None
35
+ self.ext_price = Decimal(pb_snapshot.ext_price) if pb_snapshot.ext_price else None
36
+ self.ext_high = Decimal(pb_snapshot.ext_high) if pb_snapshot.ext_high else None
37
+ self.ext_low = Decimal(pb_snapshot.ext_low) if pb_snapshot.ext_low else None
38
+ self.ext_volume = Decimal(pb_snapshot.ext_volume) if pb_snapshot.ext_volume else None
39
+ self.ext_change = Decimal(pb_snapshot.ext_change) if pb_snapshot.ext_change else None
40
+ self.ext_change_ratio = Decimal(pb_snapshot.ext_change_ratio) if pb_snapshot.ext_change_ratio else None
41
+ self.ovn_trade_time = int(pb_snapshot.ovn_trade_time) if pb_snapshot.ovn_trade_time else None
42
+ self.ovn_price = Decimal(pb_snapshot.ovn_price) if pb_snapshot.ovn_price else None
43
+ self.ovn_high = Decimal(pb_snapshot.ovn_high) if pb_snapshot.ovn_high else None
44
+ self.ovn_low = Decimal(pb_snapshot.ovn_low) if pb_snapshot.ovn_low else None
45
+ self.ovn_volume = Decimal(pb_snapshot.ovn_volume) if pb_snapshot.ovn_volume else None
46
+ self.ovn_change = Decimal(pb_snapshot.ovn_change) if pb_snapshot.ovn_change else None
47
+ self.ovn_change_ratio = Decimal(pb_snapshot.ovn_change_ratio) if pb_snapshot.ovn_change_ratio else None
48
+
49
+ def get_basic(self):
50
+ return self.basic
51
+
52
+ def get_last_trade_time(self):
53
+ return self.last_trade_time
54
+
55
+ def get_price(self):
56
+ return self.price
57
+
58
+ def get_open(self):
59
+ return self.open
60
+
61
+ def get_high(self):
62
+ return self.high
63
+
64
+ def get_low(self):
65
+ return self.low
66
+
67
+ def get_pre_close(self):
68
+ return self.pre_close
69
+
70
+ def get_close(self):
71
+ return self.close
72
+
73
+ def get_volume(self):
74
+ return self.volume
75
+
76
+ def get_change(self):
77
+ return self.change
78
+
79
+ def get_change_ratio(self):
80
+ return self.change_ratio
81
+
82
+ def get_ext_trade_time(self):
83
+ return self.ext_trade_time
84
+
85
+ def get_ext_price(self):
86
+ return self.ext_price
87
+
88
+ def get_ext_high(self):
89
+ return self.ext_high
90
+
91
+ def get_ext_low(self):
92
+ return self.ext_low
93
+
94
+ def get_ext_volume(self):
95
+ return self.ext_volume
96
+
97
+ def get_ext_change(self):
98
+ return self.ext_change
99
+
100
+ def get_ext_change_ratio(self):
101
+ return self.ext_change_ratio
102
+
103
+ def get_ovn_trade_time(self):
104
+ return self.ovn_trade_time
105
+
106
+ def get_ovn_price(self):
107
+ return self.ovn_price
108
+
109
+ def get_ovn_high(self):
110
+ return self.ovn_high
111
+
112
+ def get_ovn_low(self):
113
+ return self.ovn_low
114
+
115
+ def get_ovn_volume(self):
116
+ return self.ovn_volume
117
+
118
+ def get_ovn_change(self):
119
+ return self.ovn_change
120
+
121
+ def get_ovn_change_ratio(self):
122
+ return self.ovn_change_ratio
123
+
124
+ def __repr__(self):
125
+ attrs = ['last_trade_time', 'price', 'open', 'high', 'low', 'pre_close', 'close', 'volume', 'change', 'change_ratio']
126
+ ext_attrs = [f"ext_{name}" for name in ['trade_time', 'price', 'high', 'low', 'volume', 'change', 'change_ratio']]
127
+ ovn_attrs = [f"ovn_{name}" for name in ['trade_time', 'price', 'high', 'low', 'volume', 'change', 'change_ratio']]
128
+ all_attrs = attrs + ext_attrs + ovn_attrs
129
+ attr_str = ', '.join(f"{name}:{getattr(self, name)}" for name in all_attrs)
130
+ return f"{self.basic}, {attr_str}"
131
+
132
+ def __str__(self):
133
+ return self.__repr__()
@@ -0,0 +1 @@
1
+ __version__ = '1.0.8'
@@ -0,0 +1,52 @@
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
+ import json
15
+ # coding=utf-8
16
+
17
+ from webull.core.request import ApiRequest
18
+
19
+
20
+ class BatchPlaceOrderRequest(ApiRequest):
21
+ def __init__(self):
22
+ super().__init__("/openapi/trade/order/batch-place", version='v2', method="POST", body_params={})
23
+
24
+ def set_account_id(self, account_id):
25
+ self.add_body_params("account_id", account_id)
26
+
27
+ def set_batch_orders(self, batch_orders):
28
+ self.add_body_params("batch_orders", batch_orders)
29
+
30
+ def add_custom_headers_from_order(self, batch_orders):
31
+ if not batch_orders:
32
+ return
33
+
34
+ if isinstance(batch_orders, list) and batch_orders[0]:
35
+ first_order = batch_orders[0]
36
+ leg_list = first_order.get("legs")
37
+ if leg_list is not None and isinstance(leg_list, list):
38
+ for sub_leg in leg_list:
39
+ if (sub_leg and isinstance(sub_leg, dict)
40
+ and sub_leg.get("instrument_type") == "OPTION"):
41
+ instrument_type = sub_leg.get("instrument_type")
42
+ market = sub_leg.get("market")
43
+ category = market + "_" + instrument_type
44
+ if category is not None:
45
+ self.add_header("category", category)
46
+ return
47
+
48
+ market = first_order.get("market")
49
+ instrument_type = first_order.get("instrument_type")
50
+ category = market + "_" + instrument_type
51
+ if category is not None:
52
+ self.add_header("category", category)
@@ -14,6 +14,7 @@
14
14
  # coding=utf-8
15
15
  from webull.trade.request.v3.preview_order_request import PreviewOrderRequest
16
16
  from webull.trade.request.v3.place_order_request import PlaceOrderRequest
17
+ from webull.trade.request.v3.batch_place_order_request import BatchPlaceOrderRequest
17
18
  from webull.trade.request.v3.replace_order_request import ReplaceOrderRequest
18
19
  from webull.trade.request.v3.cancel_order_request import CancelOrderRequest
19
20
  from webull.trade.request.v3.get_order_detail_request import OrderDetailRequest
@@ -50,6 +51,18 @@ class OrderOperationV3:
50
51
  response = self.client.get_response(place_order_request)
51
52
  return response
52
53
 
54
+ def batch_place_order(self, account_id, batch_orders):
55
+ """
56
+ This interface is currently supported only for Webull US.
57
+ Support for other regions will be available in future updates.
58
+ """
59
+ batch_place_order_request = BatchPlaceOrderRequest()
60
+ batch_place_order_request.set_account_id(account_id=account_id)
61
+ batch_place_order_request.set_batch_orders(batch_orders=batch_orders)
62
+ batch_place_order_request.add_custom_headers_from_order(batch_orders)
63
+ response = self.client.get_response(batch_place_order_request)
64
+ return response
65
+
53
66
  def replace_order(self, account_id, modify_orders, client_combo_order_id=None):
54
67
  """
55
68
  This interface is currently supported only for Webull US.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webull-openapi-python-sdk
3
- Version: 1.0.7
3
+ Version: 1.0.8
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
@@ -317,6 +317,7 @@ webull/trade/request/v2/preview_order_request.py
317
317
  webull/trade/request/v2/replace_option_request.py
318
318
  webull/trade/request/v2/replace_order_request.py
319
319
  webull/trade/request/v3/__init__.py
320
+ webull/trade/request/v3/batch_place_order_request.py
320
321
  webull/trade/request/v3/cancel_order_request.py
321
322
  webull/trade/request/v3/get_order_detail_request.py
322
323
  webull/trade/request/v3/get_order_history_request.py
@@ -1 +0,0 @@
1
- __version__ = '1.0.7'
@@ -1 +0,0 @@
1
- __version__ = '1.0.7'
@@ -1,3 +0,0 @@
1
- # coding=utf-8
2
-
3
- __version__ = '1.0.7'
@@ -1,37 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: message.proto
4
- """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- # @@protoc_insertion_point(imports)
10
-
11
- _sym_db = _symbol_database.Default()
12
-
13
-
14
-
15
-
16
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rmessage.proto\"Z\n\x05\x42\x61sic\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x17\n\x0ftrading_session\x18\x04 \x01(\t\"\xb6\x01\n\x08Snapshot\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x12\n\ntrade_time\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\t\x12\x0c\n\x04open\x18\x04 \x01(\t\x12\x0c\n\x04high\x18\x05 \x01(\t\x12\x0b\n\x03low\x18\x06 \x01(\t\x12\x11\n\tpre_close\x18\x07 \x01(\t\x12\x0e\n\x06volume\x18\x08 \x01(\t\x12\x0e\n\x06\x63hange\x18\t \x01(\t\x12\x14\n\x0c\x63hange_ratio\x18\n \x01(\t\"L\n\x05Quote\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x15\n\x04\x61sks\x18\x02 \x03(\x0b\x32\x07.AskBid\x12\x15\n\x04\x62ids\x18\x03 \x03(\x0b\x32\x07.AskBid\"X\n\x04Tick\x12\x15\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x06.Basic\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\t\x12\x0e\n\x06volume\x18\x04 \x01(\t\x12\x0c\n\x04side\x18\x05 \x01(\t\"U\n\x06\x41skBid\x12\r\n\x05price\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\x12\x15\n\x05order\x18\x03 \x03(\x0b\x32\x06.Order\x12\x17\n\x06\x62roker\x18\x04 \x03(\x0b\x32\x07.Broker\"#\n\x05Order\x12\x0c\n\x04mpid\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\"#\n\x06\x42roker\x12\x0b\n\x03\x62id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
17
-
18
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'message_pb2', globals())
20
- if _descriptor._USE_C_DESCRIPTORS == False:
21
-
22
- DESCRIPTOR._options = None
23
- _BASIC._serialized_start=17
24
- _BASIC._serialized_end=107
25
- _SNAPSHOT._serialized_start=110
26
- _SNAPSHOT._serialized_end=292
27
- _QUOTE._serialized_start=294
28
- _QUOTE._serialized_end=370
29
- _TICK._serialized_start=372
30
- _TICK._serialized_end=460
31
- _ASKBID._serialized_start=462
32
- _ASKBID._serialized_end=547
33
- _ORDER._serialized_start=549
34
- _ORDER._serialized_end=584
35
- _BROKER._serialized_start=586
36
- _BROKER._serialized_end=621
37
- # @@protoc_insertion_point(module_scope)
@@ -1,69 +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 decimal import Decimal
18
- from webull.data.quotes.subscribe.basic_result import BasicResult
19
-
20
-
21
- class SnapshotResult:
22
- def __init__(self, pb_snapshot):
23
- self.basic = BasicResult(pb_snapshot.basic)
24
- self.open = Decimal(pb_snapshot.open) if pb_snapshot.open else None
25
- self.high = Decimal(pb_snapshot.high) if pb_snapshot.high else None
26
- self.low = Decimal(pb_snapshot.low) if pb_snapshot.low else None
27
- self.price = Decimal(pb_snapshot.price) if pb_snapshot.price else None
28
- self.pre_close = Decimal(
29
- pb_snapshot.pre_close) if pb_snapshot.pre_close else None
30
- self.volume = Decimal(
31
- pb_snapshot.volume) if pb_snapshot.volume else None
32
- self.change = Decimal(
33
- pb_snapshot.change) if pb_snapshot.change else None
34
- self.change_ratio = Decimal(
35
- pb_snapshot.change_ratio) if pb_snapshot.change_ratio else None
36
-
37
- def get_basic(self):
38
- return self.basic
39
-
40
- def get_open(self):
41
- return self.open
42
-
43
- def get_high(self):
44
- return self.high
45
-
46
- def get_low(self):
47
- return self.low
48
-
49
- def get_price(self):
50
- return self.price
51
-
52
- def get_pre_close(self):
53
- return self.pre_close
54
-
55
- def get_volume(self):
56
- return self.volume
57
-
58
- def get_change(self):
59
- return self.change
60
-
61
- def get_change_ratio(self):
62
- return self.change_ratio
63
-
64
- def __repr__(self):
65
- return "%s, open:%s, high:%s, low:%s, price:%s, pre_close:%s, volume:%s, change:%s, change_ratio:%s" \
66
- % (self.basic, self.open, self.high, self.low, self.price, self.pre_close, self.volume, self.change, self.change_ratio)
67
-
68
- def __str__(self):
69
- return self.__repr__()
@@ -1 +0,0 @@
1
- __version__ = '1.0.7'