pyperf 2.9.0__tar.gz → 2.10.0__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 (84) hide show
  1. {pyperf-2.9.0/pyperf.egg-info → pyperf-2.10.0}/PKG-INFO +8 -3
  2. {pyperf-2.9.0 → pyperf-2.10.0}/README.rst +5 -1
  3. {pyperf-2.9.0 → pyperf-2.10.0}/doc/changelog.rst +10 -0
  4. {pyperf-2.9.0 → pyperf-2.10.0}/doc/conf.py +1 -1
  5. {pyperf-2.9.0 → pyperf-2.10.0}/doc/run_benchmark.rst +1 -1
  6. {pyperf-2.9.0 → pyperf-2.10.0}/doc/runner.rst +1 -1
  7. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/__init__.py +1 -1
  8. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_cpu_utils.py +5 -13
  9. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_psutil_memory.py +7 -2
  10. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_runner.py +9 -6
  11. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_utils.py +7 -16
  12. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_worker.py +5 -4
  13. {pyperf-2.9.0 → pyperf-2.10.0/pyperf.egg-info}/PKG-INFO +8 -3
  14. {pyperf-2.9.0 → pyperf-2.10.0}/pyproject.toml +1 -0
  15. {pyperf-2.9.0 → pyperf-2.10.0}/COPYING +0 -0
  16. {pyperf-2.9.0 → pyperf-2.10.0}/MANIFEST.in +0 -0
  17. {pyperf-2.9.0 → pyperf-2.10.0}/TODO.rst +0 -0
  18. {pyperf-2.9.0 → pyperf-2.10.0}/doc/Makefile +0 -0
  19. {pyperf-2.9.0 → pyperf-2.10.0}/doc/analyze.rst +0 -0
  20. {pyperf-2.9.0 → pyperf-2.10.0}/doc/api.rst +0 -0
  21. {pyperf-2.9.0 → pyperf-2.10.0}/doc/cli.rst +0 -0
  22. {pyperf-2.9.0 → pyperf-2.10.0}/doc/developer_guide.rst +0 -0
  23. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_async_func.py +0 -0
  24. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_async_func_with_loop_factory.py +0 -0
  25. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_command.py +0 -0
  26. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_func.py +0 -0
  27. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_time_func.py +0 -0
  28. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/bench_timeit.py +0 -0
  29. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/export_csv.py +0 -0
  30. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/hist_scipy.py +0 -0
  31. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples/plot.py +0 -0
  32. {pyperf-2.9.0 → pyperf-2.10.0}/doc/examples.rst +0 -0
  33. {pyperf-2.9.0 → pyperf-2.10.0}/doc/hist_scipy_telco.png +0 -0
  34. {pyperf-2.9.0 → pyperf-2.10.0}/doc/index.rst +0 -0
  35. {pyperf-2.9.0 → pyperf-2.10.0}/doc/make.bat +0 -0
  36. {pyperf-2.9.0 → pyperf-2.10.0}/doc/outliers.json.gz +0 -0
  37. {pyperf-2.9.0 → pyperf-2.10.0}/doc/py2.json.gz +0 -0
  38. {pyperf-2.9.0 → pyperf-2.10.0}/doc/py3.json.gz +0 -0
  39. {pyperf-2.9.0 → pyperf-2.10.0}/doc/system.rst +0 -0
  40. {pyperf-2.9.0 → pyperf-2.10.0}/doc/timeit_strip.json.gz +0 -0
  41. {pyperf-2.9.0 → pyperf-2.10.0}/doc/user_guide.rst +0 -0
  42. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/__main__.py +0 -0
  43. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_bench.py +0 -0
  44. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_cli.py +0 -0
  45. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_collect_metadata.py +0 -0
  46. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_command.py +0 -0
  47. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_compare.py +0 -0
  48. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_formatter.py +0 -0
  49. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_hooks.py +0 -0
  50. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_linux_memory.py +0 -0
  51. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_manager.py +0 -0
  52. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_metadata.py +0 -0
  53. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_process_time.py +0 -0
  54. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_system.py +0 -0
  55. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_timeit.py +0 -0
  56. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_timeit_cli.py +0 -0
  57. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/_win_memory.py +0 -0
  58. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/__init__.py +0 -0
  59. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_bench.py +0 -0
  60. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_py36.json +0 -0
  61. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_py36_tags.json +0 -0
  62. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_py37.json +0 -0
  63. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_py37_tags.json +0 -0
  64. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/mult_list_py38.json +0 -0
  65. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/replay.py +0 -0
  66. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/telco.json +0 -0
  67. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_bench.py +0 -0
  68. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_cli.py +0 -0
  69. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_examples.py +0 -0
  70. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_metadata.py +0 -0
  71. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_misc.py +0 -0
  72. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_perf_cli.py +0 -0
  73. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_runner.py +0 -0
  74. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_system.py +0 -0
  75. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_timeit.py +0 -0
  76. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/test_utils.py +0 -0
  77. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf/tests/track_memory.json +0 -0
  78. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf.egg-info/SOURCES.txt +0 -0
  79. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf.egg-info/dependency_links.txt +0 -0
  80. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf.egg-info/entry_points.txt +0 -0
  81. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf.egg-info/requires.txt +0 -0
  82. {pyperf-2.9.0 → pyperf-2.10.0}/pyperf.egg-info/top_level.txt +0 -0
  83. {pyperf-2.9.0 → pyperf-2.10.0}/setup.cfg +0 -0
  84. {pyperf-2.9.0 → pyperf-2.10.0}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pyperf
