# Brian2

A clock-driven simulator for spiking neural networks

Brian is a free, open source simulator for spiking neural networks. It is written in the Python programming language and is available on almost all platforms. We believe that a simulator should not only save the time of processors, but also the time of scientists. Brian is therefore designed to be easy to learn and use, highly flexible and easily extensible.

Please report issues at the github issue tracker (https://github.com/brian-team/brian2/issues) or in the Brian forum (https://brian.discourse.group).

Documentation for Brian2 can be found at http://brian2.readthedocs.org

Brian2 is released under the terms of the CeCILL 2.1 license.

If you use Brian for your published research, we kindly ask you to cite our article:

> Stimberg, M, Brette, R, Goodman, DFM. “Brian 2, an Intuitive and Efficient Neural Simulator.” eLife 8 (2019): e47314. doi: 10.7554/eLife.47314.

## Quickstart

Try out Brian on the mybinder service: https://mybinder.org/v2/gh/brian-team/brian2-binder/master?filepath=index.ipynb.

## Dependencies

The following packages need to be installed to use Brian 2 (cf. `pyproject.toml`):

- Python >= 3.10
- NumPy >=1.23
- SymPy >= 1.2
- Cython >= 0.29.21
- PyParsing
- Jinja2 >= 2.7
- setuptools >= 61
- py-cpuinfo (only required on Windows)

For full functionality, you might also want to install:

- GSL >=1.16
- SciPy >=0.13.3
- Matplotlib >= 2.0

To build the documentation:

- Sphinx (>=7)

To run the test suite:

- pytest
- pytest-xdist (optional)