PySUNDIALS is a python package providing python bindings for the SUNDIALS suite of solvers. It is being developed by the triple 'J' (JJJ)group at Stellenbosch University, South Africa. While python bindings for SUNDIALS will hopefully be generally useful in the computational scientific community, they are being developed with the specific aim of providing a robust underlying numerical solver capable of implementing models conforming to the Systems Biology Markup Language specification (version 2), including triggers, events, and delays. As such the development process is partially driven by the continuing parallel development of PySCeS.
The latest release version of PySUNDIALS can be download here, or alternatively via anonymous svn using the command
svn co https://pysundials.svn.sourceforge.net/svnroot/pysundials pysundials
$ ./configure --enable-shared
$ make && make install
$ python setup.py install
$ ./configure --enable-shared
$ make && make install
$ python setup.py -c mingw32 install
If you receive a compile time error when executing the final command, which complains about missing sundials_conf.h, or other missing .h files, set the CPATH environment variable to point to the directory containing the sundials include directories, for example
$ CPATH=/local/include python setup.py -c mingw32 install
Note that using MSys presents unique problems being a
hybrid environment. We recommend using MSys only to
compile and install (Py)SUNDIALS, not for use as an
environment in which to run PySUNDIALS. Having followed
the above instructions, the SUNDIALS shared libs will
be in %MSYSROOT%/usr/local/lib/
, and end
with '-<digit>.exe'. On older versions of
MSys/MinGW, the '.exe' extension may be left off.
PySUNDIALS uses ctypes to link the required SUNDIALS
libraries directly into the running python process. In order
to do this, it needs to know where to find those shared
libraries. When SUNDIALS is installed (not just built) an
executable called sundials_config
is generated
which simply outputs the location and names of the shared
libraries for the purposes of linking. PySUNDIALS runs this
executable to find the libraries, and in general is capable
of finding the libraries without issues. If
sundials_config
is not in the system path
though, PySUNDIALS will complain. In this case, please add
the directory where SUNDIALS installed
sundials_config
to your PATH
environment variable.
You can find python versions of the sundials examples (serial only at present) in the examples subdirectory of the PySUNDIALS distribution.
Documentation for the project is being developed in parallel with the project development itself, and will be released once complete. For now, there are sporadic doc strings on functions and modules.