3
- Version: 2.9.0
3
+ Version: 2.10.0
4
4
  Summary: Python module to run and analyze benchmarks
5
5
  Author-email: Victor Stinner <vstinner@redhat.com>
6
6
  Maintainer-email: Dong-hee Na <donghee.na@python.org>
@@ -19,6 +19,7 @@ License-File: COPYING
19
19
  Requires-Dist: psutil>=5.9.0
20
20
  Provides-Extra: dev
21
21
  Requires-Dist: tox; extra == "dev"
22
+ Dynamic: license-file
22
23
 
23
24
  ******
24
25
  pyperf
@@ -28,6 +29,10 @@ pyperf
28
29
  :alt: Latest release on the Python Cheeseshop (PyPI)
29
30
  :target: https://pypi.python.org/pypi/pyperf
30
31
 
32
+ .. image:: https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fpsf%2Fpyperf%2Frefs%2Fheads%2Fmain%2Fpyproject.toml
33
+ :alt: Supported Python versions
34
+ :target: https://pypi.python.org/pypi/pyperf
35
+
31
36
  .. image:: https://github.com/psf/pyperf/actions/workflows/build.yml/badge.svg
32
37
  :alt: Build status of pyperf on GitHub Actions
33
38
  :target: https://github.com/psf/pyperf/actions
@@ -150,7 +155,7 @@ Command to install pyperf on Python 3::
150
155
 
151
156
  python3 -m pip install pyperf
152
157
 
153
- pyperf requires Python 3.7 or newer.
158
+ pyperf requires Python 3.9 or newer.
154
159
 
155
160
  Python 2.7 users can use pyperf 1.7.1 which is the last version compatible with
156
161
  Python 2.7.
@@ -6,6 +6,10 @@ pyperf
6
6
  :alt: Latest release on the Python Cheeseshop (PyPI)
7
7
  :target: https://pypi.python.org/pypi/pyperf
8
8
 
9
+ .. image:: https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fpsf%2Fpyperf%2Frefs%2Fheads%2Fmain%2Fpyproject.toml
10
+ :alt: Supported Python versions
11
+ :target: https://pypi.python.org/pypi/pyperf
12
+
9
13
  .. image:: https://github.com/psf/pyperf/actions/workflows/build.yml/badge.svg
10
14
  :alt: Build status of pyperf on GitHub Actions
11
15
  :target: https://github.com/psf/pyperf/actions
@@ -128,7 +132,7 @@ Command to install pyperf on Python 3::
128
132
 
129
133
  python3 -m pip install pyperf
130
134
 
131
- pyperf requires Python 3.7 or newer.
135
+ pyperf requires Python 3.9 or newer.
132
136
 
133
137
  Python 2.7 users can use pyperf 1.7.1 which is the last version compatible with
134
138
  Python 2.7.
