locust 2.27.1.dev12__tar.gz → 2.27.1.dev20__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. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/PKG-INFO +3 -3
  2. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/README.md +1 -1
  3. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/custom-load-shape.rst +11 -14
  4. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/what-is-locust.rst +1 -1
  5. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/_version.py +2 -2
  6. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/web.py +4 -0
  7. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/PKG-INFO +3 -3
  8. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/pyproject.toml +1 -1
  9. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.coveragerc +0 -0
  10. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.dockerignore +0 -0
  11. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.git-blame-ignore-revs +0 -0
  12. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.gitattributes +0 -0
  13. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/CONTRIBUTING.md +0 -0
  14. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  15. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  16. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  17. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/workflows/stale.yml +0 -0
  18. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.github/workflows/tests.yml +0 -0
  19. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.gitignore +0 -0
  20. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.pre-commit-config.yaml +0 -0
  21. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.readthedocs.yaml +0 -0
  22. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.vscode/extensions.json +0 -0
  23. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.vscode/launch.json +0 -0
  24. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.vscode/launch_locust.json +0 -0
  25. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/.vscode/settings.json +0 -0
  26. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/CHANGELOG.md +0 -0
  27. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/Dockerfile +0 -0
  28. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/LICENSE +0 -0
  29. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/MANIFEST.in +0 -0
  30. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/Makefile +0 -0
  31. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/README +0 -0
  32. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/SECURITY.md +0 -0
  33. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/Vagrantfile +0 -0
  34. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/benchmarks/dispatch.py +0 -0
  35. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/_static/theme-overrides.css +0 -0
  36. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/api.rst +0 -0
  37. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/changelog.rst +0 -0
  38. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/conf.py +0 -0
  39. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/configuration.rst +0 -0
  40. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/developing-locust.rst +0 -0
  41. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/extending-locust.rst +0 -0
  42. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/further-reading.rst +0 -0
  43. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/history.rst +0 -0
  44. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/extend_modern_web_ui_cache_stats.png +0 -0
  45. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/locust_workers.png +0 -0
  46. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/number_of_users.png +0 -0
  47. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/response_times.png +0 -0
  48. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/total_requests_per_second.png +0 -0
  49. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/userclass_picker_example.png +0 -0
  50. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/webui-running-statistics.png +0 -0
  51. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/images/webui-splash-screenshot.png +0 -0
  52. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/increase-performance.rst +0 -0
  53. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/index.rst +0 -0
  54. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/installation.rst +0 -0
  55. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/logging.rst +0 -0
  56. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/quickstart.rst +0 -0
  57. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/requirements.txt +0 -0
  58. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/retrieving-stats.rst +0 -0
  59. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/running-distributed.rst +0 -0
  60. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/running-in-debugger.rst +0 -0
  61. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/running-in-docker.rst +0 -0
  62. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/running-without-web-ui.rst +0 -0
  63. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/tasksets.rst +0 -0
  64. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/testing-other-systems.rst +0 -0
  65. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/use-as-lib.rst +0 -0
  66. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/docs/writing-a-locustfile.rst +0 -0
  67. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/add_command_line_argument.py +0 -0
  68. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/basic.py +0 -0
  69. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/browse_docs_sequence_test.py +0 -0
  70. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/browse_docs_test.py +0 -0
  71. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_messages.py +0 -0
  72. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_shape/double_wave.py +0 -0
  73. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_shape/stages.py +0 -0
  74. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_shape/staging_user_classes.py +0 -0
  75. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_shape/step_load.py +0 -0
  76. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_shape/wait_user_count.py +0 -0
  77. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_wait_function.py +0 -0
  78. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_xmlrpc_client/server.py +0 -0
  79. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
  80. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/debugging.py +0 -0
  81. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/debugging_advanced.py +0 -0
  82. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/docker-compose/docker-compose.yml +0 -0
  83. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/dynamic_user_credentials.py +0 -0
  84. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/events.py +0 -0
  85. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/extend_web_ui.py +0 -0
  86. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/fast_http_locust.py +0 -0
  87. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/grpc_user.py +0 -0
  88. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/hello.proto +0 -0
  89. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/hello_pb2.py +0 -0
  90. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/hello_pb2_grpc.py +0 -0
  91. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/hello_server.py +0 -0
  92. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/grpc/locustfile.py +0 -0
  93. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/locustfile.py +0 -0
  94. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/manual_stats_reporting.py +0 -0
  95. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/multiple_hosts.py +0 -0
  96. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/nested_inline_tasksets.py +0 -0
  97. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/rest.py +0 -0
  98. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
  99. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/semaphore_wait.py +0 -0
  100. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/stop_on_threshold.py +0 -0
  101. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/README.md +0 -0
  102. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/data_subnet.tf +0 -0
  103. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/main.tf +0 -0
  104. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/output.tf +0 -0
  105. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/plan/basic.py +0 -0
  106. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/provisioner.tf +0 -0
  107. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/terraform/aws/variables.tf +0 -0
  108. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/test_data_management.py +0 -0
  109. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/use_as_lib.py +0 -0
  110. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/vagrant/README.md +0 -0
  111. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/vagrant/supervisord.conf +0 -0
  112. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/web_ui_auth.py +0 -0
  113. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/web_ui_cache_stats.py +0 -0
  114. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/examples/worker_index.py +0 -0
  115. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/generate_changelog.py +0 -0
  116. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/__init__.py +0 -0
  117. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/__main__.py +0 -0
  118. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/argument_parser.py +0 -0
  119. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/clients.py +0 -0
  120. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/contrib/__init__.py +0 -0
  121. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/contrib/fasthttp.py +0 -0
  122. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/debug.py +0 -0
  123. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/dispatch.py +0 -0
  124. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/env.py +0 -0
  125. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/event.py +0 -0
  126. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/exception.py +0 -0
  127. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/html.py +0 -0
  128. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/input_events.py +0 -0
  129. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/log.py +0 -0
  130. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/main.py +0 -0
  131. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/py.typed +0 -0
  132. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/rpc/__init__.py +0 -0
  133. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/rpc/protocol.py +0 -0
  134. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/rpc/zmqrpc.py +0 -0
  135. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/runners.py +0 -0
  136. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/shape.py +0 -0
  137. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/stats.py +0 -0
  138. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/__init__.py +0 -0
  139. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/fake_module1_for_env_test.py +0 -0
  140. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/fake_module2_for_env_test.py +0 -0
  141. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/mock_locustfile.py +0 -0
  142. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/mock_logging.py +0 -0
  143. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_debugging.py +0 -0
  144. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_dispatch.py +0 -0
  145. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_env.py +0 -0
  146. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_fasthttp.py +0 -0
  147. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_http.py +0 -0
  148. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_interruptable_task.py +0 -0
  149. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_load_locustfile.py +0 -0
  150. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_locust_class.py +0 -0
  151. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_log.py +0 -0
  152. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_main.py +0 -0
  153. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_old_wait_api.py +0 -0
  154. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_parser.py +0 -0
  155. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_runners.py +0 -0
  156. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_sequential_taskset.py +0 -0
  157. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_stats.py +0 -0
  158. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_tags.py +0 -0
  159. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_taskratio.py +0 -0
  160. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_users.py +0 -0
  161. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_util.py +0 -0
  162. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_wait_time.py +0 -0
  163. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_web.py +0 -0
  164. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/test_zmqrpc.py +0 -0
  165. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/testcases.py +0 -0
  166. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/test/util.py +0 -0
  167. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/__init__.py +0 -0
  168. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/inspectuser.py +0 -0
  169. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/sequential_taskset.py +0 -0
  170. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/task.py +0 -0
  171. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/users.py +0 -0
  172. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/user/wait_time.py +0 -0
  173. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/__init__.py +0 -0
  174. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/cache.py +0 -0
  175. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/deprecation.py +0 -0
  176. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/exception_handler.py +0 -0
  177. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/load_locustfile.py +0 -0
  178. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/rounding.py +0 -0
  179. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/util/timespan.py +0 -0
  180. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/.eslintrc +0 -0
  181. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/.gitignore +0 -0
  182. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/.prettierrc +0 -0
  183. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/auth.html +0 -0
  184. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dev.html +0 -0
  185. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/assets/favicon.ico +0 -0
  186. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/assets/index-941b6e82.js +0 -0
  187. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/assets/logo.png +0 -0
  188. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/auth.html +0 -0
  189. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/index.html +0 -0
  190. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/dist/report.html +0 -0
  191. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/index.html +0 -0
  192. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/package.json +0 -0
  193. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/public/assets/favicon.ico +0 -0
  194. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/public/assets/logo.png +0 -0
  195. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/public/report.html +0 -0
  196. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/App.test.tsx +0 -0
  197. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/App.tsx +0 -0
  198. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
  199. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
  200. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +0 -0
  201. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
  202. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/FallbackRender/FallbackRender.test.tsx +0 -0
  203. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/FallbackRender/FallbackRender.tsx +0 -0
  204. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Form/Form.tsx +0 -0
  205. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Form/Select.tsx +0 -0
  206. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Form/tests/Form.test.tsx +0 -0
  207. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Form/tests/Select.test.tsx +0 -0
  208. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
  209. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
  210. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Layout.tsx +0 -0
  211. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
  212. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
  213. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
  214. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
  215. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
  216. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
  217. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -0
  218. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +0 -0
  219. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +0 -0
  220. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/LogViewer/useLogViewer.ts +0 -0
  221. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Modal/Modal.tsx +0 -0
  222. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
  223. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Reports/Reports.tsx +0 -0
  224. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
  225. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
  226. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
  227. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
  228. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
  229. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
  230. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
  231. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
  232. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
  233. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
  234. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
  235. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +0 -0
  236. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
  237. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
  238. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
  239. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/SwarmUserClassPicker.tsx +0 -0
  240. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
  241. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
  242. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
  243. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +0 -0
  244. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
  245. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
  246. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Table/Table.test.tsx +0 -0
  247. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Table/Table.tsx +0 -0
  248. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Tabs/Tabs.constants.tsx +0 -0
  249. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
  250. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/Tabs/Tabs.tsx +0 -0
  251. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.test.tsx +0 -0
  252. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.tsx +0 -0
  253. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
  254. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/constants/auth.ts +0 -0
  255. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/constants/swarm.ts +0 -0
  256. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/constants/theme.ts +0 -0
  257. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/global.d.ts +0 -0
  258. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/tests/useNotifications.test.tsx +0 -0
  259. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/tests/useSelecteViewColumns.test.tsx +0 -0
  260. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
  261. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
  262. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/useInterval.ts +0 -0
  263. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/useNotifications.ts +0 -0
  264. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/useSelectViewColumns.ts +0 -0
  265. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/useSortByField.ts +0 -0
  266. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
  267. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/index.tsx +0 -0
  268. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/Auth.tsx +0 -0
  269. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/Dashboard.tsx +0 -0
  270. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/HtmlReport.tsx +0 -0
  271. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/tests/Auth.test.tsx +0 -0
  272. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/tests/Dashboard.test.tsx +0 -0
  273. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/pages/tests/HtmlReport.test.tsx +0 -0
  274. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/api/swarm.ts +0 -0
  275. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/hooks.ts +0 -0
  276. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/logViewer.slice.ts +0 -0
  277. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/notification.slice.ts +0 -0
  278. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/root.slice.ts +0 -0
  279. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
  280. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +0 -0
  281. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
  282. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/ui.slice.ts +0 -0
  283. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/slice/url.slice.ts +0 -0
  284. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/store.ts +0 -0
  285. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/redux/utils.ts +0 -0
  286. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/styles/theme.ts +0 -0
  287. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/test/constants.ts +0 -0
  288. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
  289. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
  290. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/test/setup.ts +0 -0
  291. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/test/testUtils.tsx +0 -0
  292. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/types/auth.types.ts +0 -0
  293. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/types/swarm.types.ts +0 -0
  294. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/types/tab.types.ts +0 -0
  295. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/types/table.types.ts +0 -0
  296. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/types/ui.types.ts +0 -0
  297. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/number.ts +0 -0
  298. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/object.ts +0 -0
  299. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/string.ts +0 -0
  300. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/tests/number.test.ts +0 -0
  301. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/tests/object.test.ts +0 -0
  302. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/tests/string.test.ts +0 -0
  303. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/tests/url.test.ts +0 -0
  304. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/src/utils/url.ts +0 -0
  305. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/tsconfig.json +0 -0
  306. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/vite.config.ts +0 -0
  307. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/vitest.config.ts +0 -0
  308. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust/webui/yarn.lock +0 -0
  309. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/SOURCES.txt +0 -0
  310. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/dependency_links.txt +0 -0
  311. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/entry_points.txt +0 -0
  312. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/not-zip-safe +0 -0
  313. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/requires.txt +0 -0
  314. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/locust.egg-info/top_level.txt +0 -0
  315. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/package.json +0 -0
  316. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/scripts/locustfile.py +0 -0
  317. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/scripts/run-disributed-headless.sh +0 -0
  318. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/scripts/run-disributed-web.sh +0 -0
  319. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/scripts/run-local-headless.sh +0 -0
  320. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/scripts/run-local-web.sh +0 -0
  321. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/setup.cfg +0 -0
  322. {locust-2.27.1.dev12 → locust-2.27.1.dev20}/tox.ini +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.27.1.dev12
