mytardis / mydata

Desktop application for uploading data to MyTardis
7 stars 4 forks source link

Update psutil to 6.0.0 #623

Closed pyup-bot closed 1 month ago

pyup-bot commented 5 months ago

This PR updates psutil from 5.8.0 to 6.0.0.

Changelog ### 6.0.0 ``` - 2109_: the namedtuple returned by `disk_partitions()`_' no longer has ``maxfile`` and ``maxpath`` 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 use `Process.is_running()`_ against the yielded `Process`_ instances. That will also automatically remove reused PIDs from `process_iter()`_ internal cache. - 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_. The old name is still available, but it's deprecated (triggers a ``DeprecationWarning``) and will be removed in the future. ``` ### 5.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 raising `NoSuchProcess`_. - 2345_, [Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN. - 2222_, [macOS]: `cpu_freq()` now returns fixed values for `min` and `max` frequencies in all Apple Silicon chips. ``` ### 5.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. ``` ### 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). ``` ### 5.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` or `UserWarning` 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 either ``None`` 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 with `ZombieProcess`_ when we try to guess the full name from the `Process.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`` returns ``0`` (possibly a kernel bug), in which case we calculate an approximation for ``available`` 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 raise `AccessDenied`_ unless user specified `all=False` argument. - 2216_, [Windows]: fix tests when running in a virtual environment (patch by Matthieu Darbois) - 2225_, [POSIX]: `users()`_ loses precision for ``started`` attribute (off by 1 minute). - 2229_, [OpenBSD]: unable to properly recognize zombie processes. `NoSuchProcess`_ may be raised instead of `ZombieProcess`_. - 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()`_ and `Process.threads()`_ return threads that are already terminated. - 2237_, [OpenBSD], [NetBSD]: `Process.cwd()`_ may raise ``FileNotFoundError`` if cwd no longer exists. Return an empty string instead. ``` ### 5.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`` and ``IFM_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) ``` ### 5.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 around ``sysctl_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()`_ 's ``flags`` 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 raise ``NoSuchProcess``. Fix race condition. (patch by Daniel Li) - 2153_, [macOS] Fix race condition in test_posix.TestProcess.test_cmdline. (patch by Matthieu Darbois) ``` ### 5.9.2 ``` ===== 2022-09-04 **Bug fixes** - 2093_, [FreeBSD], **[critical]**: `pids()`_ may fail with ENOMEM. Dynamically increase the ``malloc()`` 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) ``` ### 5.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 if ``psutil.Error`` class is raised manually and passed through ``str``. - 2049_, [Linux]: `cpu_freq()`_ erroneously returns ``curr`` value in GHz while ``min`` and ``max`` are in MHz. - 2050_, [Linux]: `virtual_memory()`_ may raise ``ValueError`` if running in a LCX container. ``` ### 5.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`` and ``max`` are set to 0 if can't be determined (instead of crashing). - 1512_, [macOS]: sometimes `Process.connections()`_ will crash with ``EOPNOTSUPP`` 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()`_ and `Process.connections()`_, could randomly raise `AccessDenied`_ because the internal buffer of ``proc_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 raising `AccessDenied`_, which was a fallback to avoid crashing. - 1904_, [Windows]: ``OpenProcess`` fails with ``ERROR_SUCCESS`` due to ``GetLastError()`` called after ``sprintf()``. (patch by alxchk) - 1913_, [Linux]: `wait_procs()`_ should catch ``subprocess.TimeoutExpired`` exception. - 1919_, [Linux]: `sensors_battery()`_ can raise ``TypeError`` 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 in `AccessDenied`_. This is now fixed. (patch by PetrPospisil) - 1991_, **[critical]**: `process_iter()`_ is not thread safe and can raise ``TypeError`` 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. ```
Links - PyPI: https://pypi.org/project/psutil - Changelog: https://data.safetycli.com/changelogs/psutil/ - Repo: https://github.com/giampaolo/psutil
pyup-bot commented 1 month ago

Closing this in favor of #650