@@ -1,6 +1,16 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ Version 2.10.0 (2026-02-07)
5
+ ---------------------------
6
+
7
+ * Feature: JIT builds of CPython are now recognized as a JIT implementation by :func:`perf.python_has_jit`.
8
+ Patch by Ken Jin.
9
+ * Feature: Memory tracker now supports BSD.
10
+ Patch by Laurent Cheylus and Victor Stinner.
11
+ * Maintenance: ``pyperf`` now requires Python 3.9 or higher.
12
+ Patch by Alex Willmer.
13
+
4
14
  Version 2.9.0 (2025-03-03)
5
15
  --------------------------
6
16
 
@@ -50,7 +50,7 @@ author = 'Victor Stinner'
50
50
  # built documents.
51
51
  #
52
52
  # The short X.Y version.
53
- version = release = '2.9.0'
53
+ version = release = '2.10.0'
54
54
 
55
55
  # The language for content autogenerated by Sphinx. Refer to documentation
56
56
  # for a list of supported languages.
@@ -23,7 +23,7 @@ Optional dependencies:
23
23
  * Python module ``psutil``. Install: ``python3 -m pip install -U psutil``.
24
24
  * When you are using macOS, you need to install ``psutil`` if you want to use ``--track-memory`` option.
25
25
 
26
- pyperf requires Python 3.6 or newer.
26
+ pyperf requires Python 3.9 or newer.
27
27
 
28
28
  Python 2.7 users can use pyperf 1.7.1 which is the last version compatible with
29
29
  Python 2.7.
@@ -146,7 +146,7 @@ Option::
146
146
  There is no time out by default.
147
147
  * ``--tracemalloc``: Use the ``tracemalloc`` module to track Python memory
148
148
  allocation and get the peak of memory usage in metadata
149
- (``tracemalloc_peak``). The module is only available on Python 3.4 and newer.
149
+ (``tracemalloc_peak``).
150
150
  See the `tracemalloc module
151
151
  <https://docs.python.org/dev/library/tracemalloc.html>`_.
152
152
  * ``--track-memory``: get the memory peak usage. it is less accurate than
@@ -1,6 +1,6 @@
1
1
  from time import perf_counter
2
2
 
3
- VERSION = (2, 9, 0)
3
+ VERSION = (2, 10, 0)
4
4
  __version__ = '.'.join(map(str, VERSION))
5
5
 
6
6
  # Export pyperf.perf_counter for backward compatibility with pyperf 1.7
@@ -17,20 +17,10 @@ def get_logical_cpu_count():
17
17
  if psutil is not None:
18
18
  # Number of logical CPUs
19
19
  cpu_count = psutil.cpu_count()
20
- elif hasattr(os, 'cpu_count'):
20
+ else:
21
21
  # Python 3.4
22
+ # Python 3.13+: capped by -X cpu_count=n or $PYTHON_CPU_COUNT if set
22
23
  cpu_count = os.cpu_count()
23
- else:
24
- cpu_count = None
25
- try:
26
- import multiprocessing
27
- except ImportError:
28
- pass
29
- else:
30
- try:
31
- cpu_count = multiprocessing.cpu_count()
32
- except NotImplementedError:
33
- pass
34
24
 
35
25
  if cpu_count is not None and cpu_count < 1:
36
26
  return None
@@ -148,7 +138,7 @@ def get_isolated_cpus():
148
138
 
149
139
 
150
140
  def set_cpu_affinity(cpus):
151
- # Python 3.3 or newer?
141
+ # Availability: some Unix platforms
152
142
  if hasattr(os, 'sched_setaffinity'):
153
143
  os.sched_setaffinity(0, cpus)
154
144
  return True
@@ -161,6 +151,8 @@ def set_cpu_affinity(cpus):
161
151
  except ImportError:
162
152
  return
163
153
 
154
+ # Availability: Linux, Windows, FreeBSD (psutil 2.2.0+)
155
+ # https://psutil.rtfd.io/en/latest/index.html#psutil.Process.cpu_affinity
164
156
  proc = psutil.Process()
165
157
  if not hasattr(proc, 'cpu_affinity'):
166
158
  return
@@ -1,6 +1,6 @@
1
1
  import os
