webull-openapi-python-sdk 2.0.13__tar.gz → 2.0.14__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 (322) hide show
  1. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/PKG-INFO +6 -4
  2. webull_openapi_python_sdk-2.0.14/samples/__init__.py +1 -0
  3. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/data_client.py +5 -0
  4. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/setup.py +7 -4
  5. webull_openapi_python_sdk-2.0.14/webull/__init__.py +1 -0
  6. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/__init__.py +1 -1
  7. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/composer/default_signature_composer.py +1 -4
  8. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/utils/common.py +5 -18
  9. webull_openapi_python_sdk-2.0.14/webull/data/__init__.py +3 -0
  10. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/instrument.py +43 -0
  11. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/basic_result.py +2 -2
  12. webull_openapi_python_sdk-2.0.14/webull/data/request/get_option_contracts_request.py +82 -0
  13. webull_openapi_python_sdk-2.0.14/webull/trade/__init__.py +1 -0
  14. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade_events_client.py +1 -4
  15. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull_openapi_python_sdk.egg-info/PKG-INFO +6 -4
  16. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull_openapi_python_sdk.egg-info/SOURCES.txt +1 -0
  17. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull_openapi_python_sdk.egg-info/requires.txt +7 -1
  18. webull_openapi_python_sdk-2.0.13/samples/__init__.py +0 -1
  19. webull_openapi_python_sdk-2.0.13/webull/__init__.py +0 -1
  20. webull_openapi_python_sdk-2.0.13/webull/data/__init__.py +0 -3
  21. webull_openapi_python_sdk-2.0.13/webull/trade/__init__.py +0 -1
  22. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/ChangeLog.txt +0 -0
  23. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/LICENSE +0 -0
  24. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/MANIFEST.in +0 -0
  25. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/NOTICE +0 -0
  26. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/README.rst +0 -0
  27. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/account/__init__.py +0 -0
  28. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/account/account_client.py +0 -0
  29. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/assets/__init__.py +0 -0
  30. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/assets/assets_client.py +0 -0
  31. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/__init__.py +0 -0
  32. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/data_client_event.py +0 -0
  33. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/data_streaming_client.py +0 -0
  34. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/data_streaming_client_async.py +0 -0
  35. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/data/data_streaming_client_event.py +0 -0
  36. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/order/__init__.py +0 -0
  37. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/order/order_option_client.py +0 -0
  38. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/order/order_stock_client.py +0 -0
  39. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/screener/__init__.py +0 -0
  40. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/screener/screener_client.py +0 -0
  41. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/__init__.py +0 -0
  42. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/activities_client.py +0 -0
  43. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/trade_client.py +0 -0
  44. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/trade_client_v2.py +0 -0
  45. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/trade_client_v3.py +0 -0
  46. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/trade_client_v3_event.py +0 -0
  47. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/trade/trade_event_client.py +0 -0
  48. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/watchlist/__init__.py +0 -0
  49. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/samples/watchlist/watchlist_client.py +0 -0
  50. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/setup.cfg +0 -0
  51. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/__init__.py +0 -0
  52. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/algorithm/__init__.py +0 -0
  53. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/algorithm/sha_hmac1.py +0 -0
  54. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/algorithm/sha_hmac256.py +0 -0
  55. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/algorithm/sha_hmac256_new.py +0 -0
  56. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/composer/__init__.py +0 -0
  57. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/credentials.py +0 -0
  58. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/signers/__init__.py +0 -0
  59. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/signers/app_key_signer.py +0 -0
  60. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/signers/signer.py +0 -0
  61. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/auth/signers/signer_factory.py +0 -0
  62. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/cache/__init__.py +0 -0
  63. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/client.py +0 -0
  64. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/common/__init__.py +0 -0
  65. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/common/api_type.py +0 -0
  66. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/common/easy_enum.py +0 -0
  67. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/common/region.py +0 -0
  68. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/compat.py +0 -0
  69. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/context/__init__.py +0 -0
  70. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/context/request_context_holder.py +0 -0
  71. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/data/endpoints.json +0 -0
  72. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/data/retry_config.json +0 -0
  73. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/__init__.py +0 -0
  74. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/chained_endpoint_resolver.py +0 -0
  75. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/default_endpoint_resolver.py +0 -0
  76. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/local_config_regional_endpoint_resolver.py +0 -0
  77. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/resolver_endpoint_request.py +0 -0
  78. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/endpoint/user_customized_endpoint_resolver.py +0 -0
  79. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/exception/__init__.py +0 -0
  80. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/exception/error_code.py +0 -0
  81. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/exception/error_msg.py +0 -0
  82. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/exception/exceptions.py +0 -0
  83. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/headers.py +0 -0
  84. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/__init__.py +0 -0
  85. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/__init__.py +0 -0
  86. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/client_initializer.py +0 -0
  87. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/config/__init__.py +0 -0
  88. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/config/bean/__init__.py +0 -0
  89. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/config/bean/query_config_request.py +0 -0
  90. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/config/config_operation.py +0 -0
  91. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/__init__.py +0 -0
  92. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/bean/__init__.py +0 -0
  93. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/bean/access_token.py +0 -0
  94. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/bean/check_token_request.py +0 -0
  95. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/bean/create_token_request.py +0 -0
  96. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/bean/refresh_token_request.py +0 -0
  97. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/token_manager.py +0 -0
  98. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/token_operation.py +0 -0
  99. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/initializer/token/token_storage.py +0 -0
  100. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/method_type.py +0 -0
  101. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/protocol_type.py +0 -0
  102. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/request.py +0 -0
  103. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/http/response.py +0 -0
  104. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/request.py +0 -0
  105. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/retry/__init__.py +0 -0
  106. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/retry/backoff_strategy.py +0 -0
  107. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/retry/retry_condition.py +0 -0
  108. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/retry/retry_policy.py +0 -0
  109. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/retry/retry_policy_context.py +0 -0
  110. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/utils/__init__.py +0 -0
  111. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/utils/data.py +0 -0
  112. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/utils/desensitize.py +0 -0
  113. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/core/utils/validation.py +0 -0
  114. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/__init__.py +0 -0
  115. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/category.py +0 -0
  116. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/connect_ack.py +0 -0
  117. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/contract_type.py +0 -0
  118. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/direction.py +0 -0
  119. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/exchange_code.py +0 -0
  120. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/exercise_style.py +0 -0
  121. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/expiration_cycle.py +0 -0
  122. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/instrument_status.py +0 -0
  123. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/option_type.py +0 -0
  124. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/subscribe_type.py +0 -0
  125. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/common/timespan.py +0 -0
  126. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/data_client.py +0 -0
  127. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/data_streaming_client.py +0 -0
  128. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/__init__.py +0 -0
  129. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/default_retry_policy.py +0 -0
  130. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/exceptions.py +0 -0
  131. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/quotes_client.py +0 -0
  132. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/quotes_decoder.py +0 -0
  133. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/quotes_payload_decoder.py +0 -0
  134. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/internal/quotes_topic.py +0 -0
  135. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/__init__.py +0 -0
  136. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/crypto_market_data.py +0 -0
  137. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/event_market_data.py +0 -0
  138. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/fundamentals.py +0 -0
  139. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/futures_market_data.py +0 -0
  140. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/market_data.py +0 -0
  141. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/market_streaming_data.py +0 -0
  142. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/option_market_data.py +0 -0
  143. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/screener.py +0 -0
  144. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/__init__.py +0 -0
  145. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/ask_bid_result.py +0 -0
  146. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/broker_result.py +0 -0
  147. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_depth_decoder.py +0 -0
  148. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_depth_result.py +0 -0
  149. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_snapshot_decoder.py +0 -0
  150. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_snapshot_result.py +0 -0
  151. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_tick_decoder.py +0 -0
  152. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/event_tick_result.py +0 -0
  153. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/message_pb2.py +0 -0
  154. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/order_result.py +0 -0
  155. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/payload_type.py +0 -0
  156. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/quote_decoder.py +0 -0
  157. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/quote_result.py +0 -0
  158. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/snapshot_decoder.py +0 -0
  159. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/snapshot_result.py +0 -0
  160. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/tick_decoder.py +0 -0
  161. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/subscribe/tick_result.py +0 -0
  162. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/quotes/watchlist.py +0 -0
  163. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/__init__.py +0 -0
  164. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_analyst_rating_request.py +0 -0
  165. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_analyst_target_price_request.py +0 -0
  166. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_batch_historical_bars_request.py +0 -0
  167. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_capital_flow_request.py +0 -0
  168. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_company_profile_request.py +0 -0
  169. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_corp_action_request.py +0 -0
  170. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_crypto_historical_bars_request.py +0 -0
  171. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_crypto_instruments_request.py +0 -0
  172. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_crypto_snapshot_request.py +0 -0
  173. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_dividend_calendar_request.py +0 -0
  174. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_earnings_calendar_request.py +0 -0
  175. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_eod_bars_request.py +0 -0
  176. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_bars_request.py +0 -0
  177. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_depth_request.py +0 -0
  178. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_events_request.py +0 -0
  179. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_instrument_request.py +0 -0
  180. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_series_categories.py +0 -0
  181. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_series_request.py +0 -0
  182. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_snapshot_request.py +0 -0
  183. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_event_tick_request.py +0 -0
  184. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_financials_alert_request.py +0 -0
  185. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_financials_balance_sheet_request.py +0 -0
  186. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_financials_cashflow_request.py +0 -0
  187. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_financials_income_request.py +0 -0
  188. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_financials_indicators_request.py +0 -0
  189. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_footprint_request.py +0 -0
  190. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_forecast_eps_request.py +0 -0
  191. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_allocation_request.py +0 -0
  192. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_brief_request.py +0 -0
  193. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_dividends_request.py +0 -0
  194. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_files_request.py +0 -0
  195. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_holdings_request.py +0 -0
  196. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_net_value_request.py +0 -0
  197. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_performance_request.py +0 -0
  198. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_rating_request.py +0 -0
  199. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_fund_splits_request.py +0 -0
  200. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_depth_request.py +0 -0
  201. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_footprint_request.py +0 -0
  202. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_historical_bars_request.py +0 -0
  203. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_instruments_by_code_request.py +0 -0
  204. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_instruments_request.py +0 -0
  205. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_product_class.py +0 -0
  206. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_products_request.py +0 -0
  207. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_snapshot_request.py +0 -0
  208. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_futures_tick_request.py +0 -0
  209. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_historical_bars_request.py +0 -0
  210. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_industry_comparison_request.py +0 -0
  211. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_instruments_request.py +0 -0
  212. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_noii_bars_request.py +0 -0
  213. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_noii_snapshot_request.py +0 -0
  214. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_option_bars_request.py +0 -0
  215. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_option_snapshot_request.py +0 -0
  216. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_option_tick_request.py +0 -0
  217. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_quotes_request.py +0 -0
  218. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_sec_filings_request.py +0 -0
  219. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_snapshot_request.py +0 -0
  220. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/get_tick_request.py +0 -0
  221. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/__init__.py +0 -0
  222. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_52whl_request.py +0 -0
  223. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_gainers_losers_request.py +0 -0
  224. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_high_dividend_request.py +0 -0
  225. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_market_sectors_detail_request.py +0 -0
  226. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_market_sectors_request.py +0 -0
  227. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/screener/get_most_active_request.py +0 -0
  228. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/subscribe_request.py +0 -0
  229. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/unsubscribe_request.py +0 -0
  230. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/__init__.py +0 -0
  231. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/add_watchlist_instruments_request.py +0 -0
  232. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/create_watchlist_request.py +0 -0
  233. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/delete_watchlist_request.py +0 -0
  234. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/get_watchlist_instruments_request.py +0 -0
  235. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/get_watchlist_request.py +0 -0
  236. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/remove_watchlist_instruments_request.py +0 -0
  237. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/update_watchlist_instruments_request.py +0 -0
  238. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/data/request/watchlist/update_watchlist_request.py +0 -0
  239. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/__init__.py +0 -0
  240. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/account_type.py +0 -0
  241. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/category.py +0 -0
  242. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/combo_ticker_type.py +0 -0
  243. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/combo_type.py +0 -0
  244. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/currency.py +0 -0
  245. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/forbid_reason.py +0 -0
  246. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/instrument_type.py +0 -0
  247. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/markets.py +0 -0
  248. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/order_entrust_type.py +0 -0
  249. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/order_side.py +0 -0
  250. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/order_status.py +0 -0
  251. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/order_tif.py +0 -0
  252. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/order_type.py +0 -0
  253. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/position_intent.py +0 -0
  254. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/trade_policy.py +0 -0
  255. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/trading_date_type.py +0 -0
  256. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/common/trailing_type.py +0 -0
  257. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/__init__.py +0 -0
  258. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/default_retry_policy.py +0 -0
  259. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/events_pb2.py +0 -0
  260. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/events_pb2_grpc.py +0 -0
  261. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/signature_composer.py +0 -0
  262. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/events/types.py +0 -0
  263. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/__init__.py +0 -0
  264. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/cancel_order_request.py +0 -0
  265. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_account_balance_request.py +0 -0
  266. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_account_positions_request.py +0 -0
  267. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_account_profile_request.py +0 -0
  268. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_activities_request.py +0 -0
  269. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_app_subscriptions.py +0 -0
  270. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_open_orders_request.py +0 -0
  271. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_order_detail_request.py +0 -0
  272. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_today_orders_request.py +0 -0
  273. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_trade_calendar_request.py +0 -0
  274. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_trade_instrument_detail_request.py +0 -0
  275. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_trade_security_detail_request.py +0 -0
  276. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/get_tradeable_instruments_request.py +0 -0
  277. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/palce_order_request.py +0 -0
  278. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/place_order_request.py +0 -0
  279. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/place_order_request_v2.py +0 -0
  280. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/replace_order_request.py +0 -0
  281. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/replace_order_request_v2.py +0 -0
  282. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/__init__.py +0 -0
  283. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/cancel_option_request.py +0 -0
  284. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/cancel_order_request.py +0 -0
  285. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_account_balance_request.py +0 -0
  286. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_account_list.py +0 -0
  287. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_account_list_request.py +0 -0
  288. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_account_position_details_request.py +0 -0
  289. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_account_positions_request.py +0 -0
  290. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_order_detail_request.py +0 -0
  291. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_order_history_request.py +0 -0
  292. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/get_order_open_request.py +0 -0
  293. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/palce_order_request.py +0 -0
  294. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/place_option_request.py +0 -0
  295. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/place_order_request.py +0 -0
  296. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/preview_option_request.py +0 -0
  297. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/preview_order_request.py +0 -0
  298. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/replace_option_request.py +0 -0
  299. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v2/replace_order_request.py +0 -0
  300. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/__init__.py +0 -0
  301. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/batch_place_order_request.py +0 -0
  302. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/cancel_order_request.py +0 -0
  303. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/get_order_detail_request.py +0 -0
  304. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/get_order_history_request.py +0 -0
  305. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/get_order_open_request.py +0 -0
  306. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/place_order_request.py +0 -0
  307. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/preview_order_request.py +0 -0
  308. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/request/v3/replace_order_request.py +0 -0
  309. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/__init__.py +0 -0
  310. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/account_info.py +0 -0
  311. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/activity.py +0 -0
  312. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/order_operation.py +0 -0
  313. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/trade_calendar.py +0 -0
  314. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/trade_instrument.py +0 -0
  315. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/v2/__init__.py +0 -0
  316. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/v2/account_info_v2.py +0 -0
  317. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/v2/order_operation_v2.py +0 -0
  318. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/v3/__init__.py +0 -0
  319. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade/v3/order_opration_v3.py +0 -0
  320. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull/trade/trade_client.py +0 -0
  321. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull_openapi_python_sdk.egg-info/dependency_links.txt +0 -0
  322. {webull_openapi_python_sdk-2.0.13 → webull_openapi_python_sdk-2.0.14}/webull_openapi_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webull-openapi-python-sdk