4
- Summary: Developer friendly load testing framework
3
+ Version: 2.27.1.dev20
4
+ Summary: Developer-friendly load testing framework
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/locustio/locust
7
7
  Project-URL: Documentation, https://docs.locust.io/
@@ -49,7 +49,7 @@ Requires-Dist: pywin32; platform_system == "Windows"
49
49
  [![GitHub contributors](https://img.shields.io/github/contributors/locustio/locust.svg)](https://github.com/locustio/locust/graphs/contributors)
50
50
  [![Support Ukraine Badge](https://bit.ly/support-ukraine-now)](https://github.com/support-ukraine/support-ukraine)
51
51
 
52
- Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer friendly approach lets you to define your tests in regular Python code.
52
+ Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer-friendly approach lets you define your tests in regular Python code.
53
53
 
54
54
  Locust tests can be run from command line or using its web-based UI. Throughput, response times and errors can be viewed in real time and/or exported for later analysis.
55
55
 
@@ -7,7 +7,7 @@
7
7
  [![GitHub contributors](https://img.shields.io/github/contributors/locustio/locust.svg)](https://github.com/locustio/locust/graphs/contributors)
8
8
  [![Support Ukraine Badge](https://bit.ly/support-ukraine-now)](https://github.com/support-ukraine/support-ukraine)
9
9
 
10
- Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer friendly approach lets you to define your tests in regular Python code.
10
+ Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer-friendly approach lets you define your tests in regular Python code.
11
11
 
12
12
  Locust tests can be run from command line or using its web-based UI. Throughput, response times and errors can be viewed in real time and/or exported for later analysis.
13
13
 
@@ -98,26 +98,23 @@ This shape would create create in the first 10 seconds 10 User of ``UserA``. In
98
98
 
99
99
  .. _use-common-options:
100
100
 
101
- Reusing command line parameters in custom shapes
102
- ------------------------------------------------
101
+ Reusing common options in custom shapes
102
+ ---------------------------------------
103
103
 
104
- By default, using a custom shape will disregard default run parameters (in both the CLI and the Web UI):
105
- - `--run-time`
106
- - `--spawn-rate`
107
- - `--users`
108
-
109
-
110
- If you need one or all of those parameters, you can force locust to accept them by setting the `use_common_options` attribute to `True`:
104
+ When using shapes, the the *Users*, *Spawn Rate* and *Run Time* options will be hidden from the UI, and if you specify them on command line Locust will log a warning. This is because those options dont directly apply to shapes, and specifying them might be a mistake.
111
105
 
106
+ If you really want to combine a shape with these options, set the ``use_common_options`` attribute and access them from ``self.runner.environment.parsed_options``:
112
107
 
113
108
  .. code-block:: python
114
109
 
115
110
  class MyCustomShape(LoadTestShape):
116
-
117
111
  use_common_options = True
118
-
112
+
119
113
  def tick(self):
120
- expected_run_time = self.runner.environment.parsed_options.run_time
121
- # Do something with this expected run time
122
- ...
114
+ run_time = self.get_run_time()
115
+ if run_time < self.runner.environment.parsed_options.run_time:
116
+ # User count rounded to nearest hundred, just like in previous example
117
+ user_count = round(run_time, -2)
118
+ return (user_count, self.runner.environment.parsed_options.spawn_rate)
119
+
123
120
  return None
@@ -2,7 +2,7 @@
2
2
  What is Locust?
3
3
  ===============================
4
4
 
5
- Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer friendly approach lets you define your tests in regular Python code.
5
+ Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer-friendly approach lets you define your tests in regular Python code.
6
6
 
7
7
  Locust tests can be run from command line or using its web-based UI. Throughput, response times and errors can be viewed in real time and/or exported for later analysis.
8
8
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '2.27.1.dev12'
16
- __version_tuple__ = version_tuple = (2, 27, 1, 'dev12')
15
+ __version__ = version = '2.27.1.dev20'
16
+ __version_tuple__ = version_tuple = (2, 27, 1, 'dev20')
@@ -211,11 +211,14 @@ class WebUI:
211
211
  for key, value in request.form.items():
212
212
  if key == "user_count": # if we just renamed this field to "users" we wouldn't need this
213
213
  user_count = int(value)
214
+ parsed_options_dict["users"] = user_count
214
215
  elif key == "spawn_rate":
215
216
  spawn_rate = float(value)
217
+ parsed_options_dict[key] = spawn_rate
216
218
  elif key == "host":
217
219
  # Replace < > to guard against XSS
218
220
  environment.host = str(request.form["host"]).replace("<", "").replace(">", "")
221
+ parsed_options_dict[key] = environment.host
219
222
  elif key == "user_classes":
220
223
  # Set environment.parsed_options.user_classes to the selected user_classes
221
224
  parsed_options_dict[key] = request.form.getlist("user_classes")
@@ -224,6 +227,7 @@ class WebUI:
224
227
  continue
225
228
  try:
226
229
  run_time = parse_timespan(value)
230
+ parsed_options_dict[key] = run_time
227
231
  except ValueError:
228
232
  err_msg = "Valid run_time formats are : 20, 20s, 3m, 2h, 1h20m, 3h30m10s, etc."
229
233
  logger.error(err_msg)
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.27.1.dev12
4
- Summary: Developer friendly load testing framework
3
+ Version: 2.27.1.dev20
4
+ Summary: Developer-friendly load testing framework
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/locustio/locust
7
7
  Project-URL: Documentation, https://docs.locust.io/
@@ -49,7 +49,7 @@ Requires-Dist: pywin32; platform_system == "Windows"
49
49
  [![GitHub contributors](https://img.shields.io/github/contributors/locustio/locust.svg)](https://github.com/locustio/locust/graphs/contributors)
50
50
  [![Support Ukraine Badge](https://bit.ly/support-ukraine-now)](https://github.com/support-ukraine/support-ukraine)
51
51
 
52
- Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer friendly approach lets you to define your tests in regular Python code.
52
+ Locust is an open source performance/load testing tool for HTTP and other protocols. Its developer-friendly approach lets you define your tests in regular Python code.
53
53
 
54
54
  Locust tests can be run from command line or using its web-based UI. Throughput, response times and errors can be viewed in real time and/or exported for later analysis.
55
55
 
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "locust"
7
7
  license = { text = "MIT" }
8
- description = "Developer friendly load testing framework"
8
+ description = "Developer-friendly load testing framework"
9
9
  dynamic = ["version"]
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes