skillfed

psutil

Cross-platform lib for process and system monitoring.

psutil Permissive license BSD-3-Clause Active 11,262 v7.2.2 released

Install

psutil on PyPI

pip

pip install psutil

uv

uv add psutil

poetry

poetry add psutil

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.6)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 197 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl; psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl; psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; psutil-7.2.2-cp313-cp313t-win_amd64.whl; psutil-7.2.2-cp313-cp313t-win_arm64.whl; psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl; psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl; psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; psutil-7.2.2-cp314-cp314t-win_amd64.whl; psutil-7.2.2-cp314-cp314t-win_arm64.whl; psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl; psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl; psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl; psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl; psutil-7.2.2-cp37-abi3-win_amd64.whl; psutil-7.2.2-cp37-abi3-win_arm64.whl

Keywords: ps, top, kill, free, lsof, netstat, nice, tty, ionice, uptime, taskmgr, process, df, iotop, iostat, ifconfig, taskset, who, pidof, pmap, smem, pstree, monitoring, ulimit, prlimit, smem, performance, metrics, agent, observability

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsOperating System :: MacOS :: MacOS XOperating System :: MicrosoftOperating System :: Microsoft :: WindowsOperating System :: Microsoft :: Windows :: Windows 10Operating System :: Microsoft :: Windows :: Windows 11Operating System :: Microsoft :: Windows :: Windows 7Operating System :: Microsoft :: Windows :: Windows 8Operating System :: Microsoft :: Windows :: Windows 8.1Operating System :: Microsoft :: Windows :: Windows Server 2003Operating System :: Microsoft :: Windows :: Windows Server 2008Operating System :: Microsoft :: Windows :: Windows VistaOperating System :: OS IndependentOperating System :: POSIXOperating System :: POSIX :: AIXOperating System :: POSIX :: BSDOperating System :: POSIX :: BSD :: FreeBSDOperating System :: POSIX :: BSD :: NetBSDOperating System :: POSIX :: BSD :: OpenBSDOperating System :: POSIX :: LinuxOperating System :: POSIX :: SunOS/SolarisProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: BenchmarkTopic :: System :: HardwareTopic :: System :: MonitoringTopic :: System :: NetworkingTopic :: System :: Networking :: MonitoringTopic :: System :: Networking :: Monitoring :: Hardware WatchdogTopic :: System :: Operating SystemTopic :: System :: Systems AdministrationTopic :: Utilities

About psutil

from the package's own PyPI description — quoted content, verbatim

| |downloads| |stars| |forks| |contributors| |packages| | |version| |license| |stackoverflow| |twitter| |tidelift| | |github-actions-wheels| |github-actions-bsd|

.. |downloads| image:: https://img.shields.io/pypi/dm/psutil.svg :target: https://clickpy.clickhouse.com/dashboard/psutil :alt: Downloads

.. |stars| image:: https://img.shields.io/github/stars/giampaolo/psutil.svg :target: https://github.com/giampaolo/psutil/stargazers :alt: Github stars

.. |forks| image:: https://img.shields.io/github/forks/giampaolo/psutil.svg :target: https://github.com/giampaolo/psutil/network/members :alt: Github forks

.. |contributors| image:: https://img.shields.io/github/contributors/giampaolo/psutil.svg :target: https://github.com/giampaolo/psutil/graphs/contributors :alt: Contributors

.. |stackoverflow| image:: https://img.shields.io/badge/stackoverflow-Ask%20questions-blue.svg :target: https://stackoverflow.com/questions/tagged/psutil :alt: Stackoverflow

.. |github-actions-wheels| image:: https://img.shields.io/github/actions/workflow/status/giampaolo/psutil/.github/workflows/build.yml.svg?label=Linux%2C%20macOS%2C%20Windows :target:...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

psutil retrieves information on running processes and system utilization (CPU, memory, disks, network, sensors) across Linux, Windows, macOS, BSD, Solaris, and AIX, enabling system monitoring, process profiling, and resource management.

Medium install friction due to compiled C extensions, but mitigated by extensive pre-built wheels for Python 3.6+ across Windows, macOS (x86_64 and ARM64), Linux (x86_64 and aarch64), and BSD variants. Active maintenance with latest release on 2026-01-28 and 11262 GitHub stars.

BSD-3-Clause permissive license allows commercial use, modification, and distribution with minimal restrictions—only requiring license and copyright notice retention.

Usage

import psutil

# CPU usage
print(psutil.cpu_percent(interval=1))

# Memory info
print(psutil.virtual_memory())

# Process list
for proc in psutil.process_iter(['pid', 'name']):
    print(proc.info)

Requires Python 3.6 or later; compiled C extensions may require build tools on source installs, though pre-built wheels are available for most platforms.

Verdict: psutil is a stable, actively maintained, top_1000 PyPI package with no known vulnerabilities and zero runtime dependencies. Its permissive BSD-3-Clause license and broad platform support make it a low-friction choice for system monitoring. Medium install friction is offset by comprehensive pre-built wheels and strong community adoption.

Needs verification

  • Whether pre-built wheels cover all target deployment platforms (e.g., musl-based Linux, specific ARM variants).
  • Performance characteristics and overhead when monitoring large process counts or high-frequency metric collection.
process monitoring pythonsystem cpu memory usagecross-platform process infosystem metrics collectionprocess resource limitsnetwork io countersdisk usage monitoring

Similar packages