Installation#
brainpy.state is a flexible, efficient, and extensible framework for
computational neuroscience and brain-inspired computation. This page gets you a
working install fast.
Requirements#
Python 3.11 or later
The
pippackage managerLinux (Ubuntu 16.04+), macOS (10.12+), or Windows
brainpy.state runs on top of JAX, so the only thing that changes between
hardware backends is which JAX build gets pulled in. The extras below
([cpu], [cuda12], [cuda13], [tpu]) select that for you.
Basic installation#
Install the latest release with CPU support:
pip install brainpy.state -U
This is enough for development, testing, and small-to-medium simulations.
Choose a backend#
Pick the tab that matches your hardware. Each extra installs brainpy.state
together with the matching JAX build.
pip install brainpy.state[cpu] -U
The default, portable choice. Great for development, testing, and small-scale simulations on any machine.
pip install brainpy.state[cuda12] -U
NVIDIA GPU acceleration for the CUDA 12.x toolkit. Make sure your driver and CUDA toolkit match before installing.
pip install brainpy.state[cuda13] -U
NVIDIA GPU acceleration for the CUDA 13.x toolkit.
pip install brainpy.state[tpu] -U
Google Cloud TPU support — typically used on Google Cloud Platform or in a Colab TPU runtime.
Note
The backend extra only controls the JAX build. The brainpy.state API and
all example code are identical across CPU, GPU, and TPU — write once, run
anywhere.
Install the full BrainX ecosystem#
To install brainpy.state alongside the rest of the ecosystem in one go:
pip install BrainX -U
This pulls in:
brainpy.state— the point-neuron modeling layer (this package)brainstate— state management and the compilation/transformbackendbrainunit— the physical-units systembraintools— initializers, optimizers, metrics, surrogate gradients, and visualization helpersbraintrace— the linear-memory online-learning engineadditional ecosystem packages
Verifying the install#
Confirm everything imports and a model can be constructed:
import brainpy
import brainstate
import brainunit as u
print(f"brainpy.state version: {brainpy.state.__version__}")
print(f"brainstate version: {brainstate.__version__}")
# Build a small population of LIF neurons to check the API is live.
neuron = brainpy.state.LIF(10)
print("Installation successful!")
Backend notes#
CPU
The CPU build is the default and needs no extra system libraries. If JAX
reports falling back to CPU on a GPU machine, you installed the CPU extra (or
a CPU-only JAX) — reinstall with the [cuda12] / [cuda13] extra.
GPU (CUDA)
For NVIDIA GPU acceleration, ensure that:
Your NVIDIA drivers are up to date.
The installed CUDA toolkit matches the extra you chose (12.x or 13.x).
Your GPU is CUDA-capable.
If you installed a GPU extra but still see CUDA errors, the most common cause is a driver/toolkit version mismatch.
TPU
Use the [tpu] extra inside a TPU-enabled environment (Google Cloud TPU
VMs or a Colab TPU runtime). JAX discovers the TPU automatically once the
matching build is installed.
Installing from source#
For development against a local checkout:
git clone https://github.com/chaobrain/brainpy.state.git
cd brainpy.state
pip install -e .
This creates an editable install that reflects your local changes.
Next steps#
Take the 5-minute tour to build and run your first network.
Read the mental model to understand the four ideas the framework is built on.
Dive into the Core Concepts spine when you want the full story behind the design.