Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
PyRates =======

PyRates is a framework for dynamical systems modeling, developed by Richard Gast and Daniel Rose. It is an open-source project that everyone is welcome to contribute to.
Basic features ===============
Basic features:
- Frontend:
- Backend:
NumPy backend for dynamical systems modeling on CPUs via Python
- Tensorflow and PyTorch backends for parameter optimization via gradient descent and dynamical systems modeling on GPUs
- Julia backend for dynamical system modeling in Julia, via tools such as DifferentialEquations.jl
- Fortran backend for dynamical systems modeling via Fortran 90 and interfacing the parameter continuation software Auto-07p
- Matlab backend for differential equation solving via Matlab
- Other features:
Installation ============
Stable release (PyPI)
PyRates can be installed via the pip command. We recommend to use Anaconda to create a new python environment with Python >= 3.6 and then simply run the following line from a terminal with the environment being activated:
pip install pyrates
You can install optional (non-default) packages by specifying one or more options in brackets, e.g.:
pip install pyrates[backends]
Available options are backends, dev, and all at the moment. The latter includes all optional packages. Furthermore, the option tests includes all packages necessary to run tests found in the github repository.
Development version (github)
Alternatively, it is possible to clone this repository and run one of the following lines from the directory in which the repository was cloned:
python setup.py install or pip install '.[<options>]'
Documentation =============
For a full API of PyRates, see https://pyrates.readthedocs.io/en/latest/. For examplary simulations and model configurations, please have a look at the jupyter notebooks provided in the documenation folder.
References ==========
If you use this framework, please cite:
and
Other work that used PyRates:
Weise, K., Poßner, L., Müller, E., Gast, R. & Knösche, T. R. (2020) Software X, 11:100450.
Contact =======
If you have questions, problems or suggestions regarding PyRates, please contact Richard Gast.