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 pysundials



  1. Download and install Python 2.4 or greater, preferably 2.5+
  2. If you are using Python 2.4, download and install the ctypes module as well
  3. Download and untar the complete SUNDIALS suite.
  4. $ ./configure --enable-shared
  5. $ make && make install
  6. Download and untar PySUNDIALS
  7. Change to the directory where you unpacked PySUNDIALS
  8. $ python install

Windows using MinGW

  1. Download and install Python 2.5 or greater, using the windows binaries
  2. Download and untar the complete SUNDIALS suite somewhere inside MSys.
  3. Do not run aclocal, autoconf, or autoheader, or the makefiles will break!
  4. $ ./configure --enable-shared
  5. $ make && make install
  6. Download and untar PySUNDIALS
  7. Change to the directory where you unpacked PySUNDIALS
  8. $ python -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

  1. $ CPATH=/local/include python -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.

Contact Logo