devork

E pur si muove

Python System Information 0.3b1^W0.3b1.1

Thursday, May 21, 2009

Short summary: PSI is alive and we've just released the first beta of a much improved upcoming 0.3 release!

Back in 2007 Chris Miles announced PSI - Python System Information, a Python extension module to provide access to some system information not normally available to Python. Most notably it allows you to look at all processes on the system and get details like memory usage, cpu usage, users and many more things the kernel knows about a process. And all this in a pythonic way!

At the time the implementation was not perfect (when will an implementation ever be?), it had many memory leaks and reference counting errors, and sadly no one seemed to have the time and motivation to work on it for a long time. But since the beginning of this year I finally found some time to fix these issues and soon some more people joined in. Chris has been amazing in allowing access to almost anything I asked for and since then there has been steady development improving the code base, tests and API. Right now PSI does not leak any memory, and provides basic system indentification and detailed process information on Linux (2.4 & 2.6 kernels), Darwin 10.3 and up, SunOS (5.8-5.11) and AIX (5.3) and it does this for any version of Python greater then 2.3, including 3.0. Not too shabby!

There are many things we would like to do in the future too. more platform support for one. Ideally PSI should run on all the major platforms supported by Python itself (and all minor ones too). And more information too, getting information about processes is one very useful and common thing but there is so much more the kernel can tell us: CPU information and statistics, network interfaces, etc. It's a massive and never ending task, but hopefully we can do the common things on all major platforms.

Update

Version 0.3b1.1 has been released now. Seems the last version did only ship the sources for Linux and not all platforms. This bugfix release also adds the MANIFEST file so that distutils can build binary distributions from the tarball.

Sorry!

3 comments:

Chris Miles said...

Thanks Floris for taking care of the 0.3 release. I'm very excited that PSI is progressing.

psutil is a completely separate project. The psutils developers contacted me last year about the crossover between both projects and I suggested collaborating and merging both together would be wise, but didn't hear back. I think the main difference is that psutils is targeted at process-specific information and management. PSI is aiming to provide a gateway to all system information that the kernel can provide, not just processes (although that's what we've focussed on first).

New comments are not allowed.

Subscribe to: Post Comments (Atom)