webull-openapi-python-sdk 1.1.0__tar.gz → 2.0.1__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 (367) hide show
  1. webull_openapi_python_sdk-2.0.1/PKG-INFO +33 -0
  2. webull_openapi_python_sdk-2.0.1/samples/__init__.py +1 -0
  3. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/data_client_event.py +19 -2
  4. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/data_streaming_client.py +1 -3
  5. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/setup.py +24 -7
  6. webull_openapi_python_sdk-2.0.1/webull/__init__.py +1 -0
  7. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/__init__.py +1 -1
  8. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/composer/default_signature_composer.py +2 -2
  9. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/signers/signer.py +1 -1
  10. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/client.py +4 -4
  11. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/compat.py +1 -1
  12. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/response.py +2 -2
  13. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/request.py +3 -5
  14. webull_openapi_python_sdk-2.0.1/webull/data/__init__.py +3 -0
  15. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/quotes_payload_decoder.py +1 -1
  16. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/event_market_data.py +42 -0
  17. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/instrument.py +44 -7
  18. webull_openapi_python_sdk-2.0.1/webull/data/request/get_event_bars_request.py +43 -0
  19. webull_openapi_python_sdk-2.0.1/webull/data/request/get_event_events_request.py +33 -0
  20. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_event_instrument_request.py +9 -0
  21. webull_openapi_python_sdk-2.0.1/webull/data/request/get_event_series_categories.py +21 -0
  22. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_event_series_request.py +8 -2
  23. webull_openapi_python_sdk-2.0.1/webull/data/request/get_event_tick_request.py +32 -0
  24. webull_openapi_python_sdk-2.0.1/webull_openapi_python_sdk.egg-info/PKG-INFO +33 -0
  25. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull_openapi_python_sdk.egg-info/SOURCES.txt +4 -105
  26. webull_openapi_python_sdk-2.0.1/webull_openapi_python_sdk.egg-info/requires.txt +16 -0
  27. webull_openapi_python_sdk-1.1.0/PKG-INFO +0 -28
  28. webull_openapi_python_sdk-1.1.0/samples/__init__.py +0 -1
  29. webull_openapi_python_sdk-1.1.0/webull/__init__.py +0 -1
  30. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/__init__.py +0 -94
  31. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/__version__.py +0 -28
  32. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/_internal_utils.py +0 -56
  33. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/adapters.py +0 -539
  34. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/api.py +0 -166
  35. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/auth.py +0 -307
  36. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/certs.py +0 -34
  37. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/compat.py +0 -85
  38. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/cookies.py +0 -555
  39. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/exceptions.py +0 -136
  40. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/help.py +0 -134
  41. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/hooks.py +0 -48
  42. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/models.py +0 -960
  43. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/__init__.py +0 -17
  44. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/certifi/__init__.py +0 -17
  45. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/certifi/__main__.py +0 -16
  46. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/certifi/cacert.pem +0 -4433
  47. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/certifi/core.py +0 -51
  48. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/__init__.py +0 -53
  49. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/big5freq.py +0 -400
  50. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/big5prober.py +0 -61
  51. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/chardistribution.py +0 -247
  52. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/charsetgroupprober.py +0 -120
  53. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/charsetprober.py +0 -159
  54. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/cli/__init__.py +0 -1
  55. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/cli/chardetect.py +0 -99
  56. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/codingstatemachine.py +0 -102
  57. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/compat.py +0 -48
  58. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/cp949prober.py +0 -63
  59. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/enums.py +0 -90
  60. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/escprober.py +0 -115
  61. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/escsm.py +0 -260
  62. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/eucjpprober.py +0 -106
  63. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/euckrfreq.py +0 -209
  64. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/euckrprober.py +0 -61
  65. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/euctwfreq.py +0 -401
  66. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/euctwprober.py +0 -60
  67. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/gb2312freq.py +0 -297
  68. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/gb2312prober.py +0 -60
  69. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/hebrewprober.py +0 -306
  70. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/jisfreq.py +0 -339
  71. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/jpcntx.py +0 -247
  72. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langbulgarianmodel.py +0 -242
  73. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langcyrillicmodel.py +0 -347
  74. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langgreekmodel.py +0 -239
  75. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langhebrewmodel.py +0 -214
  76. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langhungarianmodel.py +0 -239
  77. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langthaimodel.py +0 -213
  78. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/langturkishmodel.py +0 -207
  79. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/latin1prober.py +0 -159
  80. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/mbcharsetprober.py +0 -105
  81. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/mbcsgroupprober.py +0 -68
  82. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/mbcssm.py +0 -586
  83. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/sbcharsetprober.py +0 -146
  84. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/sbcsgroupprober.py +0 -87
  85. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/sjisprober.py +0 -106
  86. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/universaldetector.py +0 -300
  87. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/utf8prober.py +0 -96
  88. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/chardet/version.py +0 -23
  89. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/__init__.py +0 -114
  90. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/_collections.py +0 -346
  91. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/connection.py +0 -405
  92. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/connectionpool.py +0 -910
  93. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/_appengine_environ.py +0 -44
  94. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport/bindings.py +0 -607
  95. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport/low_level.py +0 -360
  96. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/appengine.py +0 -303
  97. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/ntlmpool.py +0 -125
  98. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/pyopenssl.py +0 -484
  99. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/securetransport.py +0 -818
  100. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/socks.py +0 -206
  101. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/exceptions.py +0 -260
  102. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/fields.py +0 -192
  103. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/filepost.py +0 -112
  104. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/__init__.py +0 -19
  105. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/backports/makefile.py +0 -67
  106. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/ordered_dict.py +0 -273
  107. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/six.py +0 -882
  108. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/socks.py +0 -887
  109. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +0 -19
  110. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +0 -170
  111. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/poolmanager.py +0 -467
  112. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/request.py +0 -164
  113. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/response.py +0 -721
  114. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/__init__.py +0 -68
  115. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/connection.py +0 -148
  116. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/queue.py +0 -35
  117. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/request.py +0 -132
  118. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/response.py +0 -101
  119. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/retry.py +0 -426
  120. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/selectors.py +0 -601
  121. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/ssl_.py +0 -396
  122. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/timeout.py +0 -256
  123. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/url.py +0 -252
  124. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/util/wait.py +0 -164
  125. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages.py +0 -28
  126. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/sessions.py +0 -750
  127. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/status_codes.py +0 -105
  128. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/structures.py +0 -119
  129. webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/utils.py +0 -916
  130. webull_openapi_python_sdk-1.1.0/webull/core/vendored/six.py +0 -905
  131. webull_openapi_python_sdk-1.1.0/webull/data/__init__.py +0 -3
  132. webull_openapi_python_sdk-1.1.0/webull/trade/request/v3/__init__.py +0 -0
  133. webull_openapi_python_sdk-1.1.0/webull/trade/trade/__init__.py +0 -0
  134. webull_openapi_python_sdk-1.1.0/webull/trade/trade/v2/__init__.py +0 -0
  135. webull_openapi_python_sdk-1.1.0/webull/trade/trade/v3/__init__.py +0 -0
  136. webull_openapi_python_sdk-1.1.0/webull_openapi_python_sdk.egg-info/PKG-INFO +0 -28
  137. webull_openapi_python_sdk-1.1.0/webull_openapi_python_sdk.egg-info/requires.txt +0 -7
  138. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/ChangeLog.txt +0 -0
  139. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/LICENSE +0 -0
  140. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/MANIFEST.in +0 -0
  141. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/NOTICE +0 -0
  142. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/README.rst +0 -0
  143. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/account/__init__.py +0 -0
  144. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/account/account_client.py +0 -0
  145. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/assets/__init__.py +0 -0
  146. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/assets/assets_client.py +0 -0
  147. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/__init__.py +0 -0
  148. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/data_client.py +0 -0
  149. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/data_streaming_client_async.py +0 -0
  150. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/data/data_streaming_client_event.py +0 -0
  151. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/order/__init__.py +0 -0
  152. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/order/order_option_client.py +0 -0
  153. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/order/order_stock_client.py +0 -0
  154. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/__init__.py +0 -0
  155. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/trade_client.py +0 -0
  156. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/trade_client_v2.py +0 -0
  157. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/trade_client_v3.py +0 -0
  158. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/trade_client_v3_event.py +0 -0
  159. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/samples/trade/trade_event_client.py +0 -0
  160. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/setup.cfg +0 -0
  161. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/__init__.py +0 -0
  162. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/algorithm/__init__.py +0 -0
  163. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/algorithm/sha_hmac1.py +0 -0
  164. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/algorithm/sha_hmac256.py +0 -0
  165. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/composer/__init__.py +0 -0
  166. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/credentials.py +0 -0
  167. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/signers/__init__.py +0 -0
  168. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/signers/app_key_signer.py +0 -0
  169. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/auth/signers/signer_factory.py +0 -0
  170. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/cache/__init__.py +0 -0
  171. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/common/__init__.py +0 -0
  172. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/common/api_type.py +0 -0
  173. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/common/easy_enum.py +0 -0
  174. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/common/region.py +0 -0
  175. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/context/__init__.py +0 -0
  176. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/context/request_context_holder.py +0 -0
  177. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/data/endpoints.json +0 -0
  178. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/data/retry_config.json +0 -0
  179. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/__init__.py +0 -0
  180. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/chained_endpoint_resolver.py +0 -0
  181. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/default_endpoint_resolver.py +0 -0
  182. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/local_config_regional_endpoint_resolver.py +0 -0
  183. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/resolver_endpoint_request.py +0 -0
  184. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/endpoint/user_customized_endpoint_resolver.py +0 -0
  185. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/exception/__init__.py +0 -0
  186. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/exception/error_code.py +0 -0
  187. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/exception/error_msg.py +0 -0
  188. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/exception/exceptions.py +0 -0
  189. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/headers.py +0 -0
  190. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/__init__.py +0 -0
  191. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/__init__.py +0 -0
  192. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/client_initializer.py +0 -0
  193. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/config/__init__.py +0 -0
  194. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/config/bean/__init__.py +0 -0
  195. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/config/bean/query_config_request.py +0 -0
  196. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/config/config_operation.py +0 -0
  197. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/__init__.py +0 -0
  198. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/bean/__init__.py +0 -0
  199. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/bean/access_token.py +0 -0
  200. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/bean/check_token_request.py +0 -0
  201. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/bean/create_token_request.py +0 -0
  202. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/bean/refresh_token_request.py +0 -0
  203. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/token_manager.py +0 -0
  204. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/token_operation.py +0 -0
  205. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/initializer/token/token_storage.py +0 -0
  206. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/method_type.py +0 -0
  207. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/protocol_type.py +0 -0
  208. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/http/request.py +0 -0
  209. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/retry/__init__.py +0 -0
  210. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/retry/backoff_strategy.py +0 -0
  211. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/retry/retry_condition.py +0 -0
  212. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/retry/retry_policy.py +0 -0
  213. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/retry/retry_policy_context.py +0 -0
  214. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/utils/__init__.py +0 -0
  215. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/utils/common.py +0 -0
  216. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/utils/data.py +0 -0
  217. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/utils/desensitize.py +0 -0
  218. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/core/utils/validation.py +0 -0
  219. {webull_openapi_python_sdk-1.1.0/webull/core/vendored → webull_openapi_python_sdk-2.0.1/webull/data/common}/__init__.py +0 -0
  220. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/category.py +0 -0
  221. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/connect_ack.py +0 -0
  222. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/contract_type.py +0 -0
  223. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/direction.py +0 -0
  224. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/exchange_code.py +0 -0
  225. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/exercise_style.py +0 -0
  226. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/expiration_cycle.py +0 -0
  227. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/instrument_status.py +0 -0
  228. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/option_type.py +0 -0
  229. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/subscribe_type.py +0 -0
  230. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/common/timespan.py +0 -0
  231. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/data_client.py +0 -0
  232. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/data_streaming_client.py +0 -0
  233. {webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib → webull_openapi_python_sdk-2.0.1/webull/data/internal}/__init__.py +0 -0
  234. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/default_retry_policy.py +0 -0
  235. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/exceptions.py +0 -0
  236. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/quotes_client.py +0 -0
  237. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/quotes_decoder.py +0 -0
  238. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/internal/quotes_topic.py +0 -0
  239. {webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/contrib/_securetransport → webull_openapi_python_sdk-2.0.1/webull/data/quotes}/__init__.py +0 -0
  240. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/crypto_market_data.py +0 -0
  241. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/futures_market_data.py +0 -0
  242. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/market_data.py +0 -0
  243. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/market_streaming_data.py +0 -0
  244. {webull_openapi_python_sdk-1.1.0/webull/core/vendored/requests/packages/urllib3/packages/backports → webull_openapi_python_sdk-2.0.1/webull/data/quotes/subscribe}/__init__.py +0 -0
  245. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/ask_bid_result.py +0 -0
  246. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/basic_result.py +0 -0
  247. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/broker_result.py +0 -0
  248. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/event_depth_decoder.py +0 -0
  249. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/event_depth_result.py +0 -0
  250. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/event_snapshot_decoder.py +0 -0
  251. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/event_snapshot_result.py +0 -0
  252. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/message_pb2.py +0 -0
  253. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/order_result.py +0 -0
  254. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/payload_type.py +0 -0
  255. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/quote_decoder.py +0 -0
  256. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/quote_result.py +0 -0
  257. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/snapshot_decoder.py +0 -0
  258. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/snapshot_result.py +0 -0
  259. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/tick_decoder.py +0 -0
  260. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/quotes/subscribe/tick_result.py +0 -0
  261. {webull_openapi_python_sdk-1.1.0/webull/data/common → webull_openapi_python_sdk-2.0.1/webull/data/request}/__init__.py +0 -0
  262. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_batch_historical_bars_request.py +0 -0
  263. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_corp_action_request.py +0 -0
  264. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_crypto_historical_bars_request.py +0 -0
  265. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_crypto_instruments_request.py +0 -0
  266. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_crypto_snapshot_request.py +0 -0
  267. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_eod_bars_request.py +0 -0
  268. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_event_depth_request.py +0 -0
  269. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_event_snapshot_request.py +0 -0
  270. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_footprint_request.py +0 -0
  271. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_depth_request.py +0 -0
  272. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_footprint_request.py +0 -0
  273. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_historical_bars_request.py +0 -0
  274. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_instruments_by_code_request.py +0 -0
  275. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_instruments_request.py +0 -0
  276. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_products_request.py +0 -0
  277. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_snapshot_request.py +0 -0
  278. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_futures_tick_request.py +0 -0
  279. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_historical_bars_request.py +0 -0
  280. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_instruments_request.py +0 -0
  281. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_quotes_request.py +0 -0
  282. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_snapshot_request.py +0 -0
  283. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/get_tick_request.py +0 -0
  284. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/subscribe_request.py +0 -0
  285. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/data/request/unsubscribe_request.py +0 -0
  286. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/__init__.py +0 -0
  287. {webull_openapi_python_sdk-1.1.0/webull/data/internal → webull_openapi_python_sdk-2.0.1/webull/trade/common}/__init__.py +0 -0
  288. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/account_type.py +0 -0
  289. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/category.py +0 -0
  290. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/combo_ticker_type.py +0 -0
  291. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/combo_type.py +0 -0
  292. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/currency.py +0 -0
  293. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/forbid_reason.py +0 -0
  294. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/instrument_type.py +0 -0
  295. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/markets.py +0 -0
  296. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/order_entrust_type.py +0 -0
  297. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/order_side.py +0 -0
  298. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/order_status.py +0 -0
  299. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/order_tif.py +0 -0
  300. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/order_type.py +0 -0
  301. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/trade_policy.py +0 -0
  302. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/trading_date_type.py +0 -0
  303. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/common/trailing_type.py +0 -0
  304. {webull_openapi_python_sdk-1.1.0/webull/data/quotes → webull_openapi_python_sdk-2.0.1/webull/trade/events}/__init__.py +0 -0
  305. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/events/default_retry_policy.py +0 -0
  306. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/events/events_pb2.py +0 -0
  307. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/events/events_pb2_grpc.py +0 -0
  308. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/events/signature_composer.py +0 -0
  309. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/events/types.py +0 -0
  310. {webull_openapi_python_sdk-1.1.0/webull/data/quotes/subscribe → webull_openapi_python_sdk-2.0.1/webull/trade/request}/__init__.py +0 -0
  311. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/cancel_order_request.py +0 -0
  312. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_account_balance_request.py +0 -0
  313. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_account_positions_request.py +0 -0
  314. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_account_profile_request.py +0 -0
  315. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_app_subscriptions.py +0 -0
  316. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_open_orders_request.py +0 -0
  317. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_order_detail_request.py +0 -0
  318. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_today_orders_request.py +0 -0
  319. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_trade_calendar_request.py +0 -0
  320. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_trade_instrument_detail_request.py +0 -0
  321. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_trade_security_detail_request.py +0 -0
  322. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/get_tradeable_instruments_request.py +0 -0
  323. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/palce_order_request.py +0 -0
  324. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/place_order_request.py +0 -0
  325. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/place_order_request_v2.py +0 -0
  326. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/replace_order_request.py +0 -0
  327. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/replace_order_request_v2.py +0 -0
  328. {webull_openapi_python_sdk-1.1.0/webull/data/request → webull_openapi_python_sdk-2.0.1/webull/trade/request/v2}/__init__.py +0 -0
  329. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/cancel_option_request.py +0 -0
  330. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/cancel_order_request.py +0 -0
  331. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_account_balance_request.py +0 -0
  332. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_account_list.py +0 -0
  333. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_account_list_request.py +0 -0
  334. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_account_positions_request.py +0 -0
  335. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_order_detail_request.py +0 -0
  336. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_order_history_request.py +0 -0
  337. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/get_order_open_request.py +0 -0
  338. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/palce_order_request.py +0 -0
  339. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/place_option_request.py +0 -0
  340. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/place_order_request.py +0 -0
  341. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/preview_option_request.py +0 -0
  342. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/preview_order_request.py +0 -0
  343. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/replace_option_request.py +0 -0
  344. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v2/replace_order_request.py +0 -0
  345. {webull_openapi_python_sdk-1.1.0/webull/trade/common → webull_openapi_python_sdk-2.0.1/webull/trade/request/v3}/__init__.py +0 -0
  346. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/batch_place_order_request.py +0 -0
  347. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/cancel_order_request.py +0 -0
  348. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/get_order_detail_request.py +0 -0
  349. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/get_order_history_request.py +0 -0
  350. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/get_order_open_request.py +0 -0
  351. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/place_order_request.py +0 -0
  352. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/preview_order_request.py +0 -0
  353. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/request/v3/replace_order_request.py +0 -0
  354. {webull_openapi_python_sdk-1.1.0/webull/trade/events → webull_openapi_python_sdk-2.0.1/webull/trade/trade}/__init__.py +0 -0
  355. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/account_info.py +0 -0
  356. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/order_operation.py +0 -0
  357. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/trade_calendar.py +0 -0
  358. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/trade_instrument.py +0 -0
  359. {webull_openapi_python_sdk-1.1.0/webull/trade/request → webull_openapi_python_sdk-2.0.1/webull/trade/trade/v2}/__init__.py +0 -0
  360. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/v2/account_info_v2.py +0 -0
  361. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/v2/order_operation_v2.py +0 -0
  362. {webull_openapi_python_sdk-1.1.0/webull/trade/request/v2 → webull_openapi_python_sdk-2.0.1/webull/trade/trade/v3}/__init__.py +0 -0
  363. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade/v3/order_opration_v3.py +0 -0
  364. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade_client.py +0 -0
  365. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull/trade/trade_events_client.py +0 -0
  366. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull_openapi_python_sdk.egg-info/dependency_links.txt +0 -0
  367. {webull_openapi_python_sdk-1.1.0 → webull_openapi_python_sdk-2.0.1}/webull_openapi_python_sdk.egg-info/top_level.txt +0 -0
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.4
2
+ Name: webull-openapi-python-sdk
3
+ Version: 2.0.1
4
+ Summary: Webull Python SDK.
5
+ Home-page:
6
+ Author: Webull
7
+ Author-email:
8
+ License: Apache License 2.0
9
+ Platform: any
10
+ Requires-Python: >=3.8,<3.14
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ License-File: NOTICE
14
+ Requires-Dist: jmespath<1.0.0,>=0.9.3
15
+ Requires-Dist: cachetools<6,>=5.2.0
16
+ Requires-Dist: paho-mqtt<2,>=1.6.1
17
+ Requires-Dist: urllib3>=2.0
18
+ Requires-Dist: requests>=2.31.0
19
+ Requires-Dist: six>=1.16.0
20
+ Requires-Dist: cryptography<42,>=3.4; python_version < "3.12"
21
+ Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12"
22
+ Requires-Dist: protobuf<5,>=4.21.12; python_version < "3.12"
23
+ Requires-Dist: protobuf<6,>=4.25.0; python_version >= "3.12"
24
+ 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
+ Dynamic: author
27
+ Dynamic: description-content-type
28
+ Dynamic: license
29
+ Dynamic: license-file
30
+ Dynamic: platform
31
+ Dynamic: requires-dist
32
+ Dynamic: requires-python
33
+ Dynamic: summary
@@ -0,0 +1 @@
1
+ __version__ = '2.0.1'
@@ -11,6 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ from webull.data.common.timespan import Timespan
14
15
 
