Psutil

Latest version: v7.0.0

Safety actively analyzes 714622 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 16

7.0.0

=====

2025-02-13

**Enhancements**

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

**Bug fixes**

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

**Compatibility notes**

- 2480_: Python 2.7 is no longer supported.
- 2490_: removed long deprecated ``Process.memory_info_ex()`` method.

6.1.1

=====

2024-12-19

**Enhancements**

- 2471_: use Vulture CLI tool to detect dead code.

**Bug fixes**

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

6.1.0

=====

2024-10-17

**Enhancements**

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

**Bug fixes**

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

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.

Page 1 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.