All posts
-
Replacing
subprocess.Popen.wait()’s busy-loop with an event-driven model, in psutil then upstream CPython -
psutil 7.2.0 peeks into the native allocator, spotting leaks RSS can’t see
-
Unlocking
pip install psutilfor no-GIL Python -
Trimming heavy imports and plugins: 0.42s → 0.30s (~28%)
-
Downloads fell from ~8% to 0.36% in three years; psutil 7.0.0 ends support
-
A segfault I couldn’t fix, and the API removal that followed
-
5.6.0 adds
parents(), brings several Windows improvements, and removesmemory_maps()on macOS -
psutil 5.4.0 gets an IBM port, contributed by Arnon Yaari
-
5.3.0 adds
attrsandad_valueparameters toprocess_iter(), letting you pre-fetch attributes in one shot -
How psutil 5.3.0 got non-ASCII strings right on both Python 2 and Python 3.
-
psutil 5.1.0 introduces
sensors_temperatures(),sensors_battery()andcpu_freq() -
New
Process.oneshot(), caching shared syscalls and halving the cost of multi-field queries -
psutil 4.2.0 introduces
win_service_iter()andwin_service_get() -
Completing the BSD trio alongside FreeBSD and OpenBSD
-
psutil 4.0.0 exposes USS, the memory that would actually be freed on process exit +
Process.environ() -
psutil 3.3.0 now runs on OpenBSD, sharing most of the implementation with FreeBSD
-
psutil 3.0 introduces
net_if_addrs()andnet_if_stats() -
Proper handling of zombies via new
ZombieProcessexception -
A major rewrite with breaking API changes
-
A migration guide for the breaking API changes in psutil 2.0