15
16
  # coding=utf-8
16
17
 
@@ -35,11 +36,19 @@ api_client.add_endpoint(region_id, optional_api_endpoint)
35
36
  if __name__ == '__main__':
36
37
  data_client = DataClient(api_client)
37
38
 
39
+ res = data_client.instrument.get_event_categories()
40
+ if res.status_code == 200:
41
+ print('get_event_categories:', res.json())
42
+
38
43
  res = data_client.instrument.get_event_series("ECONOMICS")
39
44
  if res.status_code == 200:
40
45
  print('get_event_series:', res.json())
41
46
 
42
- res = data_client.instrument.get_event_instrument("KXGDP")
47
+ res = data_client.instrument.get_event_events("KXRATECUTCOUNT")
48
+ if res.status_code == 200:
49
+ print('get_event_events:', res.json())
50
+
51
+ res = data_client.instrument.get_event_instrument("KXRATECUTCOUNT")
43
52
  if res.status_code == 200:
44
53
  print('get_event_instrument:', res.json())
45
54
 
@@ -49,4 +58,12 @@ if __name__ == '__main__':
49
58
 
50
59
  res = data_client.event_market_data.get_event_depth("KXRATECUTCOUNT-25DEC31-T10", Category.US_EVENT.name)
51
60
  if res.status_code == 200:
