<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>PSI</name>
<shortdesc>Python System Information</shortdesc>
<description>-------------------------
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 ``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
exist 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.


Supported Platforms
===================

Python: 2.3, 2.4, 2.5, 2.6 and 3.0.

Linux: kernels from 2.4.0 up to 2.6.29.

SunOS: Solaris 8, 9 &amp; 10 and OpenSolaris (SunOS 11).

AIX: 5.3

Darwin: 10.3 and above.


Documentation
=============

Care is taking 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://www.psychofx.com/psi/trac) 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://www.psychofx.com/psi/trac/report/1


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.  It has a ``--all``
option that will also run tests that will use ``sudo`` or ``su -c`` to
run some extra tests as root (these are required if you want to test
detecting priorities of processes etc).


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).

.. _grin: http://pypi.python.org/pypi/grin/1.1.1</description>
<download-page>http://www.psychofx.com/psi/trac/wiki/Downloads</download-page>
<homepage rdf:resource="http://www.psychofx.com/psi/" />
<maintainer><foaf:Person><foaf:name>Chris Miles and Floris Bruynooghe</foaf:name>
<foaf:mbox_sha1sum>f3b815ab033b7f4471742022d33a30576f72c5cc</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>0.3b1</revision></Version></release>
</Project></rdf:RDF>