2
2
  try:
3
- from pyperf._utils import USE_PSUTIL
3
+ from pyperf._utils import USE_PSUTIL, BSD
4
4
  if not USE_PSUTIL:
5
5
  raise ImportError
6
6
  else:
@@ -21,7 +21,12 @@ class PeakMemoryUsageThread(threading.Thread):
21
21
  self._quit = False
22
22
 
23
23
  def get(self):
24
- usage = self.process.memory_full_info().uss
24
+ if BSD:
25
+ # USS (Unique Set Size) is not supported on BSD,
26
+ # use RSS (Resident Set Size) instead.
27
+ usage = self.process.memory_info().rss
28
+ else:
29
+ usage = self.process.memory_full_info().uss
25
30
  self.peak_usage = max(self.peak_usage, usage)
26
31
 
27
32
  def run(self):
@@ -12,9 +12,10 @@ from pyperf._cpu_utils import (format_cpu_list, parse_cpu_list,
12
12
  set_highest_priority)
13
13
  from pyperf._formatter import format_timedelta
14
14
  from pyperf._hooks import get_hook_names
15
- from pyperf._utils import (MS_WINDOWS, MAC_OS, abs_executable,
15
+ from pyperf._utils import (MS_WINDOWS, abs_executable,
16
16
  WritePipe, get_python_names,
17
17
  merge_profile_stats)
18
+ from pyperf._system import OS_LINUX
18
19
  from pyperf._worker import WorkerProcessTask
19
20
 
20
21
 
@@ -346,10 +347,10 @@ class Runner:
346
347
  if args.track_memory:
347
348
  if MS_WINDOWS:
348
349
  from pyperf._win_memory import check_tracking_memory
349
- elif MAC_OS:
350
- from pyperf._psutil_memory import check_tracking_memory
351
- else:
350
+ elif OS_LINUX:
352
351
  from pyperf._linux_memory import check_tracking_memory
352
+ else:
353
+ from pyperf._psutil_memory import check_tracking_memory
353
354
  err_msg = check_tracking_memory()
354
355
  if err_msg:
355
356
  raise CLIError("unable to track the memory usage "
@@ -415,12 +416,14 @@ class Runner:
415
416
  else:
416
417
  if not isolated:
417
418
  print("ERROR: CPU affinity not available.", file=sys.stderr)
418
- print("Use Python 3.3 or newer, or install psutil dependency")
419
+ print("Install psutil dependency and check "
420
+ "psutil.Process.cpu_affinity is available on your OS.")
419
421
  sys.exit(1)
420
422
  elif not self.args.quiet:
421
423
  print("WARNING: unable to pin worker processes to "
422
424
  "isolated CPUs, CPU affinity not available")
423
- print("Use Python 3.3 or newer, or install psutil dependency")
425
+ print("Install psutil dependency and check "
426
+ "psutil.Process.cpu_affinity is available on your OS.")
424
427
 
425
428
  def _process_priority(self):
426
429
  if not MS_WINDOWS:
@@ -15,6 +15,7 @@ from shutil import which
15
15
  USE_PSUTIL = not bool(sysconfig.get_config_var('Py_GIL_DISABLED'))
16
16
  MS_WINDOWS = (sys.platform == 'win32')
17
17
  MAC_OS = (sys.platform == 'darwin')
18
+ BSD = ('bsd' in sys.platform)
18
19
 
19
20
  if MS_WINDOWS:
20
21
  import msvcrt
@@ -173,22 +174,7 @@ def sysfs_path(path):
173
174
 
174
175
 
175
176
  def python_implementation():
176
- if hasattr(sys, 'implementation'):
177
- # PEP 421, Python 3.3
178
- name = sys.implementation.name
179
- else:
180
- # Code extracted from platform.python_implementation().
181
- # Don't import platform to avoid the subprocess import.
182
- sys_version = sys.version
183
- if 'IronPython' in sys_version:
184
- name = 'IronPython'
185
- elif sys.platform.startswith('java'):
186
- name = 'Jython'
187
- elif "PyPy" in sys_version:
188
- name = "PyPy"
189
- else:
190
- name = 'CPython'
191
- return name.lower()
177
+ return sys.implementation.name.lower()
192
178
 
193
179
 
194
180
  def python_has_jit():
@@ -197,6 +183,11 @@ def python_has_jit():
197
183
  return sys.pypy_translation_info["translation.jit"]
198
184
  elif implementation_name in ['graalpython', 'graalpy']:
199
185
  return True
186
+ elif implementation_name == 'cpython':
187
+ jit_module = getattr(sys, '_jit', None)
188
+ if jit_module is not None:
189
+ return jit_module.is_enabled()
190
+ return False
200
191
  elif hasattr(sys, "pyston_version_info") or "pyston_lite" in sys.modules:
201
192
  return True
202
193
  return False
@@ -7,7 +7,8 @@ import pyperf
7
7
  from pyperf._formatter import (format_number, format_value, format_values,
8
8
  format_timedelta)
9
9
  from pyperf._hooks import instantiate_selected_hooks
10
- from pyperf._utils import MS_WINDOWS, MAC_OS, percentile, median_abs_dev
10
+ from pyperf._utils import MS_WINDOWS, percentile, median_abs_dev
11
+ from pyperf._system import OS_LINUX
11
12
 
12
13
 
13
14
  MAX_LOOPS = 2 ** 32
@@ -327,12 +328,12 @@ class MemoryUsage:
327
328
  if MS_WINDOWS:
328
329
  from pyperf._win_memory import get_peak_pagefile_usage
329
330
  self.get_peak_profile_usage = get_peak_pagefile_usage
330
- elif MAC_OS:
331
- from pyperf._psutil_memory import PeakMemoryUsageThread
331
+ elif OS_LINUX:
332
+ from pyperf._linux_memory import PeakMemoryUsageThread
332
333
  self.mem_thread = PeakMemoryUsageThread()
333
334
  self.mem_thread.start()
334
335
  else:
335
- from pyperf._linux_memory import PeakMemoryUsageThread
336
+ from pyperf._psutil_memory import PeakMemoryUsageThread
336
337
  self.mem_thread = PeakMemoryUsageThread()
337
338
  self.mem_thread.start()
338
339
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pyperf
3
- Version: 2.9.0
3
+ Version: 2.10.0
4
4
  Summary: Python module to run and analyze benchmarks
5
5
  Author-email: Victor Stinner <vstinner@redhat.com>
6
6
  Maintainer-email: Dong-hee Na <donghee.na@python.org>
@@ -19,6 +19,7 @@ License-File: COPYING
19
19
  Requires-Dist: psutil>=5.9.0
20
20
  Provides-Extra: dev
21
21
  Requires-Dist: tox; extra == "dev"
22
+ Dynamic: license-file
22
23
 
23
24
  ******
24
25
  pyperf
@@ -28,6 +29,10 @@ pyperf
28
29
  :alt: Latest release on the Python Cheeseshop (PyPI)
29
30
  :target: https://pypi.python.org/pypi/pyperf
30
31
 
32
+ .. image:: https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fpsf%2Fpyperf%2Frefs%2Fheads%2Fmain%2Fpyproject.toml
33
+ :alt: Supported Python versions
34
+ :target: https://pypi.python.org/pypi/pyperf
35
+
31
36
  .. image:: https://github.com/psf/pyperf/actions/workflows/build.yml/badge.svg
32
37
  :alt: Build status of pyperf on GitHub Actions
33
38
  :target: https://github.com/psf/pyperf/actions
@@ -150,7 +155,7 @@ Command to install pyperf on Python 3::
150
155
 
151
156
  python3 -m pip install pyperf
152
157
 
153
- pyperf requires Python 3.7 or newer.
158
+ pyperf requires Python 3.9 or newer.
154
159
 
155
160
  Python 2.7 users can use pyperf 1.7.1 which is the last version compatible with
156
161
  Python 2.7.
@@ -44,6 +44,7 @@ classifiers = [
44
44
  "Programming Language :: Python :: 3",
45
45
  "Topic :: Software Development :: Libraries :: Python Modules"
46
46
  ]
47
+ # Also update: README.rst, docs/run_benchmark.rst
47
48
  requires-python = ">=3.9"
48
49
  dependencies = ["psutil>=5.9.0"]
49
50
 
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