52
- print('get_event_depth:', res.json())
61
+ print('get_event_depth:', res.json())
62
+
63
+ res = data_client.event_market_data.get_event_bars("KXRATECUTCOUNT-25DEC31-T10", Timespan.M1, Category.US_EVENT.name, 200, False)
64
+ if res.status_code == 200:
65
+ print('get_event_bars:', res.json())
66
+
67
+ res = data_client.event_market_data.get_event_tick("KXRATECUTCOUNT-25DEC31-T10", Category.US_EVENT.name, 30)
68
+ if res.status_code == 200:
69
+ print('get_event_tick:', res.json())
@@ -86,6 +86,4 @@ if __name__ == '__main__':
86
86
  # data_streaming_client.register_payload_decoder(PAYLOAD_TYPE_TICK, TickDecoder())
87
87
 
88
88
  # the sync mode, blocking in current thread
89
- data_streaming_client.connect_and_loop_forever()
90
-
91
-
89
+ data_streaming_client.connect_and_loop_forever()
@@ -16,16 +16,33 @@ with open("README.rst") as fp:
16
16
 
17
17
  requires = [
18
18
  "jmespath>=0.9.3,<1.0.0",
19
- "cryptography>=2.6.0",
20
- "cachetools==5.2.0",
21
- "paho-mqtt==1.6.1",
22
- "protobuf==4.21.12",
23
- "grpcio==1.51.1",
24
- "grpcio-tools==1.51.1"
19
+ "cachetools>=5.2.0,<6",
20
+ "paho-mqtt>=1.6.1,<2",
21
+ "urllib3>=2.0",
22
+ "requests>=2.31.0",
23
+ "six>=1.16.0",
24
+
25
+ # cryptography
26
+ "cryptography>=3.4,<42; python_version<'3.12'",
27
+ "cryptography>=41.0,<43; python_version>='3.12'",
28
+
29
+ # protobuf
30
+ "protobuf>=4.21.12,<5; python_version<'3.12'",
31
+ "protobuf>=4.25.0,<6; python_version>='3.12'",
32
+
33
+ # grpc
34
+ "grpcio>=1.51.1,<1.60; python_version<'3.12'",
35
+ "grpcio>=1.60.0,<1.70; python_version>='3.12'"
25
36
  ]