3
- Version: 2.0.13
3
+ Version: 2.0.14
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
7
7
  Author-email:
8
8
  License: Apache License 2.0
9
9
  Platform: any
10
- Requires-Python: >=3.8,<3.14
10
+ Requires-Python: >=3.8,<3.15
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  License-File: NOTICE
@@ -18,11 +18,13 @@ Requires-Dist: urllib3>=2.0
18
18
  Requires-Dist: requests>=2.31.0
19
19
  Requires-Dist: six>=1.16.0
20
20
  Requires-Dist: cryptography<42,>=3.4; python_version < "3.12"
21
- Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12"
21
+ Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12" and python_version < "3.14"
22
+ Requires-Dist: cryptography<55,>=43.0; python_version >= "3.14"
22
23
  Requires-Dist: protobuf<5,>=4.21.12; python_version < "3.12"
23
24
  Requires-Dist: protobuf<6,>=4.25.0; python_version >= "3.12"
24
25
  Requires-Dist: grpcio<1.60,>=1.51.1; python_version < "3.12"
25
- Requires-Dist: grpcio<1.70,>=1.60.0; python_version >= "3.12"
26
+ Requires-Dist: grpcio<1.70,>=1.60.0; python_version >= "3.12" and python_version < "3.14"
27
+ Requires-Dist: grpcio<2,>=1.75.1; python_version >= "3.14"
26
28
  Dynamic: author
