Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==5.9.5
->==6.1.1
Release Notes
giampaolo/psutil (psutil)
v6.1.1
Compare Source
=====
2024-12-19
Enhancements
Bug fixes
/proc/PID does, resulting in FileNotFoundError.
users()
_ may return "localhost" instead of the actual IPaddress of the user logged in.
v6.1.0
Compare Source
=====
2024-10-17
Enhancements
process_iter()
. We now determineprocess unique identity by using process "fast" create time method. This
will considerably speedup those apps which use
process_iter()
only once,e.g. to look for a process with a certain name.
make install-sysdeps
target to install the necessary systemdependencies (python-dev, gcc, etc.) on all supported UNIX flavors.
make install-pydeps-test
andmake install-pydeps-dev
targets. They can be used to install dependencies meant for running tests and
for local development. They can also be installed via
pip install .[test]
and
pip install .[dev]
.python3 -m psutil.tests
even ifpytest
module is not installed. This is useful for production environments that
don't have pytest installed, but still want to be able to test psutil
installation.
Bug fixes
Python 3.13. (patch by Sam Gross)
IndexError
may occur when reading /proc/pid/stat andfield 40 (blkio_ticks) is missing.
Process.open_files()
_ forsome edge cases.
Process.num_fds()
_ andProcess.open_files()
_ may failwith
NoSuchProcess
_ for PID 0. Instead, we now return "null" values (0 and[] respectively).
v6.0.0
Compare Source
======
2024-06-18
Enhancements
maxfile
andmaxpath
fields were removed from the namedtuplereturned by
disk_partitions()
_. Reason: on network filesystems (NFS) thiscan potentially take a very long time to complete.
process_iter()
_ no longer pre-emptively checks whether PIDs havebeen reused. This makes
process_iter()
_ around 20x times faster.psutil.process_iter.cache_clear()
API can be used the clearprocess_iter()
_ internal cache.Process.connections()
_ was renamed toProcess.net_connections()
_.The old name is still available, but it's deprecated (triggers a
DeprecationWarning
) and will be removed in the future.Bug fixes
Process.cmdline()
_ sometimes fail with EBUSY. It usuallyhappens for long cmdlines with lots of arguments. In this case retry getting
the cmdline for up to 50 times, and return an empty list as last resort.
by Shade Gladden)
pid_exists()
_ disagrees withProcess
_ onwhether a pid exists when ERROR_ACCESS_DENIED.
pid_exists()
_ erroneously return True if the argument isa thread ID (TID) instead of a PID (process ID).
MNT_
constants.
Porting notes
Version 6.0.0 introduces some changes which affect backward compatibility:
disk_partitions()
_' no longer hasmaxfile
andmaxpath
fields.process_iter()
_ no longer pre-emptively checks whether PIDs havebeen reused. If you want to check for PID reusage you are supposed to use
Process.is_running()
_ against the yieldedProcess
_ instances. That willalso automatically remove reused PIDs from
process_iter()
_ internal cache.Process.connections()
_ was renamed toProcess.net_connections()
_.The old name is still available, but it's deprecated (triggers a
DeprecationWarning
) and will be removed in the future.v5.9.8
Compare Source
=====
2024-01-19
Enhancements
net_connections()
_ returned list in C instead ofPython, and avoid to retrieve unnecessary connection types unless explicitly
asked. E.g., on an IDLE system with few IPv6 connections this will run around
4 times faster. Before all connection types (TCP, UDP, UNIX) were retrieved
internally, even if only a portion was returned.
Bug fixes
net_connections()
_ implementation was broken.It could either leak memory or core dump.
Process.cwd()
_ will return anempty string instead of raising
NoSuchProcess
_.cpu_freq()
now returns fixed values formin
andmax
frequencies in all Apple Silicon chips.
v5.9.7
Compare Source
=====
2023-12-17
Enhancements
raw-string-in-exception
, which helps providingclearer tracebacks when exceptions are raised by psutil.
Bug fixes
PyErr_SetExcFromWindowsErrWithFilenameObject
cPython API.v5.9.6
Compare Source
=====
2023-10-15
Enhancements
cpu_percent()
_ andcpu_times_percent()
_ are now thread safe,meaning they can be called from different threads and still return
meaningful and independent results. Before, if (say) 10 threads called
cpu_percent(interval=None)
at the same time, only 1 thread out of 10would get the right result.
Process
_ class is passed a very high PID, raiseNoSuchProcess
_instead of OverflowError. (patch by Xuehai Pan)
Process.ppid()
_ andProcess.parents()
_.ruff
Python linter instead offlake8 + isort
. It's anorder of magnitude faster + it adds a ton of new code quality checks.
Bug fixes
can't be read due to permission error. Redirect it to
PSUTIL_DEBUG
instead.
Klausner)
swap_memory()
_(patch by student_2333)
bytes2human()
utility function was unable to properly representnegative values.
disk_usage()
_ fails on Python 3.12+. (patch byMatthieu Darbois)
Process.memory_full_info()
_ may incorrectly raiseZombieProcess
_ if it's determined via/proc/pid/smaps_rollup
. Insteadwe now fallback on reading
/proc/pid/smaps
.Process.is_running()
_ erroneously returnFalse
for zombie processes, because creation time cannot be determined.ZombieProcess
_ onProcess.exe()
,Process.cmdline()
andProcess.memory_maps()
_ instead of returning a"null" value.
pre-emptively checked for
Process.nice()
_ (set),Process.ionice()
,(set),
Process.cpu_affinity()
(set),Process.rlimit()
_(set),
Process.parent()
_.Process.threads()
_ always fail with AccessDenied (also asroot).
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.