* 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
- update to 5.9.0:
* [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)
* `NoSuchProcess`_ message now specifies if the PID has been reused.
* error classes (`NoSuchProcess`_, `AccessDenied`_, etc.) now have a better
formatted and separated ``__repr__`` and ``__str__`` implementations.
* [Linux]: `disk_partitions()`_: convert ``/dev/root`` device (an alias
used on some Linux distros) to real root device path.
* ``PSUTIL_DEBUG`` mode now prints file name and line number of the debug
messages coming from C extension modules.
* rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc.
* [Linux]: `wait_procs()`_ should catch ``subprocess.TimeoutExpired``
exception.
* [Linux]: `sensors_battery()`_ can raise ``TypeError`` on PureOS.
* [Linux]: psutil does not handle ``ENAMETOOLONG`` when accessing process
file descriptors in procfs. (patch by Nikita Radchenko)
* **[critical]**: ``memoize_when_activated`` decorator is not thread-safe.
* **[critical]**: `process_iter()`_ is not thread safe and can raise
``TypeError`` if invoked from multiple threads.
* [Linux]: `cpu_freq()`_ return order is wrong on systems with more than
9 CPUs.
OBS-URL: https://build.opensuse.org/request/show/945437
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psutil?expand=0&rev=63
* [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)
* `NoSuchProcess`_ message now specifies if the PID has been reused.
* error classes (`NoSuchProcess`_, `AccessDenied`_, etc.) now have a better
formatted and separated ``__repr__`` and ``__str__`` implementations.
* [Linux]: `disk_partitions()`_: convert ``/dev/root`` device (an alias
used on some Linux distros) to real root device path.
* ``PSUTIL_DEBUG`` mode now prints file name and line number of the debug
messages coming from C extension modules.
* rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc.
* [Linux]: `wait_procs()`_ should catch ``subprocess.TimeoutExpired``
exception.
* [Linux]: `sensors_battery()`_ can raise ``TypeError`` on PureOS.
* [Linux]: psutil does not handle ``ENAMETOOLONG`` when accessing process
file descriptors in procfs. (patch by Nikita Radchenko)
* **[critical]**: ``memoize_when_activated`` decorator is not thread-safe.
* **[critical]**: `process_iter()`_ is not thread safe and can raise
``TypeError`` if invoked from multiple threads.
* [Linux]: `cpu_freq()`_ return order is wrong on systems with more than
9 CPUs.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=136
- update to 5.8.0:
* Enhancements:
- 1863: disk_partitions() exposes 2 extra fields: maxfile and
maxpath, which are the maximum file name and path name
length.
- 1872: [Windows] added support for PyPy 2.7.
- 1879: provide pre-compiled wheels for Linux and macOS.
- 1880: get rid of Travis and Cirrus CI services (they are no
longer free). CI testing is now done by GitHub Actions on
Linux, macOS and FreeBSD (yes). AppVeyor is still being used
for Windows CI.
* Bug fixes:
- 1708: [Linux] get rid of sensors_temperatures() duplicates.
(patch by Tim Schlueter).
- 1839: [Windows] always raise AccessDenied when failing to
query 64 processes from 32 bit ones (NtWoW64 APIs).
- 1866: [Windows] process exe(), cmdline(), environ() may raise
"invalid access to memory location" on Python 3.9.
- 1874: [Solaris] wrong swap output given when encrypted column
is present.
- 1875: [Windows] process username() may raise
ERROR_NONE_MAPPED if the SID has no corresponding account
name. In this case AccessDenied is now raised.
- 1877: [Windows] OpenProcess may fail with ERROR_SUCCESS.
Turn it into AccessDenied or NoSuchProcess depending on
whether the PID is alive.
- 1886: [macOS] EIO error may be raised on cmdline() and
environment(). Now it gets translated into AccessDenied.
- 1891: [macOS] get rid of deprecated getpagesize().
- Rebase patch and skip three other tests that fail on obs
OBS-URL: https://build.opensuse.org/request/show/866659
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=129