26
37
 
38
+ extras_require = {
39
+ "dev": [
40
+ "grpcio-tools>=1.60,<1.70",
41
+ ]
42
+ }
43
+
27
44
  setup_args = {
28
- 'python_requires':'>=3.8,<3.12',
45
+ 'python_requires':'>=3.8,<3.14',
29
46
  'version': VERSION,
30
47
  'author': AUTHOR,
31
48
  'author_email': AUTHOR_EMAIL,
@@ -0,0 +1 @@
1
+ __version__ = '2.0.1'
@@ -1,4 +1,4 @@
1
- __version__ = '1.1.0'
1
+ __version__ = '2.0.1'
2
2
 
3
3
  import logging
4
4
 
@@ -42,8 +42,8 @@ from webull.core.exception import error_code
42
42
  from webull.core.exception.exceptions import ClientException
43
43
  from webull.core.utils import common
44
44
  import webull.core.headers as hd
45
- from webull.core.vendored.six import iteritems
46
- from webull.core.vendored.six.moves.urllib.parse import quote
45
+ from six import iteritems
46
+ from six.moves.urllib.parse import quote
47
47
  import logging
48
48
  logger = logging.getLogger(__name__)
49
49
 
@@ -40,7 +40,7 @@ which was part of Alibaba Group.
40
40
  """
41
41
 
42
42
  from abc import ABCMeta, abstractmethod
43
- from webull.core.vendored.six import with_metaclass
43
+ from six import with_metaclass
44
44
 
45
45
  class Signer(with_metaclass(ABCMeta, object)):
46
46
  @abstractmethod
@@ -61,9 +61,9 @@ from webull.core.request import BaseRequest
61
61
  from webull.core.retry.retry_condition import RetryCondition
62
62
  from webull.core.retry.retry_policy_context import RetryPolicyContext
63
63
  from webull.core.utils import common, validation
64
- from webull.core.vendored.requests import codes
65
- from webull.core.vendored.requests.structures import CaseInsensitiveDict
66
- from webull.core.vendored.requests.structures import OrderedDict
64
+ from requests import codes
65
+ from requests.structures import CaseInsensitiveDict
66
+ from requests.structures import OrderedDict
67
67
 
68
68
  DEFAULT_READ_TIMEOUT = 10
69
69
  DEFAULT_CONNECTION_TIMEOUT = 5
@@ -187,7 +187,7 @@ class ApiClient:
187
187
  default_agent['Python'] = platform.python_version()
188
188
  default_agent['Core'] = __import__('webull.core').__version__
189
189
  default_agent['python-requests'] = __import__(
190
- 'webull.core.vendored.requests.__version__', globals(), locals(),
190
+ 'requests.__version__', globals(), locals(),
191
191
  ['vendored', 'requests', '__version__'], 0).__version__
192
192
 
193
193
  return CaseInsensitiveDict(default_agent)
@@ -40,7 +40,7 @@ which was part of Alibaba Group.
40
40
  """
41
41
 
42
42
  import sys
43
- from webull.core.vendored import six
43
+ import six
44
44
 
45
45
  if six.PY2:
46
46
  from base64 import encodestring as b64_encode_bytes
@@ -41,10 +41,10 @@ which was part of Alibaba Group.
41
41
 
42
42
  import os
43
43
  import logging
44
- from webull.core.vendored.requests import Request, Session
44
+ from requests import Request, Session
45
45
  from webull.core.http.request import Request as HttpRequest
46
46
  from webull.core.http import protocol_type as PT
47
- from webull.core.vendored.requests import status_codes
47
+ from requests import status_codes
48
48
 
49
49
 
50
50
  logger = logging.getLogger(__name__)
@@ -41,13 +41,11 @@ which was part of Alibaba Group.
41
41
 
42
42
  import abc
43
43
  from webull.core.auth.algorithm import sha_hmac1
44
- from webull.core.vendored.six import iterkeys
45
- from webull.core.vendored.six import iteritems
46
- from webull.core.vendored.six import add_metaclass
44
+ from six import add_metaclass
47
45
  from webull.core.http import protocol_type
48
46
  from webull.core.exception import exceptions, error_code
49
- from webull.core.vendored.requests.structures import CaseInsensitiveDict
50
- from webull.core.vendored.six.moves.urllib.parse import urlencode
47
+ from requests.structures import CaseInsensitiveDict
48
+ from six.moves.urllib.parse import urlencode
51
49
  from webull.core.auth.composer import default_signature_composer as sc
52
50
  import webull.core.headers as hd
53
51
 
@@ -0,0 +1,3 @@
1
+ # coding=utf-8
2
+
3
+ __version__ = '2.0.1'
@@ -14,7 +14,7 @@
14
14
 
15
15
  # coding=utf-8
16
16
  import abc
17
- from webull.core.vendored.six import add_metaclass
17
+ from six import add_metaclass
18
18
 
19
19
 
20
20
  @add_metaclass(abc.ABCMeta)
@@ -12,8 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  from webull.data.common.category import Category
15
+ from webull.data.request.get_event_bars_request import GetEventBarsRequest
15
16
  from webull.data.request.get_event_depth_request import GetEventDepthRequest
16
17
  from webull.data.request.get_event_snapshot_request import GetEventSnapshotRequest
18
+ from webull.data.request.get_event_tick_request import GetEventTickRequest
19
+
17
20
 
18
21
  class EventMarketData:
19
22
  def __init__(self, api_client):
@@ -47,4 +50,43 @@ class EventMarketData:
47
50
  quote_request.set_category(category)
48
51
  quote_request.set_depth(depth)
49
52
  response = self.client.get_response(quote_request)
53
+ return response
54
+
55
+ def get_event_bars(self, symbols, timespan, category=Category.US_EVENT.name, count=200, real_time_required=False):
56
+ """
57
+ Get the current order book for a specific event instrument.
58
+ The order book shows all active bid orders for both yes and no sides of a binary market.
59
+ It returns yes bids and no bids only (no asks are returned). Price unit is based on usd_cent.
60
+
61
+ :param symbols: Symbol of the event market, supports JSON array format, multiple symbols separated by commas; maximum 100 symbols per query.
62
+ :param timespan:K-line time granularity.
63
+ :param category: default is US_EVENT, currently only US_EVENT is supported.
64
+ :param count: Number of entries, default 200 entries, maximum 1200 entries.
65
+ :param real_time_required: Does it include the latest data? The k-line that has not been finalized is not included by default. It is false and only used for minutes.
66
+ """
67
+ quote_request = GetEventBarsRequest()
68
+ quote_request.set_symbols(symbols)
69
+ quote_request.set_category(category)
70
+ quote_request.set_timespan(timespan)
71
+ quote_request.set_count(count)
72
+ quote_request.set_real_time_required(real_time_required)
73
+ response = self.client.get_response(quote_request)
74
+ return response
75
+
76
+
77
+ def get_event_tick(self, symbol, category=Category.US_EVENT.name, count=30):
78
+ """
79
+ Detailed transaction records, including transaction time, price, quantity,
80
+ and transaction direction. Data is sorted in reverse chronological order,
81
+ with the most recent transaction record first.
82
+
83
+ :param symbol:Symbol of the event market.
84
+ :param category: default is US_EVENT, currently only US_EVENT is supported.
85
+ :param count: Number of entries, default 30 entries, maximum 1200 entries.
86
+ """
87
+ quote_request = GetEventTickRequest()
88
+ quote_request.set_symbol(symbol)
89
+ quote_request.set_category(category)
90
+ quote_request.set_count(count)
91
+ response = self.client.get_response(quote_request)
50
92
  return response
@@ -12,7 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  from webull.data.common.category import Category
15
+ from webull.data.request.get_event_events_request import GetEventEventsRequest
15
16
  from webull.data.request.get_event_instrument_request import GetEventInstrumentRequest
17
+ from webull.data.request.get_event_series_categories import GetEventCategoriesRequest
16
18
  from webull.data.request.get_event_series_request import GetEventSeriesRequest
17
19
  from webull.data.request.get_instruments_request import GetInstrumentsRequest
18
20
  from webull.data.request.get_crypto_instruments_request import GetCryptoInstrumentsRequest
@@ -111,7 +113,15 @@ class Instrument:
111
113
  response = self.client.get_response(futures_instrument_request)
112
114
  return response
113
115
 
114
- def get_event_series(self, category, last_instrument_id=None, page_size=500):
116
+ def get_event_categories(self):
117
+ """
118
+ Query event contract categories
119
+ """
120
+ event_categories_request = GetEventCategoriesRequest()
121
+ response = self.client.get_response(event_categories_request)
122
+ return response
123
+
124
+ def get_event_series(self, category=None, symbols=None, last_series_id=None, page_size=500):
115
125
  """
116
126
  Retrieve multiple series with specified filters.
117
127
  A series represents a template for recurring events that follow the same format and rules (e.g., “Monthly Jobs Report” ).
@@ -120,30 +130,57 @@ class Instrument:
120
130
  :param category: The category which this series belongs to.Allowed values:
121
131
  ECONOMICS, FINANCIALS, POLITICS, ENTERTAINMENT, SCIENCE_TECHNOLOGY,
122
132
  CLIMATE_WEATHER, TRANSPORTATION, CRYPTO, SPORTS
123
- :param last_instrument_id: Last series id for pagination.
133
+ :param symbols: Symbol of the event series, supports JSON array format, multiple symbols separated by commas; maximum 100 symbols per query.
134
+ :param last_series_id: Last series id for pagination.
124
135
  :param page_size: Page size, default 500.
125
136
  """
126
137
 
127
138
  event_series_request = GetEventSeriesRequest()
128
- event_series_request.set_category(category)
129
- if last_instrument_id:
130
- event_series_request.set_last_instrument_id(last_instrument_id)
139
+ if category:
140
+ event_series_request.set_category(category)
141
+ if symbols:
142
+ event_series_request.set_symbols(symbols)
143
+ if last_series_id:
144
+ event_series_request.set_last_series_id(last_series_id)
131
145
  event_series_request.set_page_size(page_size)
132
146
  response = self.client.get_response(event_series_request)
133
147
  return response
134
148
 
135
- def get_event_instrument(self, series_symbol, expiration_date_after=None, last_instrument_id=None, page_size=500):
149
+ def get_event_events(self, series_symbol, symbols=None, status=None):
150
+ """
151
+ Query event contract events
152
+
153
+ :param series_symbol: Series Symbol that identifies this series.
154
+ :param symbols: Symbol of the event events, supports JSON array format, multiple symbols separated by commas; maximum 100 symbols per query.
155
+ :param status: Event status (optional, defaults to querying tradable/valid events).
156
+ """
157
+ event_events_request = GetEventEventsRequest()
158
+ event_events_request.set_series_symbol(series_symbol)
159
+ if symbols:
160
+ event_events_request.set_symbols(symbols)
161
+ if status:
162
+ event_events_request.set_status(status)
163
+ response = self.client.get_response(event_events_request)
164
+ return response
165
+
166
+ def get_event_instrument(self, series_symbol, event_symbol=None, symbols=None, expiration_date_after=None, last_instrument_id=None, page_size=500):
136
167
  """
137
168
  Retrieve profile information for event contract markets based on the series symbol.
138
169
 
139
170
  :param series_symbol: Symbol that identifies this series.
171
+ :param event_symbol: Symbol of the event events.
172
+ :param symbols: Symbol of the event market, supports JSON array format, multiple symbols separated by commas; maximum 100 symbols per query.
140
173
  :param expiration_date_after: Used to filter items whose expiration date is later than a specified date; the default selection is the current day (inclusive).
141
- :param last_instrument_id: Last series id for pagination.
174
+ :param last_instrument_id: Last instrument id for pagination.
142
175
  :param page_size: Page size, default 500.
143
176
  """
144
177
 
145
178
  event_instrument_request = GetEventInstrumentRequest()
146
179
  event_instrument_request.set_series_symbol(series_symbol)
180
+ if event_symbol:
181
+ event_instrument_request.set_event_symbol(event_symbol)
182
+ if symbols:
183
+ event_instrument_request.set_symbols(symbols)
147
184
  if expiration_date_after:
148
185
  event_instrument_request.set_expiration_date_after(expiration_date_after)
149
186
  if last_instrument_id:
@@ -0,0 +1,43 @@
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 GetEventBarsRequest(ApiRequest):
21
+ def __init__(self):
22
+ ApiRequest.__init__(self, "/openapi/market-data/event/bars", version='v2', method="GET", query_params={})
23
+
24
+ def set_symbols(self, symbols):
25
+ if isinstance(symbols, str):
26
+ self.add_query_param("symbols", symbols)
27
+ elif isinstance(symbols, list):
28
+ self.add_query_param("symbols", ",".join(symbols))
29
+
30
+ def set_category(self, category):
31
+ self.add_query_param("category", category)
32
+
33
+ def set_timespan(self, timespan):
34
+ if timespan:
35
+ self.add_query_param("timespan", timespan)
36
+
37
+ def set_count(self, count):
38
+ if count:
39
+ self.add_query_param("count", count)
40
+
41
+ def set_real_time_required(self, real_time_required):
42
+ if real_time_required:
43
+ self.add_query_param("real_time_required", real_time_required)
@@ -0,0 +1,33 @@
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
+ class GetEventEventsRequest(ApiRequest):
20
+ def __init__(self):
21
+ ApiRequest.__init__(self, "/openapi/instrument/event/events", version='v2', method="GET", query_params={})
22
+
23
+ def set_series_symbol(self, series_symbol):
24
+ self.add_query_param("series_symbol", series_symbol)
25
+
26
+ def set_symbols(self, symbols):
27
+ if isinstance(symbols, str):
28
+ self.add_query_param("symbols", symbols)
29
+ elif isinstance(symbols, list):
30
+ self.add_query_param("symbols", ",".join(symbols))
31
+
32
+ def set_status(self, status):
33
+ self.add_query_param("status", status)
@@ -23,6 +23,15 @@ class GetEventInstrumentRequest(ApiRequest):
23
23
  def set_series_symbol(self, series_symbol):
24
24
  self.add_query_param("series_symbol", series_symbol)
25
25
 
26
+ def set_event_symbol(self, event_symbol):
27
+ self.add_query_param("event_symbol", event_symbol)
28
+
29
+ def set_symbols(self, symbols):
30
+ if isinstance(symbols, str):
31
+ self.add_query_param("symbols", symbols)
32
+ elif isinstance(symbols, list):
33
+ self.add_query_param("symbols", ",".join(symbols))
34
+
26
35
  def set_expiration_date_after(self, expiration_date_after):
27
36
  self.add_query_param("expiration_date_after", expiration_date_after)
28
37
 
@@ -0,0 +1,21 @@
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
+ class GetEventCategoriesRequest(ApiRequest):
20
+ def __init__(self):
21
+ ApiRequest.__init__(self, "/openapi/instrument/event/categories", version='v2', method="GET", query_params={})
@@ -23,8 +23,14 @@ class GetEventSeriesRequest(ApiRequest):
23
23
  def set_category(self, category):
24
24
  self.add_query_param("category", category)
25
25
 
26
- def set_last_instrument_id(self, last_instrument_id):
27
- self.add_query_param("last_instrument_id", last_instrument_id)
26
+ def set_symbols(self, symbols):
27
+ if isinstance(symbols, str):
28
+ self.add_query_param("symbols", symbols)
29
+ elif isinstance(symbols, list):
30
+ self.add_query_param("symbols", ",".join(symbols))
31
+
32
+ def set_last_series_id(self, last_series_id):
33
+ self.add_query_param("last_series_id", last_series_id)
28
34
 
29
35
  def set_page_size(self, page_size):
30
36
  self.add_query_param("page_size", page_size)
@@ -0,0 +1,32 @@
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 GetEventTickRequest(ApiRequest):
21
+ def __init__(self):
22
+ ApiRequest.__init__(self, "/openapi/market-data/event/tick", version='v2', method="GET", query_params={})
23
+
24
+ def set_symbol(self, symbol):
25
+ self.add_query_param("symbol", symbol)
26
+
27
+ def set_category(self, category):
28
+ self.add_query_param("category", category)
29
+
30
+ def set_count(self, count):
31
+ if count:
32
+ self.add_query_param("count", count)
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.4
2
+ Name: webull-openapi-python-sdk
3
+ Version: 2.0.1
4
+ Summary: Webull Python SDK.
5
+ Home-page:
6
+ Author: Webull
7
+ Author-email:
8
+ License: Apache License 2.0
9
+ Platform: any
10
+ Requires-Python: >=3.8,<3.14
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ License-File: NOTICE
14
+ Requires-Dist: jmespath<1.0.0,>=0.9.3
15
+ Requires-Dist: cachetools<6,>=5.2.0
16
+ Requires-Dist: paho-mqtt<2,>=1.6.1
17
+ Requires-Dist: urllib3>=2.0
18
+ Requires-Dist: requests>=2.31.0
19
+ Requires-Dist: six>=1.16.0
20
+ Requires-Dist: cryptography<42,>=3.4; python_version < "3.12"
21
+ Requires-Dist: cryptography<43,>=41.0; python_version >= "3.12"
22
+ Requires-Dist: protobuf<5,>=4.21.12; python_version < "3.12"
23
+ Requires-Dist: protobuf<6,>=4.25.0; python_version >= "3.12"
24
+ 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
+ Dynamic: author
27
+ Dynamic: description-content-type
28
+ Dynamic: license
29
+ Dynamic: license-file
30
+ Dynamic: platform
31
+ Dynamic: requires-dist
32
+ Dynamic: requires-python
33
+ Dynamic: summary