Software Projects


PyRates is a Python software for dynamical systems modeling that I started to work on during my PhD. It provides a hierarchically structured, YAML-based model definition language as well as a code generation approach for translating models into different backends. The main purpose of PyRates is to provide a common model definition language that allows to interface a variety of different dynamical systems analysis tools (e.g. Auto-07p, DifferentialEquations.jl, or SciPy). 


RectiPy is an open-source Python software for recurrent neural network (RNN) simulations and training. RNNs are defined via differential equations (ordinary or delayed) and can use rate-based neurons or spiking neurons. A number of different RNN architectures come pre-implemented with RectiPy, but users can easily implement their own RNNs, using the PyRates-based user interface. Networks are translated into PyTorch graphs for optimization of compute times. 


PyCoBi is a Python interface to the parameter continuation software Auto-07p. It allows users to continue steady-state and periodic solutions of dynamical systems in one or more parameters and performs automated bifurcation analysis. Furthermore, it provides various plotting functionalities for the resulting bifurcation diagrams. Whereas Auto-07p requires user-provided Fortran 90 files that contain the system equations, PyCoBi allows to easily generate all Auto-07p files via PyRates. In addition, PyCoBi comes with a number of convenient plotting and analysis functionalities for typical bifurcation analysis requirements.