Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Python System Information

psi is a Python module providing direct access to real-time system and process information. It is made of of several sub-modules.

The arch module gives some information about the system such as the sytem name and version, the machine architecture etc. It has a class representing each system and a factory function that will return an instance of the class which psi is running on currently.

The experimental mount module gives information about the various mounted filesystems on the system. It has a class representing local or remote filesystems.

The process module provides an interface to information about processes currently running on the system. Each process is represented as an instance of the Process class and additionally there is a ProcessTable class which is a dictionary of all running processes. To know exactly what attributes are available and what they mean you should look at the docstrings and examples in the REAME file and examples/ directory, but important to note is that all the information is collected at instatiation time. So the contents of ProcessTable and Process instances are really snapshots and will still contain all information even after the actual process has gone.

Lastly there are some general functions available directly under the psi namespace such as loadavg(), getzoneid() etc. Once more see the docstrings for detailed information.

Some information may not be available on all platforms, rather then trying to emulate this information these parts of the API just don’t exists on those platforms. Examples of these are: psi.process.Process.pcpu which is not available on Linux, psi.getzoneid() which is only available on SunOS 10 and above etc. If not all information can be found some attribute descriptors of objects might return subclasses of AttributeError, allowing you to use generic getattr() semantics as well as more specifically detect why an attribute is not available (insufficient privileges, not implemented, …).

Supported Platforms

Python: 2.2 and above, including 3.x.

Linux: all 2.4 and 2.6 kernels.

SunOS: Solaris 8 and above, including OpenSolaris (SunOS 11).

AIX: 5.2 and 5.3

Darwin: 10.3 and above.

Documentation

Care is taken to provide complete and accurate docstrings, so use Python’s pydoc tool and the interactive prompt should get you on your way.

We also have a wiki (http://bitbucket.org/chrismiles/psi/wiki/Home) and a mailing list (http://groups.google.com/group/psi-discuss psi-discuss@googlegroups.com). Don’t hesitate to ask questions or give feedback.

Bugs

Please use our issue tracker: http://bitbucket.org/chrismiles/psi/issues

Extra setup.py features

New build_ext option: --devel. This uses -Werror and enables many more warnings as well as disables optimisation.

Using --undef PYMALLOC or -U PYMALLOC to build_ext will use libc’s memory heap for allocation instead of Python’s.

The test command will run the testsuite. Some tests will only be run when running the test suite as root. Currently these are the tests that try to run a simple test application under specific schedulers and priorities to assert psi detects these process attributes correctly.

The valgrind command does run the testsuite under the valgrind memory checker. For this you need to have a specially compiled python:

./configure --with-pydebug --without-pymalloc --prefix=/opt/pydebug
make
make install

The tags command will build an emacs TAGS file using grind (which is a binary of the python grin package).

Metadata

Release files for PSI 0.3b3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PSI 0.3b3
File Size Uploaded Provenance
PSI-0.3b3.tar.gz 92.7 kB Without provenance Details

Release files / PSI-0.3b3.tar.gz

Download URL PSI-0.3b3.tar.gz
Size 92.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f85ec3e6765f247146fbd5f3585d5e16520039580177df05e96b13040009f051
BLAKE2b-256 checksum
How to use checksums
51669e4e7689bfeb9f863f559e30ce3bab81a339332b299f4dd44095ed37c8fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.8.2

Security for PSI 0.3b3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page