2324_: enforce Ruff rule raw-string-in-exception, which helps providing
clearer tracebacks when exceptions are raised by psutil.
Bug fixes
2325_, [PyPy]: psutil did not compile on PyPy due to missing
PyErr_SetExcFromWindowsErrWithFilenameObject cPython API.
5.9.6
2023-10-15
Enhancements
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
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.0 to 5.9.7.
Changelog
Sourced from psutil's changelog.
... (truncated)
Commits
8e21684
pre-release3080df4
make pre-release: check if psutil version already exists on PYPI7c10295
micro optimization on python startup ("x in set" instead of "x in list")4407540
Update README.rst (#2330)ccdb775
fix #2325: fix compilation on PyPy902fada
Enforce ruff ruleraw-string-in-exception rule
(#2324)e9dabbb
Include <unistd.h> to avoid implicit-function-declaration for close and sysca...0c3a1c5
users() / Linux: make ":0" -> "localhost" host conversion in C instead of python1b94083
Merge branch 'master' of github.com:giampaolo/psutila7205fc
Linux C files refactoring (#2320)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