Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency psutil to v6 (master) #38

Merged
merged 1 commit into from
Aug 25, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 1, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
psutil ==5.9.0 -> ==6.0.0 age adoption passing confidence

Release Notes

giampaolo/psutil (psutil)

v6.0.0

Compare Source

======

2024-06-18

Enhancements

  • 2109_: maxfile and maxpath fields were removed from the namedtuple
    returned by disk_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 makes process_iter()_ around 20x times faster.
  • 2396_: a new psutil.process_iter.cache_clear() API can be used the clear
    process_iter()_ internal cache.
  • 2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross)
  • 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.
  • 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 with Process_ 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 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.

v5.9.8

Compare Source

=====

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.

v5.9.7

Compare Source

=====

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

Compare Source

=====

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).

v5.9.5

Compare Source

=====

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.

v5.9.4

Compare Source

=====

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)

v5.9.3

Compare Source

=====

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)

v5.9.2

Compare Source

=====

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)

v5.9.1

Compare Source

=====

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.

Configuration

📅 Schedule: Branch creation - "after 5pm on the first day of the month" in timezone Europe/Zurich, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Update the dependencies label Jul 1, 2024
@sbrunner sbrunner merged commit e95d962 into master Aug 25, 2024
5 checks passed
@sbrunner sbrunner deleted the renovate/master-psutil-6.x branch August 25, 2024 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Update the dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant