• [Python-announce] ANN: psutil 7.1.1 released

    From Giampaolo Rodola'@g.rodola@gmail.com to comp.lang.python.announce on Wed Sep 17 22:15:55 2025
    From Newsgroup: comp.lang.python.announce

    Hello all,
    I'm glad to announce the release of psutil 7.1.0: https://github.com/giampaolo/psutil

    About
    =====

    psutil (process and system utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It is useful mainly for system
    monitoring, profiling and limiting process resources and management of
    running processes. It implements many functionalities offered by command
    line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
    currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
    NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

    What's new
    ==========

    2025-09-17

    **Enhancements**

    - #2581, [Windows]: publish ARM64 wheels. (patch by Matthieu Darbois)
    - #2571, [FreeBSD]: Dropped support for FreeBSD 8 and earlier. FreeBSD 8 was
    maintained from 2009 to 2013.
    - #2575: introduced `dprint` CLI tool to format .yml and .md files.

    **Bug fixes**

    - #2473, [macOS]: Fix build issue on macOS 11 and lower.
    - #2494, [Windows]: All APIs dealing with paths, such as
    `Process.memory_maps()`_, `Process.exe()`_ and `Process.open_files()`_
    does
    not properly handle UNC paths. Paths such as ``\\??\\C:\\Windows\\Temp``
    and
    ``'\\Device\\HarddiskVolume1\\Windows\\Temp'`` are now converted to
    ``C:\\Windows\\Temp``. (patch by Ben Peddell)
    - #2506, [Windows]: Windows service APIs had issues with unicode services
    using
    special characters in their name.
    - #2514, [Linux]: `Process.cwd()`_ sometimes fail with `FileNotFoundError`
    due
    to a race condition.
    - #2526, [Linux]: `Process.create_time()`_, which is used to univocally
    identify a process over time, is subject to system clock updates, and as
    such
    can lead to `Process.is_running()`_ returning a wrong result. A monotonic
    creation time is now used instead. (patch by Jonathan Kohler)
    - #2528, [Linux]: `Process.children()`_ may raise ``PermissionError``. It
    will
    now raise `AccessDenied`_ instead.
    - #2540, [macOS]: `boot_time()`_ is off by 45 seconds (C precision issue).
    - #2541, 2570_, 2578_ [Linux], [macOS], [NetBSD]: `Process.create_time()`_
    does
    not reflect system clock updates.
    - #2542: if system clock is updated `Process.children()`_ and
    `Process.parent()`_ may not be able to return the right information.
    - #2545: [Illumos]: Fix handling of MIB2_UDP_ENTRY in `net_connections()`_.
    - #2552, [Windows]: `boot_time()`_ didn't take into account the time spent
    during suspend / hibernation.
    - #2560, [Linux]: `Process.memory_maps()`_ may crash with `IndexError` on
    RISCV64 due to a malformed `/proc/{PID}/smaps` file. (patch by Julien
    Stephan)
    - #2586, [macOS], [CRITICAL]: fixed different places in C code which can
    trigger a segfault.
    - #2604, [Linux]: `virtual_memory()`_ "used" memory does not match recent
    versions of ``free`` CLI utility. (patch by Isaac K. Ko)
    - #2605, [Linux]: `psutil.sensors_battery()` reports a negative amount for
    seconds left.
    - #2607, [Windows]: ``WindowsService.description()`` method may fail with
    ``ERROR_NOT_FOUND``. Now it returns an empty string instead.
    - 2610:, [macOS], [CRITICAL]: fix `cpu_freq()`_ segfault on ARM
    architectures.

    **Compatibility notes**

    - #2571: dropped support for FreeBSD 8 and earlier.

    Links
    =====

    - Home page: https://github.com/giampaolo/psutil
    - Download: https://pypi.org/project/psutil/#files
    - Documentation: http://psutil.readthedocs.io
    - What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst

    Hashes
    ======

    psutil-7.1.0-cp36-abi3-macosx_10_9_x86_64.whl
    md5: a9b0bfa98726a33f44ca5a524732c8aa
    sha256: 76168cef4397494250e9f4e73eb3752b146de1dd950040b29186d0cce1d5ca13

    psutil-7.1.0-cp36-abi3-macosx_11_0_arm64.whl
    md5: d699f5a5f5d851c896978abc476788ca
    sha256: 5d007560c8c372efdff9e4579c2846d71de737e4605f611437255e81efcca2c5

    psutil-7.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
    md5: 318b7d0c8a774368369fa23fb0ad1161
    sha256: 22e4454970b32472ce7deaa45d045b34d3648ce478e26a04c7e858a0a6e75ff3

    psutil-7.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    md5: 2aaff5bf5ab861ed3a1cfb4b6ca2279b
    sha256: 8c70e113920d51e89f212dd7be06219a9b88014e63a4cec69b684c327bc474e3

    psutil-7.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
    md5: 6347483ea6218df42fbbdf28abbb570d
    sha256: 7d4a113425c037300de3ac8b331637293da9be9713855c4fc9d2d97436d7259d

    psutil-7.1.0-cp37-abi3-win32.whl
    md5: 551550e7b7c64803b63b18bfd70d4b24
    sha256: 09ad740870c8d219ed8daae0ad3b726d3bf9a028a198e7f3080f6a1888b99bca

    psutil-7.1.0-cp37-abi3-win_amd64.whl
    md5: b49ee8852ae9c74241d5728cdf0222ff
    sha256: 57f5e987c36d3146c0dd2528cd42151cf96cd359b9d67cfff836995cc5df9a3d

    psutil-7.1.0-cp37-abi3-win_arm64.whl
    md5: 3c902a0a0f33242c9872b60f4b6f38ed
    sha256: 6937cb68133e7c97b6cc9649a570c9a18ba0efebed46d8c5dae4c07fa1b67a07

    psutil-7.1.0.tar.gz
    md5: 26dc8499f435198ab3f907edf9e7d7b4
    sha256: 655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2

    --

    Giampaolo - https://gmpy.dev/about
    --- Synchronet 3.21a-Linux NewsLink 1.2