BrainPy documentation#

BrainPy is a highly flexible and extensible framework targeting on the general-purpose Brain Dynamics Programming (BDP). Among its key ingredients, BrainPy supports:


OO Transformations

BrainPy supports object-oriented transformations, including JIT compilation, Autograd.

Numerical Integrators

BrainPy provides various numerical integration methods for ODEs, SDEs, DDEs, FDEs, etc.

Model Building

BrainPy provides a modular and composable programming interface for building dynamics.

Model Simulation

BrainPy supports dynamics simulation for various brain objects with parallel supports.

Model Training

BrainPy supports dynamics training with various machine learning algorithms, like FORCE learning, ridge regression, back-propagation, etc.

Model Analysis

BrainPy supports dynamics analysis for low- and high-dimensional systems, including phase plane, bifurcation, linearization, and fixed/slow point analysis.


pip install -U "jax[cpu]"

pip install -U brainpy brainpylib  # windows, linux, macos
pip install -U "jax[cuda11_local]" -f

pip install -U brainpy brainpylib-cu11x  # only on linux
pip install --upgrade "jax[cuda12_local]" -f

pip install -U brainpy brainpylib-cu12x  # only on linux

For more information about supported accelerators and platforms, and for other installation details, please see installation section.

Learn more#

Core Concepts
BDP Tutorials
Advanced Tutorials
BDP Toolboxes
API documentation


BrainPy is still an experimental research project. APIs may be changed over time. Please always keeps in mind what BrainPy version you are using.