psutil is a cross-platform library for retrieving information about running processes and system utilization in Python.
The library solves the problem of accessing system and process metrics across different operating systems through a unified Python interface. Rather than requiring platform-specific code or shell command parsing, psutil provides direct access to CPU, memory, disk, network, and sensor information. It implements functionality equivalent to UNIX command-line tools such as ps, top, free, iotop, netstat, and ifconfig, making it suitable for system monitoring, profiling, limiting process resources, and managing running processes.
The tool supports Linux, Windows, macOS, FreeBSD, OpenBSD, NetBSD, Sun Solaris, and AIX. Developers should choose psutil when building cross-platform monitoring applications or when they need programmatic access to system metrics without parsing shell commands. It is particularly valuable for applications that must run consistently across multiple operating systems without conditional logic for each platform.
The project maintains active test coverage across all supported platforms including Linux, macOS, Windows, and BSD variants through automated workflows. Documentation is actively maintained and deployed through automated processes. The project sustains a public adoption page documenting known users and maintains a blog for updates and announcements.