BrainPy is a flexible, efficient, and extensible framework for computational neuroscience and brain-inspired computation based on the Just-In-Time (JIT) compilation (built on top of JAX, Numba, and other JIT compilers). It provides an integrative ecosystem for brain dynamics programming, including brain dynamics building, simulation, training, analysis, etc.
- Website (documentation and APIs): https://brainpy.readthedocs.io/en/latest
- Source: https://github.com/brainpy/BrainPy
- Bug reports: https://github.com/brainpy/BrainPy/issues
- Source on OpenI: https://git.openi.org.cn/OpenI/BrainPy
BrainPy is based on Python (>=3.8) and can be installed on Linux (Ubuntu 16.04 or later), macOS (10.12 or later), and Windows platforms. Install the latest version of BrainPy:
$ pip install brainpy brainpylib -U
For detailed installation instructions, please refer to the documentation: Quickstart/Installation
- BrainPy: The solution for the general-purpose brain dynamics programming.
- brainpy-examples: Comprehensive examples of BrainPy computation.
- brainpy-datasets: Neuromorphic and Cognitive Datasets for Brain Dynamics Modeling.
If you are using brainpy
, please consider citing the corresponding papers.
BrainPy is developed by a team in Neural Information Processing Lab at Peking University, China. Our team is committed to the long-term maintenance and development of the project.
Moreover, the development of BrainPy is being or has been supported by Science and Technology Innovation 2030 - Brain Science and Brain-inspired Intelligence Project (China Brain Project), and Beijing Academy of Artificial Intelligence.
We highlight the key features and functionalities that are currently under active development.
We also welcome your contributions (see Contributing to BrainPy).
- model and data parallelization on multiple devices for dense connection models
- model parallelization on multiple devices for sparse spiking network models
- data parallelization on multiple devices for sparse spiking network models
- pipeline parallelization on multiple devices for sparse spiking network models
- multi-compartment modeling
- measurements, analysis, and visualization methods for large-scale spiking data