← all repositories
brian-team/brian2

A neural simulator that respects scientists' time

Brian2 is a Python spiking neural network simulator built on the radical premise that saving CPU cycles matters less than saving researcher sanity.

1.2k stars Python Domain AppsML Frameworks
brian2
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does Brian2 simulates spiking neural networks—brain-inspired models where neurons fire discrete events rather than continuous signals. It’s clock-driven, meaning it marches time forward in steps rather than chasing every spike asynchronously. The project ships with a mybinder quickstart, extensive documentation, and enough packaging (PyPI, Conda, Debian, Fedora, Spack, AUR, Docker) that you can probably install it before your coffee cools.

The interesting bit The README’s stated philosophy is the hook: “a simulator should not only save the time of processors, but also the time of scientists.” In a field where tools often prize raw performance over usability, Brian2 bets that flexibility and learnability matter more. Whether that bet pays off for your use case depends on whether you’re simulating a few hundred neurons or a few billion.

Key highlights

  • Pure Python with Cython acceleration, not a black-box C++ binary you wrap with brittle bindings
  • Requires Python ≥3.12 and NumPy ≥2.0—aggressively modern dependency stack
  • Published, citable research tool (eLife, 2019) with DOI and Software Heritage archiving
  • Active community infrastructure: Discourse forum, GitHub issue tracker, contributor covenant
  • SPEC 0 compliant, meaning it follows the scientific Python ecosystem’s agreed dependency sunset schedule

Caveats

  • The README doesn’t quantify performance claims or provide benchmark comparisons against NEURON, NEST, or GPU-based simulators
  • “Highly flexible and easily extensible” is asserted but not demonstrated with examples in the README itself

Verdict Computational neuroscientists and researchers teaching spike-based models should start here. If you need industrial-scale simulations or real-time neuromorphic deployment, you’ll likely outgrow it—but the README doesn’t pretend otherwise.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.