Wiki

Clone wiki

psi / Development

Development Resources

This page tries to collect all sorts of useful information if you'd like to hack on PSI.

Time API

PSI has many parts that gets time from the system. Because PSI's requirements on time are slightly odd we ended up with our own time representation. However it provides convenience functions to convert it to standard Python and UNIX formats.

See the TimeAPI page for details.

PSI Design

There is currently a file in the distribution that tries to detail this: http://bitbucket.org/chrismiles/psi/src/tip/DESIGN

Coding Standard

This is an extract from source:/psi/branches/DEV_BRANCH_flub/DESIGN

  • Follow PEP 7 for C code.
  • Follow PEP 8 for Python code.
  • In C code functions follow the Python convention of returning -1 or NULL in case of an error, in case of an error a Python exception is set. Testing if an int function was successful is best done as if (some_function() < 0) since some functions might add specific meanings to errors by returning a value smaller then -1 (e.g. psi_read_file()).

This is a list of unsorted useful information, most items from here should probably be expanded and organised better.

Updated