Repolode
giampaolo

giampaolo/psutil

Cross-platform Python library for retrieving process and system utilization info such as CPU, memory, disks, network and sensors.

Stars
11,316
Forks
1,541
Open issues
288
Last commit
20 hours ago

What is it?

psutil is a Python library for querying running processes and system utilization, covering CPU, memory, disks, network interfaces and connections, and hardware sensors. It is aimed at system monitoring, profiling, limiting process resources, and managing running processes, and it reproduces many features of UNIX command-line tools such as ps, top, free, iotop, netstat, ifconfig and lsof.

The same API works on Linux, Windows, macOS, FreeBSD, OpenBSD, NetBSD, Sun Solaris and AIX, so scripts can gather metrics without shelling out to platform-specific commands. Installation is done with pip.

The library is widely used as a dependency: it is listed among the most-downloaded packages on PyPI.

Key features

  • 01Query CPU usage, frequency, and core counts.
  • 02Inspect virtual and swap memory, disk partitions and usage.
  • 03List network I/O counters and open network connections.
  • 04Read temperature and battery sensors where supported.
  • 05Enumerate, inspect, and manage processes via the Process class.

Use cases

  • Building custom system monitoring or alerting scripts in Python.
  • Profiling resource usage of a running application.
  • Writing cross-platform tools that need process information without platform-specific commands.
  • Limiting or terminating runaway processes from automation code.

Quick start

  1. 1

    Install psutil with pip

    pip install psutil

Topics

FAQ

What is psutil?
Cross-platform Python library for retrieving process and system utilization info such as CPU, memory, disks, network and sensors. psutil is a Python library for querying running processes and system utilization, covering CPU, memory, disks, network interfaces and connections, and hardware sensors. It is aimed at system monitoring, profiling, limiting process resources, and managing running processes, and it reproduces many features of UNIX command-line tools such as ps, top, free, iotop, netstat, ifconfig and lsof.
Is psutil free to use? What license does it have?
psutil is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is psutil still maintained?
Actively maintained. The last commit to psutil was on Nov 6, 2026.
What can I use psutil for?
Building custom system monitoring or alerting scripts in Python. Profiling resource usage of a running application. Writing cross-platform tools that need process information without platform-specific commands. Limiting or terminating runaway processes from automation code.
How do I install psutil?
Install psutil with pip: pip install psutil
Where can I get psutil?
The source code and installation instructions are on GitHub: https://github.com/giampaolo/psutil

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects