Skip to main content

BrainPy: Brain Dynamics Programming in Python

Project description

Header image of BrainPy - brain dynamics programming in Python.

Supported Python Version LICENSE Documentation PyPI version Continuous Integration Continuous Integration with Models

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, Taichi, Numba, and others). It provides an integrative ecosystem for brain dynamics programming, including brain dynamics building, simulation, training, analysis, etc.

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. Install the latest version of BrainPy:

$ pip install brainpy -U

In addition, many customized operators in BrainPy are implemented in brainpylib. Install the latest version of brainpylib by:

# CPU installation for Linux, macOS and Windows
$ pip install --upgrade brainpylib
# CUDA 12 installation for Linux only
$ pip install --upgrade brainpylib-cu12x
# CUDA 11 installation for Linux only
$ pip install --upgrade brainpylib-cu11x

For detailed installation instructions, please refer to the documentation: Quickstart/Installation

Using BrainPy with docker

We provide a docker image for BrainPy. You can use the following command to pull the image:

$ docker pull brainpy/brainpy:latest

Then, you can run the image with the following command:

$ 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:

Binder

Ecosystem

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.

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).

  • 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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

brainpy-2.5.0.post20240216-py3-none-any.whl (749.5 kB view details)

Uploaded Python 3

File details

Details for the file brainpy-2.5.0.post20240216-py3-none-any.whl.

File metadata

File hashes

Hashes for brainpy-2.5.0.post20240216-py3-none-any.whl
Algorithm Hash digest
SHA256 2429efcd3f3b2fb01840c972cc80f903d503f5103406cae3f910417c961ccbf1
MD5 ce2d648c15a7dd654ae1a8cdd3259025
BLAKE2b-256 b9dbb589b04761e2a8ef17cb997758079858e68a0468cf4d702069c97c78715d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page