27
29
  Dynamic: description-content-type
28
30
  Dynamic: license
@@ -0,0 +1 @@
1
+ __version__ = '2.0.14'
@@ -265,6 +265,11 @@ if __name__ == '__main__':
265
265
  if res.status_code == 200:
266
266
  print('get_forecast_eps:', res.json())
267
267
 
268
+ # Option Instrument - Query option contracts by underlying symbol and filters
269
+ res = data_client.instrument.get_option_contracts(Category.US_OPTION.name,"AAPL")
270
+ if res.status_code == 200:
271
+ print('get_option_contracts:', res.json())
272
+
268
273
  # Screener - Market Sectors
269
274
  res = data_client.screener.get_market_sectors(Category.US_STOCK.name)
270
275
  if res.status_code == 200:
@@ -24,7 +24,8 @@ requires = [
24
24
 
25
25
  # cryptography
26
26
  "cryptography>=3.4,<42; python_version<'3.12'",
27
- "cryptography>=41.0,<43; python_version>='3.12'",
27
+ "cryptography>=41.0,<43; python_version>='3.12' and python_version<'3.14'",
28
+ "cryptography>=43.0,<55; python_version>='3.14'",
28
29
 
29
30
  # protobuf
30
31
  "protobuf>=4.21.12,<5; python_version<'3.12'",
@@ -32,17 +33,19 @@ requires = [
32
33
 
33
34
  # grpc
34
35
  "grpcio>=1.51.1,<1.60; python_version<'3.12'",
35
- "grpcio>=1.60.0,<1.70; python_version>='3.12'"
36
+ "grpcio>=1.60.0,<1.70; python_version>='3.12' and python_version<'3.14'",
37
+ "grpcio>=1.75.1,<2; python_version>='3.14'"
36
38
  ]
37
39
 
38
40
  extras_require = {
39
41
  "dev": [
40
- "grpcio-tools>=1.60,<1.70",
42
+ "grpcio-tools>=1.60,<1.70; python_version<'3.14'",
43
+ "grpcio-tools>=1.75.1,<2; python_version>='3.14'",
41
44
  ]
42
45
  }
43
46
 
44
47
  setup_args = {
45
- 'python_requires':'>=3.8,<3.14',
48
+ 'python_requires':'>=3.8,<3.15',
46
49
  'version': VERSION,
47
50
  'author': AUTHOR,
48
51
  'author_email': AUTHOR_EMAIL,
@@ -0,0 +1 @@
1
+ __version__ = '2.0.14'
@@ -1,4 +1,4 @@
1
- __version__ = '2.0.13'
1
+ __version__ = '2.0.14'
2
2
 
3
3
  import logging
4
4
 
@@ -59,10 +59,7 @@ def _refresh_sign_headers(host, headers, app_key_id, signer_spec):
59
59
  sign_headers[hd.APP_KEY] = app_key_id
60
60
  sign_headers[hd.TIMESTAMP] = common.get_iso_8601_date()
61
61
 
62
- if common.is_not_upgrade_api_host(host):
63
- signer_spec = sha_hmac256_new
64
- else:
65
- signer_spec = sha_hmac1
62
+ signer_spec = sha_hmac256_new
66
63
 
67
64
  sign_headers[hd.SIGN_VERSION] = signer_spec.get_signer_version()
68
65
  sign_headers[hd.SIGN_ALGORITHM] = signer_spec.get_signer_name()
@@ -16,7 +16,7 @@
16
16
  import base64
17
17
  import hashlib
18
18
  import socket
19
- from datetime import datetime
19
+ from datetime import datetime, timezone
20
20
  import uuid
21
21
  import json
22
22
  from webull.core.compat import ensure_bytes, ensure_string
@@ -33,21 +33,21 @@ def get_uuid():
33
33
  def get_iso_8601_date(dt_as_utc=None):
34
34
  if dt_as_utc:
35
35
  return dt_as_utc.strftime(FORMAT_ISO_8601)
36
- d = datetime.utcnow()
36
+ d = datetime.now(timezone.utc)
37
37
  return d.strftime(FORMAT_ISO_8601)
38
38
 
39
39
  def get_iso_8601_date_with_millis(dt_as_utc=None):
40
40
  if dt_as_utc:
41
41
  d = dt_as_utc
42
42
  else:
43
- d = datetime.utcnow()
43
+ d = datetime.now(timezone.utc)
44
44
  ret = d.strftime(FORMAT_ISO_8601_MILLIS)
45
45
  if len(ret) != 27:
46
46
  raise RuntimeError("failed to convent timestamp, result: %s" % ret)
47
47
  return ret[:-4] + ret[-1:]
48
48
 
49
49
  def parse_timestamp_to_dt(timestamp_of_millis):
50
- return datetime.utcfromtimestamp(timestamp_of_millis / 1000.0)
50
+ return datetime.fromtimestamp(timestamp_of_millis / 1000.0, tz=timezone.utc).replace(tzinfo=None)
51
51
 
52
52
  def md5_sum(content):
53
53
  content_bytes = ensure_bytes(content)
@@ -63,17 +63,4 @@ def sha256_hex(content):
63
63
  return hashlib.sha256(content_bytes).hexdigest()
64
64
 
65
65
  def json_dumps_compact(content):
66
- return json.dumps(content, ensure_ascii=False, separators=(',', ':'))
67
-
68
- def is_not_upgrade_api_host(host):
69
- upgrade_hosts = {
70
- "api.webull.com","events-api.webull.com",
71
- "api.webull.hk","events-api.webull.hk",
72
- "pre-openapi-us-alb.webullbroker.com","pre-openapi-us-events.webullbroker.com",
73
- "pre-openapi-alb.webullbroker.com","pre-openapi-events.webullbroker.com",
74
- "us-openapi-alb.uat.webullbroker.com","us-openapi-events.uat.webullbroker.com",
75
- "hk-openapi.uat.webullbroker.com", "hk-openapi-events-api.uat.webullbroker.com",
76
- "api.sandbox.webull.hk", "events-api.sandbox.webull.hk"
77
-
78
- }
79
- return host not in upgrade_hosts
66
+ return json.dumps(content, ensure_ascii=False, separators=(',', ':'))
@@ -0,0 +1,3 @@
1
+ # coding=utf-8
2
+
3
+ __version__ = '2.0.14'
@@ -25,6 +25,7 @@ from webull.data.request.get_futures_instruments_request import GetFuturesInstru
25
25
  from webull.data.request.get_futures_products_request import GetFuturesProductsRequest
26
26
  from webull.data.request.get_futures_instruments_by_code_request import GetFuturesInstrumentsByCodeRequest
27
27
  from webull.data.request.get_futures_product_class import GetFuturesProductClassRequest
28
+ from webull.data.request.get_option_contracts_request import GetOptionContractsRequest
28
29
 
29
30
 
30
31
  class Instrument:
@@ -218,6 +219,48 @@ class Instrument:
218
219
  response = self.client.get_response(event_instrument_request)
219
220
  return response
220
221
 
222
+ def get_option_contracts(self, category=Category.US_OPTION.name, underlying_symbols=None, status=None,
223
+ start_date=None, end_date=None, root_symbol=None, option_symbol=None,
224
+ option_type=None, style=None, strike_price_gte=None, strike_price_lte=None,
225
+ ppind=None, show_deliverables=None, page_size=10, last_instrument_id=None):
226
+ """
227
+ Query option contracts list by conditions such as underlying_symbols, status, expiration date, etc.
228
+
229
+ :param category: Market category. Value: US_OPTION.
230
+ :param underlying_symbols: Underlying symbol(s), comma-separated for multiple, e.g. AAPL,MSFT.
231
+ :param status: Contract status: LISTING (default), DELISTING.
232
+ :param start_date: Exact expiration date, format YYYY-MM-DD.
233
+ :param end_date: Expiration date lower bound (inclusive), format YYYY-MM-DD.
234
+ :param root_symbol: Root symbol filter (series symbol, e.g. SPXW), mainly for index options and non-standard contracts after CA.
235
+ :param option_symbol: Option symbol, e.g. AAPL250620C00150000.
236
+ :param option_type: Contract type: CALL / PUT.
237
+ :param style: Exercise style: AMERICAN / EUROPEAN.
238
+ :param strike_price_gte: Strike price lower bound (inclusive).
239
+ :param strike_price_lte: Strike price upper bound (inclusive).
240
+ :param ppind: Penny Program Indicator: true = Penny Pilot, false = non-Penny Pilot.
241
+ :param show_deliverables: Whether to return deliverables array in response: true / false, default false.
242
+ :param page_size: Page size, default 10, max 1000.
243
+ :param last_instrument_id: Last instrument_id from previous page for pagination.
244
+ """
245
+ request = GetOptionContractsRequest()
246
+ request.set_category(category)
247
+ request.set_underlying_symbols(underlying_symbols)
248
+ request.set_status(status)
249
+ request.set_start_date(start_date)
250
+ request.set_end_date(end_date)
251
+ request.set_root_symbol(root_symbol)
252
+ request.set_option_symbol(option_symbol)
253
+ request.set_option_type(option_type)
254
+ request.set_style(style)
255
+ request.set_strike_price_gte(strike_price_gte)
256
+ request.set_strike_price_lte(strike_price_lte)
257
+ request.set_ppind(ppind)
258
+ request.set_show_deliverables(show_deliverables)
259
+ request.set_page_size(page_size)
260
+ request.set_last_instrument_id(last_instrument_id)
261
+ response = self.client.get_response(request)
262
+ return response
263
+
221
264
  def get_company_profile(self, symbol, category=Category.US_STOCK.name):
222
265
  """
223
266
  Get company profile for one instrument.
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # coding=utf-8
16
- from datetime import datetime
16
+ from datetime import datetime, timezone
17
17
 
18
18
 
19
19
  class BasicResult:
@@ -33,7 +33,7 @@ class BasicResult:
33
33
  return self.timestamp
34
34
 
35
35
  def get_timestamp_as_utc(self):
36
- return datetime.utcfromtimestamp(self.timestamp / 1000.0)
36
+ return datetime.fromtimestamp(self.timestamp / 1000.0, tz=timezone.utc).replace(tzinfo=None)
37
37
 
38
38
  def get_trading_session(self):
39
39
  return self.trading_session
@@ -0,0 +1,82 @@
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.request import ApiRequest
18
+
19
+
20
+ class GetOptionContractsRequest(ApiRequest):
21
+ def __init__(self):
22
+ ApiRequest.__init__(self, "/openapi/instrument/option/contracts", version="v2", method="GET",
23
+ query_params={})
24
+
25
+ def set_category(self, category):
26
+ self.add_query_param("category", category)
27
+
28
+ def set_underlying_symbols(self, underlying_symbols):
29
+ if underlying_symbols:
30
+ self.add_query_param("underlying_symbols", underlying_symbols)
31
+
32
+ def set_status(self, status):
33
+ if status:
34
+ self.add_query_param("status", status)
35
+
36
+ def set_start_date(self, start_date):
37
+ if start_date:
38
+ self.add_query_param("start_date", start_date)
39
+
40
+ def set_end_date(self, end_date):
41
+ if end_date:
42
+ self.add_query_param("end_date", end_date)
43
+
44
+ def set_root_symbol(self, root_symbol):
45
+ if root_symbol:
46
+ self.add_query_param("root_symbol", root_symbol)
47
+
48
+ def set_option_symbol(self, option_symbol):
49
+ if option_symbol:
50
+ self.add_query_param("option_symbol", option_symbol)
51
+
52
+ def set_option_type(self, option_type):
53
+ if option_type:
54
+ self.add_query_param("option_type", option_type)
55
+
56
+ def set_style(self, style):
57
+ if style:
58
+ self.add_query_param("style", style)
59
+
60
+ def set_strike_price_gte(self, strike_price_gte):
61
+ if strike_price_gte is not None:
62
+ self.add_query_param("strike_price_gte", strike_price_gte)
63
+
64
+ def set_strike_price_lte(self, strike_price_lte):
65
+ if strike_price_lte is not None:
66
+ self.add_query_param("strike_price_lte", strike_price_lte)
67
+
68
+ def set_ppind(self, ppind):
69
+ if ppind is not None:
70
+ self.add_query_param("ppind", ppind)
71
+
72
+ def set_show_deliverables(self, show_deliverables):
73
+ if show_deliverables is not None:
74
+ self.add_query_param("show_deliverables", show_deliverables)
75
+
76
+ def set_page_size(self, page_size):
77
+ if page_size:
78
+ self.add_query_param("page_size", page_size)
79
+
80
+ def set_last_instrument_id(self, last_instrument_id):
81
+ if last_instrument_id:
82
+ self.add_query_param("last_instrument_id", last_instrument_id)
@@ -0,0 +1 @@
1
+ __version__ = '2.0.14'
@@ -80,10 +80,7 @@ class TradeEventsClient():
80
80
  timestamp=int(time.time() * 1000), # millis
81
81
  accounts=accounts,
82
82
  )
83
- if common.is_not_upgrade_api_host(self._host):
84
- signer_spec = sha_hmac256_new
85
- else:
86
- signer_spec = sha_hmac1
83
+ signer_spec = sha_hmac256_new
87
84
 
88
85
  signature, metadata = calc_signature(app_key, app_secret, request, signer_spec)
89
86
 
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webull-openapi-python-sdk
3
- Version: 2.0.13
3
+ Version: 2.0.14
4
4
  Summary: Webull Python SDK.
5
5
  Home-page:
6
6
  Author: Webull
7
7
  Author-email:
8
8
  License: Apache License 2.0
9
9
  Platform: any
10
- Requires-Python: >=3.8,<3.14
10
+ Requires-Python: >=3.8,<3.15
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  License-File: NOTICE
@@ -18,11 +18,13 @@ Requires-Dist: urllib3>=2.0
18
18
  Requires-Dist: requests>=2.31.0
19
19
  Requires-Dist: six>=1.16.0
20
20
  Requires-Dist: cryptography<42,>=3.4; python_version < "3.12"
21
- Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12"
21
+ Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12" and python_version < "3.14"
22
+ Requires-Dist: cryptography<55,>=43.0; python_version >= "3.14"
22
23
  Requires-Dist: protobuf<5,>=4.21.12; python_version < "3.12"
23
24
  Requires-Dist: protobuf<6,>=4.25.0; python_version >= "3.12"
24
25
  Requires-Dist: grpcio<1.60,>=1.51.1; python_version < "3.12"
25
- Requires-Dist: grpcio<1.70,>=1.60.0; python_version >= "3.12"
26
+ Requires-Dist: grpcio<1.70,>=1.60.0; python_version >= "3.12" and python_version < "3.14"
27
+ Requires-Dist: grpcio<2,>=1.75.1; python_version >= "3.14"
26
28
  Dynamic: author
27
29
  Dynamic: description-content-type
28
30
  Dynamic: license
@@ -201,6 +201,7 @@ webull/data/request/get_instruments_request.py
201
201
  webull/data/request/get_noii_bars_request.py
202
202
  webull/data/request/get_noii_snapshot_request.py
203
203
  webull/data/request/get_option_bars_request.py
204
+ webull/data/request/get_option_contracts_request.py
204
205
  webull/data/request/get_option_snapshot_request.py
205
206
  webull/data/request/get_option_tick_request.py
206
207
  webull/data/request/get_quotes_request.py
@@ -11,6 +11,12 @@ protobuf<5,>=4.21.12
11
11
  grpcio<1.60,>=1.51.1
12
12
 
13
13
  [:python_version >= "3.12"]
14
- cryptography<43,>=41.0
15
14
  protobuf<6,>=4.25.0
15
+
16
+ [:python_version >= "3.12" and python_version < "3.14"]
17
+ cryptography<43,>=41.0
16
18
  grpcio<1.70,>=1.60.0
19
+
20
+ [:python_version >= "3.14"]
21
+ cryptography<55,>=43.0
22
+ grpcio<2,>=1.75.1
@@ -1 +0,0 @@
1
- __version__ = '2.0.13'
@@ -1 +0,0 @@
1
- __version__ = '2.0.13'
@@ -1,3 +0,0 @@
1
- # coding=utf-8
2
-
3
- __version__ = '2.0.13'
@@ -1 +0,0 @@
1
- __version__ = '2.0.13'