https://github.com/brainpy/BrainPy
Brain Dynamics Programming in Python
https://github.com/brainpy/BrainPy
brain-dynamics-modeling brain-inspired-computing brain-simulations brainpy spiking-neural-networks
Last synced: over 1 year ago
JSON representation
Brain Dynamics Programming in Python
- Host: GitHub
- URL: https://github.com/brainpy/BrainPy
- Owner: brainpy
- License: gpl-3.0
- Created: 2020-07-16T02:11:23.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-26T04:31:34.000Z (over 1 year ago)
- Last Synced: 2025-02-04T09:38:00.619Z (over 1 year ago)
- Topics: brain-dynamics-modeling, brain-inspired-computing, brain-simulations, brainpy, spiking-neural-networks
- Language: Python
- Homepage: https://brainpy.readthedocs.io/
- Size: 92.2 MB
- Stars: 561
- Watchers: 13
- Forks: 95
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: changes.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-jax - BrainPy - Brain Dynamics Programming in Python. <img src="https://img.shields.io/github/stars/brainpy/BrainPy?style=social" align="center"> (Libraries / New Libraries)
- awesome-computational-neuroscience - BrainPy - A flexible, efficient, and extensible framework for computational neuroscience and brain-inspired computation based on the JIT compilation. (Package / Computational Neuroscience)
- awesome-neuromorphic - BrainPy - 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. (Computational Neuroscience Software)
README
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](https://github.com/google/jax), [Taichi](https://github.com/taichi-dev/taichi), [Numba](https://github.com/numba/numba), and others). 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
## Installation
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.
For detailed installation instructions, please refer to the documentation: [Quickstart/Installation](https://brainpy.readthedocs.io/en/latest/quickstart/installation.html)
### Using BrainPy with docker
We provide a docker image for BrainPy. You can use the following command to pull the image:
```bash
$ docker pull brainpy/brainpy:latest
```
Then, you can run the image with the following command:
```bash
$ docker run -it --platform linux/amd64 brainpy/brainpy:latest
```
### Using BrainPy with Binder
We provide a Binder environment for BrainPy. You can use the following button to launch the environment:
[](https://mybinder.org/v2/gh/brainpy/BrainPy-binder/main)
## Ecosystem
- **[BrainPy](https://github.com/brainpy/BrainPy)**: The solution for the general-purpose brain dynamics programming.
- **[brainpy-examples](https://github.com/brainpy/examples)**: Comprehensive examples of BrainPy computation.
- **[brainpy-datasets](https://github.com/brainpy/datasets)**: Neuromorphic and Cognitive Datasets for Brain Dynamics Modeling.
- [《神经计算建模实战》 (Neural Modeling in Action)](https://github.com/c-xy17/NeuralModeling)
- [第一届神经计算建模与编程培训班 (First Training Course on Neural Modeling and Programming)](https://github.com/brainpy/1st-neural-modeling-and-programming-course)
- [第二届神经计算建模与编程培训班 (Second Training Course on Neural Modeling and Programming)](https://github.com/brainpy/2nd-neural-modeling-and-programming-course)
## Citing
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.
If you are using ``brainpy``, please consider citing [the corresponding papers](https://brainpy.readthedocs.io/en/latest/tutorial_FAQs/citing_and_publication.html).
## Ongoing development plans
We highlight the key features and functionalities that are currently under active development.
We also welcome your contributions
(see [Contributing to BrainPy](https://brainpy.readthedocs.io/en/latest/tutorial_advanced/contributing.html)).
- [x] 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
- [ ] Online learning methods for large-scale spiking network models
- [ ] Classical plasticity rules for large-scale spiking network models