* 2657_: stop publishing prebuilt Linux and Windows wheels for 32-bit Python.
32-bit CPython is still supported, but psutil must now be built from source.
* 2565_: produce wheels for free-thread cPython 3.13 and 3.14 (patch by
Lysandros Nikolaou)
* 2650_, [macOS]: `Process.cmdline()`_ and `Process.environ()`_ may incorrectly
raise `NoSuchProcess`_ instead of `ZombieProcess`_.
* 2658_, [macOS]: double ``free()`` in `Process.environ()`_ when it fails
internally. This posed a risk of segfault.
* 2662_, [macOS]: massive C code cleanup to guard against possible segfaults
which were (not so) sporadically spotted on CI.
* 2657_: stop publishing prebuilt Linux and Windows wheels for 32-bit Python.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=186
* 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.
* 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=181
- update to 7.0.0:
* 669_, [Windows]: `net_if_addrs()`_ also returns the broadcast
address instead of None.
* 2480_: Python 2.7 is no longer supported. Latest version
supporting Python 2.7 is psutil 6.1.X. Install it with: pip2
install psutil==6.1.*.
* 2490_: removed long deprecated Process.memory_info_ex()
method. It was deprecated in psutil 4.0.0, released 8 years
ago. Substitute is Process.memory_full_info().
* 2496_, [Linux]: Avoid segfault (a cPython bug) on
Process.memory_maps() for processes that use hundreds of GBs
of memory.
* 2502_, [macOS]: `virtual_memory()`_ now relies on
host_statistics64 instead of host_statistics. This is the
same approach used by vm_stat CLI tool, and should grant more
accurate results.
* 2480_: Python 2.7 is no longer supported.
* 2490_: removed long deprecated Process.memory_info_ex()
method.
OBS-URL: https://build.opensuse.org/request/show/1281077
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psutil?expand=0&rev=84
* 669_, [Windows]: `net_if_addrs()`_ also returns the broadcast
address instead of None.
* 2480_: Python 2.7 is no longer supported. Latest version
supporting Python 2.7 is psutil 6.1.X. Install it with: pip2
install psutil==6.1.*.
* 2490_: removed long deprecated Process.memory_info_ex()
method. It was deprecated in psutil 4.0.0, released 8 years
ago. Substitute is Process.memory_full_info().
* 2496_, [Linux]: Avoid segfault (a cPython bug) on
Process.memory_maps() for processes that use hundreds of GBs
of memory.
* 2502_, [macOS]: `virtual_memory()`_ now relies on
host_statistics64 instead of host_statistics. This is the
same approach used by vm_stat CLI tool, and should grant more
accurate results.
* 2480_: Python 2.7 is no longer supported.
* 2490_: removed long deprecated Process.memory_info_ex()
method.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=179
* 2471_: use Vulture CLI tool to detect dead code.
* 2418_, [Linux]: fix race condition in case /proc/PID/stat does not exist, but
/proc/PID does, resulting in FileNotFoundError.
* 2470_, [Linux]: `users()`_ may return "localhost" instead of the actual IP
address of the user logged in.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=177
- update to 6.1.0:
* 2366_, [Windows]: drastically speedup `process_iter()`_. We
now determine process unique identity by using process "fast"
create time method. This will considerably speedup those apps
which use `process_iter()`_ only once, e.g. to look for a
process with a certain name.
* 2446_: use pytest instead of unittest.
* 2448_: add make install-sysdeps target to install the
necessary system dependencies (python-dev, gcc, etc.) on all
supported UNIX flavors.
* 2449_: add make install-pydeps-test and make install-pydeps-
dev targets. They can be used to install dependencies meant
for running tests and for local development. They can also be
installed via pip install .[test] and pip install .[dev].
* 2456_: allow to run tests via python3 -m psutil.tests even if
pytest module is not installed. This is useful for production
environments that don't have pytest installed, but still want
to be able to test psutil installation.
* 2427_: psutil (segfault) on import in the free-threaded (no
GIL) version of Python 3.13. (patch by Sam Gross)
* 2455_, [Linux]: IndexError may occur when reading
/proc/pid/stat and field 40 (blkio_ticks) is missing.
* 2457_, [AIX]: significantly improve the speed of
`Process.open_files()`_ for some edge cases.
* 2460_, [OpenBSD]: `Process.num_fds()`_ and
`Process.open_files()`_ may fail with `NoSuchProcess`_ for
PID 0. Instead, we now return "null" values (0 and []
respectively).
- drop skip_failing_tests.patch: obsolete
OBS-URL: https://build.opensuse.org/request/show/1225342
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psutil?expand=0&rev=82
* 2366_, [Windows]: drastically speedup `process_iter()`_. We
now determine process unique identity by using process "fast"
create time method. This will considerably speedup those apps
which use `process_iter()`_ only once, e.g. to look for a
process with a certain name.
* 2446_: use pytest instead of unittest.
* 2448_: add make install-sysdeps target to install the
necessary system dependencies (python-dev, gcc, etc.) on all
supported UNIX flavors.
* 2449_: add make install-pydeps-test and make install-pydeps-
dev targets. They can be used to install dependencies meant
for running tests and for local development. They can also be
installed via pip install .[test] and pip install .[dev].
* 2456_: allow to run tests via python3 -m psutil.tests even if
pytest module is not installed. This is useful for production
environments that don't have pytest installed, but still want
to be able to test psutil installation.
* 2427_: psutil (segfault) on import in the free-threaded (no
GIL) version of Python 3.13. (patch by Sam Gross)
* 2455_, [Linux]: IndexError may occur when reading
/proc/pid/stat and field 40 (blkio_ticks) is missing.
* 2457_, [AIX]: significantly improve the speed of
`Process.open_files()`_ for some edge cases.
* 2460_, [OpenBSD]: `Process.num_fds()`_ and
`Process.open_files()`_ may fail with `NoSuchProcess`_ for
PID 0. Instead, we now return "null" values (0 and []
respectively).
- drop skip_failing_tests.patch: obsolete
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=175
* 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)
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=173
- update to 5.9.7:
* 2324_: enforce Ruff rule `raw-string-in-exception`, which
helps providing clearer tracebacks when exceptions are
raised by psutil.
* 2325_, [PyPy]: psutil did not compile on PyPy due to missing
`PyErr_SetExcFromWindowsErrWithFilenameObject` cPython API.
- drop logind_y2038.patch (upstream)
we returned either ``None`` or an empty string.
* 887: [Linux] virtual_memory()'s 'available' and 'used'
values are more precise and match "free" cmdline utility.
"available" also takes into account LCX containers
* 891: procinfo.py script has been updated and provides a
* 825: [Linux] cpu_affinity; fix possible double close and
* 885: ValueError is raised if a negative integer is passed
* 892: [Linux] Process.cpu_affinity([-1]) raise SystemError
* #857: [SunOS] Process cpu_times(), cpu_percent(), threads() amd
memory_maps() may raise RuntimeError if attempting to query a 64bit
* #858: Process.as_dict() should not return memory_info_ex() because it's
* #866: [Windows] win_service_iter() and services in general are not able
* #869: [Windows] Process.wait() may raise TimeoutExpired with wrong
ValueError: ambiguos inode with multiple PIDs references
- minor spec improvement
- First import
OBS-URL: https://build.opensuse.org/request/show/1135317
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psutil?expand=0&rev=79
* 2324_: enforce Ruff rule `raw-string-in-exception`, which
helps providing clearer tracebacks when exceptions are
raised by psutil.
* 2325_, [PyPy]: psutil did not compile on PyPy due to missing
`PyErr_SetExcFromWindowsErrWithFilenameObject` cPython API.
we returned either ``None`` or an empty string.
* 887: [Linux] virtual_memory()'s 'available' and 'used'
values are more precise and match "free" cmdline utility.
"available" also takes into account LCX containers
* 891: procinfo.py script has been updated and provides a
* 825: [Linux] cpu_affinity; fix possible double close and
* 885: ValueError is raised if a negative integer is passed
* 892: [Linux] Process.cpu_affinity([-1]) raise SystemError
* #857: [SunOS] Process cpu_times(), cpu_percent(), threads() amd
memory_maps() may raise RuntimeError if attempting to query a 64bit
* #858: Process.as_dict() should not return memory_info_ex() because it's
* #866: [Windows] win_service_iter() and services in general are not able
* #869: [Windows] Process.wait() may raise TimeoutExpired with wrong
ValueError: ambiguos inode with multiple PIDs references
- minor spec improvement
- First import
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=168
- update to 5.9.5:
* in case of exception, display a cleaner error
traceback by hiding the `KeyError` bit deriving from a
missed cache hit.
* print the full traceback when a `DeprecationWarning`
or `UserWarning` is raised.
* 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.
* [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.
* 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.
* `disk_partitions()`_: do not unnecessarily
read /proc/filesystems and raise `AccessDenied`_ unless user
specified `all=False` argument.
* `users()`_ loses precision for ``started``
attribute (off by 1 minute).
* if cwd no longer exists. Return an empty string instead.
OBS-URL: https://build.opensuse.org/request/show/1084220
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psutil?expand=0&rev=73
* in case of exception, display a cleaner error
traceback by hiding the `KeyError` bit deriving from a
missed cache hit.
* print the full traceback when a `DeprecationWarning`
or `UserWarning` is raised.
* 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.
* [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.
* 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.
* `disk_partitions()`_: do not unnecessarily
read /proc/filesystems and raise `AccessDenied`_ unless user
specified `all=False` argument.
* `users()`_ loses precision for ``started``
attribute (off by 1 minute).
* if cwd no longer exists. Return an empty string instead.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=156