locust 2.47.0__tar.gz → 2.47.1.dev5__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.
- {locust-2.47.0 → locust-2.47.1.dev5}/PKG-INFO +1 -1
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/_version.py +2 -2
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/input_events.py +1 -1
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/runners.py +1 -1
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/stats.py +6 -4
- {locust-2.47.0 → locust-2.47.1.dev5}/pyproject.toml +4 -5
- {locust-2.47.0 → locust-2.47.1.dev5}/.gitignore +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/LICENSE +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/README.md +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/hatch_build.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/__init__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/__main__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/argument_parser.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/clients.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/__init__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/csv_request_logger.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/dns.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/fasthttp.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/milvus.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/mongodb.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/mqtt.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/oai.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/postgres.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/qdrant.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/contrib/socketio.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/debug.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/dispatch.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/env.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/event.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/exception.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/html.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/log.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/main.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/opentelemetry.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/py.typed +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/rpc/__init__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/rpc/protocol.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/shape.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/__init__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/inspectuser.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/markov_taskset.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/sequential_taskset.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/task.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/users.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/user/wait_time.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/__init__.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/cache.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/date.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/deprecation.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/directory.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/exception_handler.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/load_locustfile.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/rounding.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/timespan.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/util/url.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/web.py +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/graphs-dark.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/graphs-light.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/src-Cl6CiemE.js +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/terminal.gif +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/testruns-dark.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/assets/testruns-light.png +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/auth.html +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/index.html +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/locust/webui/dist/report.html +0 -0
- {locust-2.47.0 → locust-2.47.1.dev5}/pytest_locust/plugin.py +0 -0
|
@@ -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.47.
|
|
22
|
-
__version_tuple__ = version_tuple = (2, 47,
|
|
21
|
+
__version__ = version = '2.47.1.dev5'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 47, 1, 'dev5')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -41,7 +41,7 @@ class UnixKeyPoller:
|
|
|
41
41
|
termios.tcsetattr(self.stdin, termios.TCSANOW, self.tattr)
|
|
42
42
|
|
|
43
43
|
def poll(_self):
|
|
44
|
-
dr,
|
|
44
|
+
dr, _dw, _de = select.select([sys.stdin], [], [], 0)
|
|
45
45
|
if not dr == []:
|
|
46
46
|
return sys.stdin.read(1)
|
|
47
47
|
return None
|
|
@@ -577,7 +577,7 @@ class LocalRunner(Runner):
|
|
|
577
577
|
"""
|
|
578
578
|
logger.debug(f"Running locally: sending {msg_type} message to self")
|
|
579
579
|
if msg_type in self.custom_messages:
|
|
580
|
-
listener,
|
|
580
|
+
listener, _concurrent = self.custom_messages[msg_type]
|
|
581
581
|
msg = Message(msg_type, data, "local")
|
|
582
582
|
listener(environment=self.environment, msg=msg)
|
|
583
583
|
else:
|
|
@@ -1112,17 +1112,19 @@ class StatsCSVFileWriter(StatsCSV):
|
|
|
1112
1112
|
self.base_filepath = base_filepath
|
|
1113
1113
|
self.full_history = full_history
|
|
1114
1114
|
|
|
1115
|
-
|
|
1115
|
+
# newline="": the csv module writes its own line terminators (otherwise Windows ends up with \r\r\n)
|
|
1116
|
+
# encoding="utf-8": request names can contain characters that the locale encoding cannot represent
|
|
1117
|
+
self.requests_csv_filehandle = open(self.base_filepath + "_stats.csv", "w", newline="", encoding="utf-8")
|
|
1116
1118
|
self.requests_csv_writer = csv.writer(self.requests_csv_filehandle)
|
|
1117
1119
|
|
|
1118
|
-
self.stats_history_csv_filehandle = open(self.stats_history_file_name(), "w")
|
|
1120
|
+
self.stats_history_csv_filehandle = open(self.stats_history_file_name(), "w", newline="", encoding="utf-8")
|
|
1119
1121
|
self.stats_history_csv_writer = csv.writer(self.stats_history_csv_filehandle)
|
|
1120
1122
|
|
|
1121
|
-
self.failures_csv_filehandle = open(self.base_filepath + "_failures.csv", "w")
|
|
1123
|
+
self.failures_csv_filehandle = open(self.base_filepath + "_failures.csv", "w", newline="", encoding="utf-8")
|
|
1122
1124
|
self.failures_csv_writer = csv.writer(self.failures_csv_filehandle)
|
|
1123
1125
|
self.failures_csv_data_start: int = 0
|
|
1124
1126
|
|
|
1125
|
-
self.exceptions_csv_filehandle = open(self.base_filepath + "_exceptions.csv", "w")
|
|
1127
|
+
self.exceptions_csv_filehandle = open(self.base_filepath + "_exceptions.csv", "w", newline="", encoding="utf-8")
|
|
1126
1128
|
self.exceptions_csv_writer = csv.writer(self.exceptions_csv_filehandle)
|
|
1127
1129
|
self.exceptions_csv_data_start: int = 0
|
|
1128
1130
|
|
|
@@ -80,11 +80,11 @@ test = [
|
|
|
80
80
|
"retry>=0.9.2,<1.0.0",
|
|
81
81
|
]
|
|
82
82
|
lint = [
|
|
83
|
-
"pre-commit>=4.
|
|
84
|
-
"ruff==0.
|
|
83
|
+
"pre-commit>=4.7.0,<5.0.0",
|
|
84
|
+
"ruff==0.17.2",
|
|
85
85
|
"mypy>=1.13.0,<1.15.0",
|
|
86
86
|
"types-requests==2.33.0.20260906",
|
|
87
|
-
"typos>=1.
|
|
87
|
+
"typos>=1.51.1"
|
|
88
88
|
]
|
|
89
89
|
release = ["twine>=5.1.1,<6.0.0"]
|
|
90
90
|
docs = [
|
|
@@ -159,7 +159,7 @@ extend-exclude = [
|
|
|
159
159
|
"src/readthedocs-sphinx-search/",
|
|
160
160
|
"examples/grpc/hello_pb2*.py",
|
|
161
161
|
]
|
|
162
|
-
lint.ignore = ["E402", "E501", "E713", "E731", "E741", "UP031", "PERF203", "RUF012", "
|
|
162
|
+
lint.ignore = ["E402", "E501", "E713", "E731", "E741", "UP031", "PERF203", "RUF012", "RUF015"]
|
|
163
163
|
lint.select = ["E", "F", "W", "UP", "FA102", "I001", "FURB", "PERF", "RUF"]
|
|
164
164
|
lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?)|resp)$"
|
|
165
165
|
|
|
@@ -298,5 +298,4 @@ filterwarnings = [
|
|
|
298
298
|
# "This process is multi-threaded, use of fork() may lead to deadlocks in the child." started happening in Python 3.12
|
|
299
299
|
# It could potentially be a real issue, but I don't think
|
|
300
300
|
"ignore::DeprecationWarning:gevent",
|
|
301
|
-
|
|
302
301
|
]
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|