giampaolo/psutil (psutil)
### [`v5.9.6`](https://togithub.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#596)
[Compare Source](https://togithub.com/giampaolo/psutil/compare/release-5.9.5...release-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
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).
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.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
==5.9.5
->==5.9.6
Release Notes
giampaolo/psutil (psutil)
### [`v5.9.6`](https://togithub.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#596) [Compare Source](https://togithub.com/giampaolo/psutil/compare/release-5.9.5...release-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 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).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 has been generated by Mend Renovate. View repository job log here.