LeaguePyBot
LeaguePyBot copied to clipboard
Update dependency psutil to v6
This PR contains the following updates:
Package | Update | Change |
---|---|---|
psutil | major | ==5.8.0 -> ==6.0.0 |
Release Notes
giampaolo/psutil (psutil)
v6.0.0
======
2024-06-18
Enhancements
- 2109_:
maxfile
andmaxpath
fields were removed from the namedtuple returned bydisk_partitions()
_. Reason: on network filesystems (NFS) this can potentially take a very long time to complete. - 2366_, [Windows]: log debug message when using slower process APIs.
- 2375_, [macOS]: provide arm64 wheels. (patch by Matthieu Darbois)
- 2396_:
process_iter()
_ no longer pre-emptively checks whether PIDs have been reused. This makesprocess_iter()
_ around 20x times faster. - 2396_: a new
psutil.process_iter.cache_clear()
API can be used the clearprocess_iter()
_ internal cache. - 2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross)
- 2407_:
Process.connections()
_ was renamed toProcess.net_connections()
_. The old name is still available, but it's deprecated (triggers aDeprecationWarning
) and will be removed in the future. - 2425_: [Linux]: provide aarch64 wheels. (patch by Matthieu Darbois / Ben Raz)
Bug fixes
- 2250_, [NetBSD]:
Process.cmdline()
_ sometimes fail with EBUSY. It usually happens 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. - 2254_, [Linux]: offline cpus raise NotImplementedError in cpu_freq() (patch by Shade Gladden)
- 2272_: Add pickle support to psutil Exceptions.
- 2359_, [Windows], [CRITICAL]:
pid_exists()
_ disagrees withProcess
_ on whether a pid exists when ERROR_ACCESS_DENIED. - 2360_, [macOS]: can't compile on macOS < 10.13. (patch by Ryan Schmidt)
- 2362_, [macOS]: can't compile on macOS 10.11. (patch by Ryan Schmidt)
- 2365_, [macOS]: can't compile on macOS < 10.9. (patch by Ryan Schmidt)
- 2395_, [OpenBSD]:
pid_exists()
_ erroneously return True if the argument is a thread ID (TID) instead of a PID (process ID). - 2412_, [macOS]: can't compile on macOS 10.4 PowerPC due to missing
MNT_
constants.
Porting notes
Version 6.0.0 introduces some changes which affect backward compatibility:
- 2109_: the namedtuple returned by
disk_partitions()
_' no longer hasmaxfile
andmaxpath
fields. - 2396_:
process_iter()
_ no longer pre-emptively checks whether PIDs have been reused. If you want to check for PID reusage you are supposed to useProcess.is_running()
_ against the yieldedProcess
_ instances. That will also automatically remove reused PIDs fromprocess_iter()
_ internal cache. - 2407_:
Process.connections()
_ was renamed toProcess.net_connections()
_. The old name is still available, but it's deprecated (triggers aDeprecationWarning
) and will be removed in the future.
v5.9.8
=====
2024-01-19
Enhancements
- 2343_, [FreeBSD]: filter
net_connections()
_ returned list in C instead of Python, 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. - 2342_, [NetBSD]: same as above (#2343) but for NetBSD.
- 2349_: adopted black formatting style.
Bug fixes
- 930_, [NetBSD], [critical]:
net_connections()
_ implementation was broken. It could either leak memory or core dump. - 2340_, [NetBSD]: if process is terminated,
Process.cwd()
_ will return an empty string instead of raisingNoSuchProcess
_. - 2345_, [Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN.
- 2222_, [macOS]:
cpu_freq()
now returns fixed values formin
andmax
frequencies in all Apple Silicon chips.
v5.9.7
=====
2023-12-17
Enhancements
- 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.
v5.9.6
=====
2023-10-15
Enhancements
- 1703_:
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 calledcpu_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, raiseNoSuchProcess
_ 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()
_ andProcess.parents()
_. - 2312_: use
ruff
Python linter instead offlake8 + 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 raiseZombieProcess
_ 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 returnFalse
for zombie processes, because creation time cannot be determined. - 2288_, [Linux]: correctly raise
ZombieProcess
_ onProcess.exe()
,Process.cmdline()
andProcess.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).
v5.9.5
=====
2023-04-17
Enhancements
- 2196_: in case of exception, display a cleaner error traceback by hiding the
KeyError
bit deriving from a missed cache hit. - 2217_: print the full traceback when a
DeprecationWarning
orUserWarning
is raised. - 2230_, [OpenBSD]:
net_connections()
_ implementation was rewritten from scratch:- We're now able to retrieve the path of AF_UNIX sockets (before it was an empty string)
- The function is faster since it no longer iterates over all processes.
- No longer produces duplicate connection entries.
- 2238_: there are cases where
Process.cwd()
_ cannot be determined (e.g. directory no longer exists), in which case we returned eitherNone
or an empty string. This was consolidated and we now return""
on all platforms. - 2239_, [UNIX]: if process is a zombie, and we can only determine part of the
its truncated
Process.name()
_ (15 chars), don't fail withZombieProcess
_ when we try to guess the full name from theProcess.cmdline()
_. Just return the truncated name. - 2240_, [NetBSD], [OpenBSD]: add CI testing on every commit for NetBSD and OpenBSD platforms (python 3 only).
Bug fixes
- 1043_, [OpenBSD]
net_connections()
_ returns duplicate entries. - 1915_, [Linux]: on certain kernels,
"MemAvailable"
field from/proc/meminfo
returns0
(possibly a kernel bug), in which case we calculate an approximation foravailable
memory which matches "free" CLI utility. - 2164_, [Linux]: compilation fails on kernels < 2.6.27 (e.g. CentOS 5).
- 2186_, [FreeBSD]: compilation fails with Clang 15. (patch by Po-Chuan Hsieh)
- 2191_, [Linux]:
disk_partitions()
: do not unnecessarily read /proc/filesystems and raiseAccessDenied
unless user specifiedall=False
argument. - 2216_, [Windows]: fix tests when running in a virtual environment (patch by Matthieu Darbois)
- 2225_, [POSIX]:
users()
_ loses precision forstarted
attribute (off by 1 minute). - 2229_, [OpenBSD]: unable to properly recognize zombie processes.
NoSuchProcess
_ may be raised instead ofZombieProcess
_. - 2231_, [NetBSD]: available
virtual_memory()
_ is higher than total. - 2234_, [NetBSD]:
virtual_memory()
_ metrics are wrong: available and used are too high. We now match values shown by htop CLI utility. - 2236_, [NetBSD]:
Process.num_threads()
_ andProcess.threads()
_ return threads that are already terminated. - 2237_, [OpenBSD], [NetBSD]:
Process.cwd()
_ may raiseFileNotFoundError
if cwd no longer exists. Return an empty string instead.
v5.9.4
=====
2022-11-07
Enhancements
- 2102_: use Limited API when building wheels with CPython 3.6+ on Linux, macOS and Windows. This allows to use pre-built wheels in all future versions of cPython 3. (patch by Matthieu Darbois)
Bug fixes
- 2077_, [Windows]: Use system-level values for
virtual_memory()
_. (patch by Daniel Widdis) - 2156_, [Linux]: compilation may fail on very old gcc compilers due to missing
SPEED_UNKNOWN
definition. (patch by Amir Rossert) - 2010_, [macOS]: on MacOS, arm64
IFM_1000_TX
andIFM_1000_T
are the same value, causing a build failure. (patch by Lawrence D'Anna) - 2160_, [Windows]: Get Windows percent swap usage from performance counters. (patch by Daniel Widdis)
v5.9.3
=====
2022-10-18
Enhancements
- 2040_, [macOS]: provide wheels for arm64 architecture. (patch by Matthieu Darbois)
Bug fixes
- 2116_, [macOS], [critical]:
net_connections()
_ fails with RuntimeError. - 2135_, [macOS]:
Process.environ()
_ may contain garbage data. Fix out-of-bounds read aroundsysctl_procargs
. (patch by Bernhard Urban-Forster) - 2138_, [Linux], [critical]: can't compile psutil on Android due to
undefined
ethtool_cmd_speed
symbol. - 2142_, [POSIX]:
net_if_stats()
_ 'sflags
on Python 2 returned unicode instead of str. (patch by Matthieu Darbois) - 2147_, [macOS] Fix disk usage report on macOS 12+. (patch by Matthieu Darbois)
- 2150_, [Linux]
Process.threads()
_ may raiseNoSuchProcess
. Fix race condition. (patch by Daniel Li) - 2153_, [macOS] Fix race condition in test_posix.TestProcess.test_cmdline. (patch by Matthieu Darbois)
v5.9.2
=====
2022-09-04
Bug fixes
- 2093_, [FreeBSD], [critical]:
pids()
_ may fail with ENOMEM. Dynamically increase themalloc()
buffer size until it's big enough. - 2095_, [Linux]:
net_if_stats()
_ returns incorrect interface speed for 100GbE network cards. - 2113_, [FreeBSD], [critical]:
virtual_memory()
_ may raise ENOMEM due to missing#include <sys/param.h>
directive. (patch by Peter Jeremy) - 2128_, [NetBSD]:
swap_memory()
_ was miscalculated. (patch by Thomas Klausner)
v5.9.1
=====
2022-05-20
Enhancements
- 1053_: drop Python 2.6 support. (patches by Matthieu Darbois and Hugo van Kemenade)
- 2037_: Add additional flags to net_if_stats.
- 2050_, [Linux]: increase
read(2)
buffer size from 1k to 32k when reading/proc
pseudo files line by line. This should help having more consistent results. - 2057_, [OpenBSD]: add support for
cpu_freq()
_. - 2107_, [Linux]:
Process.memory_full_info()
_ (reporting process USS/PSS/Swap memory) now reads/proc/pid/smaps_rollup
instead of/proc/pids/smaps
, which makes it 5 times faster.
Bug fixes
- 2048_:
AttributeError
is raised ifpsutil.Error
class is raised manually and passed throughstr
. - 2049_, [Linux]:
cpu_freq()
_ erroneously returnscurr
value in GHz whilemin
andmax
are in MHz. - 2050_, [Linux]:
virtual_memory()
_ may raiseValueError
if running in a LCX container.
v5.9.0
=====
2021-12-29
Enhancements
- 1851_, [Linux]:
cpu_freq()
_ is slow on systems with many CPUs. Read current frequency values for all CPUs from/proc/cpuinfo
instead of opening many files in/sys
fs. (patch by marxin) - 1992_:
NoSuchProcess
_ message now specifies if the PID has been reused. - 1992_: error classes (
NoSuchProcess
,AccessDenied
, etc.) now have a better formatted and separated__repr__
and__str__
implementations. - 1996_, [BSD]: add support for MidnightBSD. (patch by Saeed Rasooli)
- 1999_, [Linux]:
disk_partitions()
_: convert/dev/root
device (an alias used on some Linux distros) to real root device path. - 2005_:
PSUTIL_DEBUG
mode now prints file name and line number of the debug messages coming from C extension modules. - 2042_: rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc.
Bug fixes
- 1456_, [macOS], [critical]:
cpu_freq()
_min
andmax
are set to 0 if can't be determined (instead of crashing). - 1512_, [macOS]: sometimes
Process.connections()
_ will crash withEOPNOTSUPP
for one connection; this is now ignored. - 1598_, [Windows]:
disk_partitions()
_ only returns mountpoints on drives where it first finds one. - 1874_, [SunOS]: swap output error due to incorrect range.
- 1892_, [macOS]:
cpu_freq()
_ broken on Apple M1. - 1901_, [macOS]: different functions, especially
Process.open_files()
_ andProcess.connections()
, could randomly raiseAccessDenied
because the internal buffer ofproc_pidinfo(PROC_PIDLISTFDS)
syscall was not big enough. We now dynamically increase the buffer size until it's big enough instead of giving up and raisingAccessDenied
_, which was a fallback to avoid crashing. - 1904_, [Windows]:
OpenProcess
fails withERROR_SUCCESS
due toGetLastError()
called aftersprintf()
. (patch by alxchk) - 1913_, [Linux]:
wait_procs()
_ should catchsubprocess.TimeoutExpired
exception. - 1919_, [Linux]:
sensors_battery()
_ can raiseTypeError
on PureOS. - 1921_, [Windows]:
swap_memory()
_ shows committed memory instead of swap. - 1940_, [Linux]: psutil does not handle
ENAMETOOLONG
when accessing process file descriptors in procfs. (patch by Nikita Radchenko) - 1948_, [critical]:
memoize_when_activated
decorator is not thread-safe. (patch by Xuehai Pan) - 1953_, [Windows], [critical]:
disk_partitions()
_ crashes due to insufficient buffer len. (patch by MaWe2019) - 1965_, [Windows], [critical]: fix "Fatal Python error: deallocating None"
when calling
users()
_ multiple times. - 1980_, [Windows]: 32bit / WoW64 processes fails to read
Process.name()
_ longer than 128 characters resulting inAccessDenied
_. This is now fixed. (patch by PetrPospisil) - 1991_, [critical]:
process_iter()
_ is not thread safe and can raiseTypeError
if invoked from multiple threads. - 1956_, [macOS]:
Process.cpu_times()
_ reports incorrect timings on M1 machines. (patch by Olivier Dormond) - 2023_, [Linux]:
cpu_freq()
_ return order is wrong on systems with more than 9 CPUs.
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 Renovate Bot.