Skip to main content

Enabling Event-driven Computation in Brain Dynamics

Supported Python Version LICENSE Documentation Status PyPI version Continuous Integration PyPI Downloads DOI

Brain is characterized by the discrete spiking events, which are the fundamental units of computation in the brain.

BrainEvent provides a set of data structures and algorithms for such event-driven computation on CPUs, GPUs, TPUs, and maybe more, which can be used to model the brain dynamics in an efficient and biologically plausible way.

Particularly, it provides the following class to represent binary events in the brain:

  • EventArray: representing array with a vector/matrix of events.

Furthermore, it implements the following commonly used data structures for event-driven computation of the above class:

  • COO: a sparse matrix in COO format for sparse and event-driven computation.
  • CSR: a sparse matrix in CSR format for sparse and event-driven computation.
  • CSC: a sparse matrix in CSC format for sparse and event-driven computation.
  • JITCHomoR: a just-in-time connectivity matrix with homogenous weight for sparse and event-driven computation.
  • JITCNormalR: a just-in-time connectivity matrix with normal distribution weight for sparse and event-driven computation.
  • JITCUniformR: a just-in-time connectivity matrix with uniform distribution weight for sparse and event-driven computation.
  • FixedPreNumConn: a fixed number of pre-synaptic connections for sparse and event-driven computation.
  • FixedPostNumConn: a fixed number of post-synaptic connections for sparse and event-driven computation.
  • ...

BrainEvent is fully compatible with physical units and unit-aware computations provided in BrainUnit.

Usage

If you want to take advantage of event-driven computations, you must warp your data with brainevent.EventArray:

import brainevent

# wrap your array with EventArray
event_array = brainevent.EventArray(your_array)

Then, the matrix multiplication with the following data structures, $\mathrm{event\ array} @ \mathrm{data}$, will take advantage of event-driven computations:

  • Sparse data structures provided by brainevent, like:
    • brainevent.CSR
    • brainevent.JITCHomoR
    • brainevent.FixedPostNumConn
    • ...
  • Dense data structures provided by JAX/NumPy, like:
    • jax.numpy.ndarray
    • numpy.ndarray
data = jax.random.rand(...)  # normal dense array
data = brainevent.CSR(...)  # CSR structure
data = brainevent.JITCHomoR(...)  # JIT connectivity
data = brainevent.FixedPostNumConn(...)  # fixed number of post-synaptic connections

# event-driven matrix multiplication
r = event_array @ data
r = data @ event_array

Installation

You can install brainevent via pip:

pip install brainevent -U

Alternatively, you can install BrainX, which bundles brainevent with other compatible packages for a comprehensive brain modeling ecosystem:

pip install BrainX -U

Documentation

The official documentation is hosted on Read the Docs: https://brainevent.readthedocs.io/

See also the brain modeling ecosystem

We are building the brain modeling ecosystem: https://brainmodeling.readthedocs.io/

Metadata

Release files for brainevent 0.0.1.post20250508

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for brainevent 0.0.1.post20250508
File Interpreter ABI Platform
brainevent-0.0.1.post20250508-py2.py3-none-any.whl Python 3, Python 2 none any Details

Release files / brainevent-0.0.1.post20250508-py2.py3-none-any.whl

Download URL brainevent-0.0.1.post20250508-py2.py3-none-any.whl
Size 270.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
b1c714ef58bb52b6bebeba123375f2289833f865e419b34e91f365fc21649ebb
BLAKE2b-256 checksum
How to use checksums
1d1c70e04749eff0e0797b6af200302419b16e011b6d196d9be8abdf3b51ba47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page