Need help with pydstool?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

robclewley
131 Stars 54 Forks Other 987 Commits 42 Opened issues

Description

PyDSTool main development repo

Services available

!
?

Need anything else?

Contributors list

PyDSTool

|buildstatus|_ |coverage|_

This is a beta release version.

PyDSTool is a sophisticated & integrated simulation and analysis environment for dynamical systems models of physical systems (ODEs, DAEs, maps, and hybrid systems).

PyDSTool is platform independent, written primarily in Python with some underlying C and Fortran legacy code for fast solving. It makes extensive use of the numpy and scipy libraries. PyDSTool supports symbolic math, optimization, phase plane analysis, continuation and bifurcation analysis, data analysis, and other tools for modeling -- particularly for biological applications.

The project is fully open source with a BSD license, and welcomes contributions from the community.

See more at

pydstool.sourceforge.net 
__.

Requirements ~~~~~~~~~~~~

  • Python 
    __ 3.6+;
  • numpy 
    __;
  • scipy 
    __.

Dopri/Radau and AUTO interface requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • swig 
    __ > 2.0;
  • C compiler (e.g, gcc or clang);
  • GNU Fortran compiler (Radau only).

Optional requirements ^^^^^^^^^^^^^^^^^^^^^

  • matplotlib 
    __ Matplotlib is needed for plotting functionality and running many of the examples.

Recommended ^^^^^^^^^^^

  • ipython 
    __

Installation ~~~~~~~~~~~~

Debian/Ubuntu ^^^^^^^^^^^^^

  • install necessary packages:

::

       sudo apt-get update
       sudo apt-get install -qq gfortran swig
       sudo apt-get install -qq python-numpy python-scipy python-matplotlib
  • install
    PyDSTool
    :

::

       sudo python setup.py install

or

::

       sudo python setup.py develop

Run without

sudo
and add flag
--user
to install for local user only.

Getting started and documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

See the

online documentation 
__, particularly the GettingStarted and Tutorials pages! Please report bugs and suggestions using the user forum linked to there.

Tests and examples ~~~~~~~~~~~~~~~~~~

Running examples ^^^^^^^^^^^^^^^^

Examples can be found in the

examples
directory. Some examples can only be run once, others have produced their output, for instance HH_loaded.py, HH_loaded_dopri.py. Several of the examples require an external compiler. An easy way to run all the examples in an appropriate order is to run the script 'run_all_tests.py':

::

    cd examples
    python run_all_tests.py

There is a simple option in that file that you may need to edit in order to select whether the external compiler tests should be run (in case you do not have

gcc
and
gfortran
working on your system).

Note that on some platforms you will see an error report when the script tries to automatically close matplotlib graph windows, to the effect of:

::

"Fatal Python error: PyEval_RestoreThread: NULL tstate"

This error can be ignored. You may also have to close the plot windows yourself before the script can continue. This will depend on your platform and settings.

Running test suite ^^^^^^^^^^^^^^^^^^

To run test suite, install

py.test 
__ and
mock 
__, using
pip
:

::

    sudo pip install py.test mock

or package manager:

::

    sudo apt-get install python-pytest python-mock

Then run:

::

    python setup.py test

Getting coverage report ^^^^^^^^^^^^^^^^^^^^^^^

  • install
    pytest-cov

::

       sudo pip install pytest-cov
  • run
    py.test

::

       py.test --cov PyDSTool --cov-report html --cov-config .coveragerc
  • open file
    htmlcov/index.html
    in your browser

Credits ~~~~~~~

Coding and design by Robert Clewley, Erik Sherwood, Drew LaMar, Vladimir Zakharov, and John Guckenheimer, except where otherwise stated in the code or documentation. (Several other open source codes have been redistributed here under the compatible licenses.)


.. |buildstatus| image:: https://travis-ci.org/robclewley/pydstool.svg?branch=master .. _buildstatus: https://travis-ci.org/robclewley/pydstool

.. |coverage| image:: https://coveralls.io/repos/robclewley/pydstool/badge.png?branch=master .. _coverage: https://coveralls.io/r/robclewley/pydstool?branch=master

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.