1703_: cpu_percent()_ and cpu_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 10
would get the right result.
2266_: if Process_ class is passed a very high PID, raise NoSuchProcess_
instead of OverflowError. (patch by Xuehai Pan)
2246_: drop python 3.4 & 3.5 support. (patch by Matthieu Darbois)
2290_: PID reuse is now pre-emptively checked for Process.ppid()_ and
Process.parents()_.
2312_: use ruff Python linter instead of flake8 + isort. It's an
order of magnitude faster + it adds a ton of new code quality checks.
Bug fixes
2195_, [Linux]: no longer print exception at import time in case /proc/stat
can't be read due to permission error. Redirect it to PSUTIL_DEBUG
instead.
2241_, [NetBSD]: can't compile On NetBSD 10.99.3/amd64. (patch by Thomas
Klausner)
2245_, [Windows]: fix var unbound error on possibly in swap_memory()_
(patch by student_2333)
2268_: bytes2human() utility function was unable to properly represent
negative values.
2252_, [Windows]: disk_usage()_ fails on Python 3.12+. (patch by
Matthieu Darbois)
2284_, [Linux]: Process.memory_full_info()_ may incorrectly raise
ZombieProcess_ if it's determined via /proc/pid/smaps_rollup. Instead
we now fallback on reading /proc/pid/smaps.
2287_, [OpenBSD], [NetBSD]: Process.is_running()_ erroneously return
False for zombie processes, because creation time cannot be determined.
2288_, [Linux]: correctly raise ZombieProcess_ on Process.exe(),
Process.cmdline() and Process.memory_maps()_ instead of returning a
"null" value.
2290_: differently from what stated in the doc, PID reuse is not
pre-emptively checked for Process.nice()_ (set), Process.ionice(),
(set), Process.cpu_affinity() (set), Process.rlimit()_
(set), Process.parent()_.
2308_, [OpenBSD]: Process.threads()_ always fail with AccessDenied (also as
root).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps psutil from 5.9.5 to 5.9.6.
Changelog
Sourced from psutil's changelog.
Commits
8eb2930
pre-release8815b9b
give CREDIT to@JeremyGrosser
and@getsentry
for sponsorship (thanks!)5a37710
Merge branch 'master' of github.com:giampaolo/psutil4a35f51
fix error in test_contracts.py on wina7e70bb
chore: update GHA workflows (#2315)becbe86
fix #2195 / linux: no longer print exception at import time84cdeb4
Add ruff Python linter, remove flake8 (#2312)e7ba381
Add toml-sort linting tool for pyproject.toml (#2311)ddf9531
new RTD config2cd8ef7
new RTD configDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show