locust 2.46.7.dev21__tar.gz → 2.46.7.dev24__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 (69) hide show
  1. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/PKG-INFO +2 -2
  2. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/_version.py +2 -2
  3. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/clients.py +7 -15
  4. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/web.py +1 -1
  5. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/pyproject.toml +2 -2
  6. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/.gitignore +0 -0
  7. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/LICENSE +0 -0
  8. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/README.md +0 -0
  9. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/hatch_build.py +0 -0
  10. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/__init__.py +0 -0
  11. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/__main__.py +0 -0
  12. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/argument_parser.py +0 -0
  13. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/__init__.py +0 -0
  14. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/csv_request_logger.py +0 -0
  15. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/dns.py +0 -0
  16. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/fasthttp.py +0 -0
  17. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/milvus.py +0 -0
  18. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/mongodb.py +0 -0
  19. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/mqtt.py +0 -0
  20. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/oai.py +0 -0
  21. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/postgres.py +0 -0
  22. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/qdrant.py +0 -0
  23. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/contrib/socketio.py +0 -0
  24. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/debug.py +0 -0
  25. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/dispatch.py +0 -0
  26. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/env.py +0 -0
  27. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/event.py +0 -0
  28. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/exception.py +0 -0
  29. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/html.py +0 -0
  30. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/input_events.py +0 -0
  31. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/log.py +0 -0
  32. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/main.py +0 -0
  33. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/opentelemetry.py +0 -0
  34. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/py.typed +0 -0
  35. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/rpc/__init__.py +0 -0
  36. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/rpc/protocol.py +0 -0
  37. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/rpc/zmqrpc.py +0 -0
  38. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/runners.py +0 -0
  39. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/shape.py +0 -0
  40. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/stats.py +0 -0
  41. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/__init__.py +0 -0
  42. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/inspectuser.py +0 -0
  43. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/markov_taskset.py +0 -0
  44. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/sequential_taskset.py +0 -0
  45. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/task.py +0 -0
  46. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/users.py +0 -0
  47. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/user/wait_time.py +0 -0
  48. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/__init__.py +0 -0
  49. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/cache.py +0 -0
  50. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/date.py +0 -0
  51. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/deprecation.py +0 -0
  52. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/directory.py +0 -0
  53. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/exception_handler.py +0 -0
  54. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/load_locustfile.py +0 -0
  55. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/rounding.py +0 -0
  56. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/timespan.py +0 -0
  57. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/util/url.py +0 -0
  58. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/favicon-dark.png +0 -0
  59. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/favicon-light.png +0 -0
  60. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/graphs-dark.png +0 -0
  61. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/graphs-light.png +0 -0
  62. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/src-pSlzKFX1.js +0 -0
  63. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/terminal.gif +0 -0
  64. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/testruns-dark.png +0 -0
  65. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/assets/testruns-light.png +0 -0
  66. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/auth.html +0 -0
  67. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/index.html +0 -0
  68. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/locust/webui/dist/report.html +0 -0
  69. {locust-2.46.7.dev21 → locust-2.46.7.dev24}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: locust
3
- Version: 2.46.7.dev21
3
+ Version: 2.46.7.dev24
4
4
  Summary: Developer-friendly load testing framework
5
5
  Project-URL: Homepage, https://locust.cloud/
6
6
  Project-URL: Repository, https://github.com/locustio/locust
@@ -38,7 +38,7 @@ Requires-Dist: python-engineio>=4.12.2
38
38
  Requires-Dist: python-socketio[client]>=5.13.0
39
39
  Requires-Dist: pywin32; sys_platform == 'win32'
40
40
  Requires-Dist: pyzmq>=25.0.0
41
- Requires-Dist: requests>=2.32.2
41
+ Requires-Dist: requests>=2.33.1
42
42
  Requires-Dist: typing-extensions>=4.6.0; python_version < '3.12'
43
43
  Requires-Dist: werkzeug>=2.0.0
44
44
  Provides-Extra: dns
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '2.46.7.dev21'
22
- __version_tuple__ = version_tuple = (2, 46, 7, 'dev21')
21
+ __version__ = version = '2.46.7.dev24'
22
+ __version_tuple__ = version_tuple = (2, 46, 7, 'dev24')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -11,7 +11,6 @@ from typing import TYPE_CHECKING, cast
11
11
  from urllib.parse import unquote, urlparse, urlunparse
12
12
 
13
13
  import requests
14
- from packaging.version import Version
15
14
  from requests import Response
16
15
  from requests.adapters import HTTPAdapter
17
16
  from requests.auth import HTTPBasicAuth
@@ -28,8 +27,6 @@ if sys.version_info >= (3, 12):
28
27
  else:
29
28
  from typing_extensions import override
30
29
 
31
- requests_version = Version(requests.__version__).release
32
-
33
30
  if TYPE_CHECKING:
34
31
  from collections.abc import Callable, Generator, Iterable, Mapping, MutableMapping
35
32
  from typing import Any, TypedDict, Unpack
@@ -45,7 +42,7 @@ if TYPE_CHECKING:
45
42
  cookies: RequestsCookieJar | MutableMapping[str, str] | None
46
43
  files: Any # simplified signature
47
44
  auth: Any # simplified signature
48
- timeout: float | tuple[float, float] | tuple[float, None] | None
45
+ timeout: float | tuple[float | None, float | None] | None
49
46
  allow_redirects: bool
50
47
  proxies: MutableMapping[str, str] | None
51
48
  hooks: Mapping[str, Iterable[Callable[[Response], Any]] | Callable[[Response], Any]] | None
@@ -61,9 +58,8 @@ if TYPE_CHECKING:
61
58
 
62
59
  absolute_http_url_regexp = re.compile(r"^https?://", re.IGNORECASE)
63
60
 
64
- if requests_version >= (2, 32, 5):
65
- _preloaded_ssl_context = create_urllib3_context()
66
- _preloaded_ssl_context.load_verify_locations(extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH))
61
+ _preloaded_ssl_context = create_urllib3_context()
62
+ _preloaded_ssl_context.load_verify_locations(extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH))
67
63
 
68
64
 
69
65
  class HttpSession(requests.Session):
@@ -488,14 +484,10 @@ class LocustHttpAdapter(HTTPAdapter):
488
484
  if self.poolmanager is None:
489
485
  super().init_poolmanager(*args, **kwargs)
490
486
 
491
- # In python requests version 2.32.5 they reverted
492
- # https://github.com/psf/requests/pull/6667
493
- # Without this change the root CA certificates are loaded on every request
494
- # We re-implement this change to increase the performance
487
+ # requests reverted https://github.com/psf/requests/pull/6667 in 2.32.5, so without
488
+ # re-implementing it here the root CA certificates are loaded on every request.
489
+ # We re-implement it to increase performance (see _preloaded_ssl_context above).
495
490
  def cert_verify(self, conn, url, verify, cert):
496
- if requests_version < (2, 32, 5):
497
- return super().cert_verify(conn, url, verify, cert)
498
-
499
491
  if url.lower().startswith("https") and verify:
500
492
  conn.cert_reqs = "CERT_REQUIRED"
501
493
 
@@ -529,7 +521,7 @@ class LocustHttpAdapter(HTTPAdapter):
529
521
  def build_connection_pool_key_attributes(self, request, verify, cert=None):
530
522
  host_params, pool_kwargs = super().build_connection_pool_key_attributes(request, verify, cert)
531
523
 
532
- if requests_version >= (2, 32, 5) and verify is True:
524
+ if verify is True:
533
525
  pool_kwargs["ssl_context"] = _preloaded_ssl_context
534
526
 
535
527
  return host_params, pool_kwargs
@@ -338,7 +338,7 @@ class WebUI:
338
338
  self._swarm_greenlet = None
339
339
 
340
340
  if environment.runner is not None:
341
- if user_count is None or user_count < 0 or not spawn_rate:
341
+ if user_count is None or user_count < 0 or spawn_rate is None or spawn_rate <= 0:
342
342
  err_msg = "Missing or invalid user_count or spawn_rate from /swarm request"
343
343
  logger.error(err_msg)
344
344
  return jsonify({"success": False, "message": err_msg, "host": environment.host})
@@ -35,7 +35,7 @@ classifiers = [
35
35
  dependencies = [
36
36
  "flask>=2.0.0",
37
37
  "Werkzeug>=2.0.0",
38
- "requests>=2.32.2",
38
+ "requests>=2.33.1",
39
39
  "msgpack>=1.0.0",
40
40
  "pyzmq>=25.0.0",
41
41
  "geventhttpclient>=2.3.1",
@@ -83,7 +83,7 @@ lint = [
83
83
  "pre-commit>=4.5.0,<5.0.0",
84
84
  "ruff==0.16.8",
85
85
  "mypy>=1.13.0,<1.15.0",
86
- "types-requests==2.32.4.20250809",
86
+ "types-requests==2.33.0.20260906",
87
87
  "typos>=1.50.1"
88
88
  ]
89
89
  release = ["twine>=5.1.1,<6.0.0"]
File without changes
File without changes
File without changes