brian2
Brian is a free, open source simulator for spiking neural networks.
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
16 of 71 committers (22.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Brian is a free, open source simulator for spiking neural networks.
Basic Info
- Host: GitHub
- Owner: brian-team
- License: other
- Language: Python
- Default Branch: master
- Homepage: http://briansimulator.org
- Size: 36 MB
Statistics
- Stars: 1,048
- Watchers: 44
- Forks: 243
- Open Issues: 191
- Releases: 0
Topics
Metadata Files
README.md
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:
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)
Testing status for master branch
Owner
- Name: Brian simulator
- Login: brian-team
- Kind: organization
- Location: Paris, France
- Website: https://briansimulator.org
- Repositories: 25
- Profile: https://github.com/brian-team
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: Brian simulator
abstract: A clock-driven simulator for spiking neural networks
authors:
- family-names: Stimberg
given-names: Marcel
orcid: https://orcid.org/0000-0002-2648-4790
- family-names: Goodman
given-names: Dan F. M.
orcid: https://orcid.org/0000-0003-1007-6474
- family-names: Evans
given-names: Benjmain
orcid: https://orcid.org/0000-0002-1734-6070
- family-names: Brette
given-names: Romain
orcid: https://orcid.org/0000-0003-0110-1623
- name: Brian contributors
version: 2.9.0
date-released: '2025-05-14'
identifiers:
- description: This is the collection of archived snapshots of all versions of Brian 2
type: doi
value: 10.5281/zenodo.654861
- description: This is the archived snapshot of version 2.9.0 of Brian 2
type: doi
value: 10.5281/zenodo.15423251
- description: Software Heritage identifier for version 2.9.0 of Brian 2
type: swh
value: swh:1:rel:bfa0c5c9b838a4d42e98b2e0d7cb7a648df6f333
license: CECILL-2.1
repository-code: https://github.com/brian-team/brian2
preferred-citation:
authors:
- family-names: Stimberg
given-names: Marcel
orcid: https://orcid.org/0000-0002-2648-4790
- family-names: Goodman
given-names: Dan F. M.
orcid: https://orcid.org/0000-0003-1007-6474
- family-names: Brette
given-names: Romain
orcid: https://orcid.org/0000-0003-0110-1623
title: Brian 2, an intuitive and efficient neural simulator
journal: eLife
month: 8
year: 2019
volume: 8
doi: 10.7554/eLife.47314
type: article
CodeMeta (codemeta.json)
{
"@context": "https://w3id.org/codemeta/3.0",
"@type": "SoftwareSourceCode",
"targetProduct": {
"@type": "SoftwareLibrary",
"name": "brian2",
"runtimePlatform": [
"Python",
"Python 3"
]
},
"maintainer": [
{
"@id": "https://orcid.org/0000-0002-2648-4790"
}
],
"author": [
{
"@id": "https://orcid.org/0000-0002-2648-4790",
"@type": "Person",
"familyName": "Stimberg",
"givenName": "Marcel",
"identifier": "https://github.com/mstimberg"
},
{
"@id": "https://orcid.org/0000-0003-1007-6474",
"@type": "Person",
"familyName": "Goodman",
"givenName": "Dan F. M.",
"identifier": "https://github.com/thesamovar"
},
{
"@id": "https://orcid.org/0000-0002-1734-6070",
"@type": "Person",
"familyName": "Evans",
"givenName": "Benjamin D.",
"identifier": "https://github.com/bdevans"
},
{
"@id": "https://orcid.org/0000-0003-0110-1623",
"@type": "Person",
"familyName": "Brette",
"givenName": "Romain",
"identifier": "https://github.com/romainbrette"
}
],
"codeRepository": "https://github.com/brian-team/brian2",
"continuousIntegration": "https://github.com/brian-team/brian2/actions",
"issueTracker": "https://github.com/brian-team/brian2/issues",
"keywords": [
"biological neural networks",
"computational neuroscience",
"neural networks",
"research",
"simulation",
"spiking neurons"
],
"operatingSystem": "OS Independent",
"softwareHelp": "https://brian2.readthedocs.io/",
"developmentStatus": "active",
"description": "A clock-driven simulator for spiking neural networks",
"license": "https://spdx.org/licenses/CECILL-2.1",
"name": "Brian simulator",
"url": "https://briansimulator.org",
"programmingLanguage": [
"Python"
],
"runtimePlatform": [
"Python",
"Python 3"
],
"softwareRequirements": [
{
"name": "numpy",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3",
"version": ">=1.23.5"
},
{
"name": "cython",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3",
"version": ">=0.29.21"
},
{
"name": "sympy",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3",
"version": ">=1.2"
},
{
"name": "pyparsing",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3"
},
{
"name": "jinja2",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3",
"version": ">=2.7"
},
{
"name": "py-cpuinfo",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3"
},
{
"name": "setuptools",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3",
"version": ">=61"
},
{
"name": "packaging",
"@type": "SoftwareApplication",
"runtimePlatform": "Python 3"
}
],
"contributor": [
{
"@type": "Person",
"givenName": "Dan",
"familyName": "Goodman",
"identifier": "https://github.com/thesamovar"
},
{
"@type": "Person",
"givenName": "Marcel",
"familyName": "Stimberg",
"identifier": "https://github.com/mstimberg"
},
{
"@type": "Person",
"givenName": "Romain",
"familyName": "Brette",
"identifier": "https://github.com/romainbrette"
},
{
"@type": "Person",
"givenName": "Cyrille",
"familyName": "Rossant",
"identifier": "https://github.com/rossant"
},
{
"@type": "Person",
"givenName": "Victor",
"familyName": "Benichoux",
"identifier": "https://github.com/victorbenichoux"
},
{
"@type": "Person",
"givenName": "Pierre",
"familyName": "Yger",
"identifier": "https://github.com/yger"
},
{
"@type": "Person",
"givenName": "Werner",
"familyName": "Beroux",
"identifier": "https://github.com/wernight"
},
{
"@type": "Person",
"givenName": "Konrad",
"familyName": "Wartke",
"identifier": "https://github.com/Kwartke"
},
{
"@type": "Person",
"givenName": "Daniel",
"familyName": "Bliss",
"identifier": "https://github.com/dabliss"
},
{
"@type": "Person",
"givenName": "Jan-Hendrik",
"familyName": "Schleimer",
"identifier": "https://github.com/ttxtea"
},
{
"@type": "Person",
"givenName": "Moritz",
"familyName": "Augustin",
"identifier": "https://github.com/moritzaugustin"
},
{
"@type": "Person",
"givenName": "Romain",
"familyName": "Caz",
"identifier": "https://github.com/rcaze"
},
{
"@type": "Person",
"givenName": "Dominik",
"familyName": "Krzemiski",
"identifier": "https://github.com/dokato"
},
{
"@type": "Person",
"givenName": "Martino",
"familyName": "Sorbaro",
"identifier": "https://github.com/martinosorb"
},
{
"@type": "Person",
"givenName": "Benjamin",
"familyName": "Evans",
"identifier": "https://github.com/bdevans"
},
{
"@type": "Person",
"givenName": "Meng",
"familyName": "Dong",
"identifier": "https://github.com/whenov"
},
{
"@type": "Person",
"givenName": "Alex",
"familyName": "Seeholzer",
"identifier": "https://github.com/flinz"
},
{
"@type": "Person",
"givenName": "Daan",
"familyName": "Sprenkels",
"identifier": "https://github.com/dsprenkels"
},
{
"@type": "Person",
"givenName": "Edward",
"familyName": "Betts",
"identifier": "https://github.com/EdwardBetts"
},
{
"@type": "Person",
"givenName": "Thomas",
"familyName": "McColgan",
"identifier": "https://github.com/phreeza"
},
{
"@type": "Person",
"givenName": "Charlee",
"familyName": "Fletterman",
"identifier": "https://github.com/CharleeSF"
},
{
"@type": "Person",
"givenName": "Mihir",
"familyName": "Vaidya",
"identifier": "https://github.com/MihirVaidya94"
},
{
"@type": "Person",
"givenName": "Teo",
"familyName": "Stocco",
"identifier": "https://github.com/zifeo"
},
{
"@type": "Person",
"givenName": "Dylan Richard",
"familyName": "Muir",
"identifier": "https://github.com/DylanMuir"
},
{
"@type": "Person",
"givenName": "Adrien F.",
"familyName": "Vincent",
"identifier": "https://github.com/afvincent"
},
{
"@type": "Person",
"givenName": "Kapil",
"familyName": "Kumar",
"identifier": "https://github.com/kapilkd13"
},
{
"@type": "Person",
"givenName": "Matthieu",
"familyName": "Recugnat",
"identifier": "https://github.com/matrec4"
},
{
"@type": "Person",
"givenName": "Paul",
"familyName": "Brodersen",
"identifier": "https://github.com/paulbrodersen"
},
{
"@type": "Person",
"givenName": "Guillaume",
"familyName": "Dumas",
"identifier": "https://github.com/deep-introspection"
},
{
"@type": "Person",
"givenName": "Aleksandra",
"familyName": "Teska",
"identifier": "https://github.com/alTeska"
},
{
"@type": "Person",
"givenName": "Vigneswaran",
"familyName": "Chandrasekaran",
"identifier": "https://github.com/Vigneswaran-Chandrasekaran"
},
{
"@type": "Person",
"givenName": "Rahul Kumar",
"familyName": "Gupta",
"identifier": "https://github.com/rahuliitg"
},
{
"@type": "Person",
"givenName": "Rike-Benjamin",
"familyName": "Schuppner",
"identifier": "https://github.com/Debilski"
},
{
"@type": "Person",
"givenName": "Denis",
"familyName": "Alevi",
"identifier": "https://github.com/denisalevi"
},
{
"@type": "Person",
"givenName": "Dominik",
"familyName": "Spicher",
"identifier": "https://github.com/dspicher"
},
{
"@type": "Person",
"givenName": "Felix B.",
"familyName": "Kern",
"identifier": "https://github.com/kernfel"
},
{
"@type": "Person",
"givenName": "Jan",
"familyName": "Marker",
"identifier": "https://github.com/jangmarker"
},
{
"@type": "Person",
"givenName": "Rohith Varma",
"familyName": "Buddaraju",
"identifier": "https://github.com/rohithvarma3000"
},
{
"@type": "Person",
"givenName": "Kyle",
"familyName": "Johnsen",
"identifier": "https://github.com/kjohnsen"
},
{
"@type": "Person",
"givenName": "Leonardo",
"familyName": "Schwarz",
"identifier": "https://github.com/leoschwarz"
},
{
"@type": "Person",
"givenName": "Abolfazl",
"familyName": "Ziaeemehr",
"identifier": "https://github.com/Ziaeemehr"
},
{
"@type": "Person",
"givenName": "tienne",
"familyName": "Mollier",
"identifier": "https://github.com/emollier"
},
{
"@type": "Person",
"givenName": "Sebastian",
"familyName": "Schmitt",
"identifier": "https://github.com/schmitts"
},
{
"@type": "Person",
"givenName": "Felix C.",
"familyName": "Stegerman",
"identifier": "https://github.com/obfusk"
},
{
"@type": "Person",
"givenName": "Oleksii",
"familyName": "Leonov",
"identifier": "https://github.com/aleksejleonov"
},
{
"@type": "Person",
"givenName": "Ankur",
"familyName": "Sinha",
"identifier": "https://github.com/sanjayankur31"
},
{
"@type": "Person",
"givenName": "Guy",
"familyName": "Singer",
"identifier": "https://github.com/guy-singer"
},
{
"@type": "Person",
"givenName": "Samuele De",
"familyName": "Cristofaro",
"identifier": "https://github.com/Samuele-DeCristofaro"
},
{
"@type": "Person",
"givenName": "Sagar",
"familyName": "Shahari",
"identifier": "https://github.com/maverick4code"
},
{
"@type": "Person",
"givenName": "Palash",
"familyName": "Chitnavis",
"identifier": "https://github.com/PalashChitnavis"
}
],
"version": "2.9.0",
"softwareVersion": "2.9.0"
}
GitHub Events
Total
- Create event: 68
- Commit comment event: 1
- Issues event: 16
- Watch event: 111
- Delete event: 57
- Issue comment event: 157
- Push event: 95
- Pull request review comment event: 59
- Pull request review event: 71
- Pull request event: 146
- Fork event: 23
Last Year
- Create event: 68
- Commit comment event: 1
- Issues event: 16
- Watch event: 111
- Delete event: 57
- Issue comment event: 157
- Push event: 95
- Pull request review comment event: 59
- Pull request review event: 71
- Pull request event: 146
- Fork event: 23
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Marcel Stimberg | m****g@i****r | 4,293 |
| thesamovar | d****n@e****r | 661 |
| CharleeSF | c****e@g****m | 177 |
| Ben Evans | b****s@g****m | 104 |
| Romain Brette | r****e@e****r | 93 |
| Rohith Varma Buddaraju | r****u@g****m | 58 |
| Sebastian Schmitt | s****t@k****e | 35 |
| dependabot[bot] | 4****] | 33 |
| Vigneswaran | 1****2@s****n | 25 |
| Victor Benichoux | v****x@e****r | 20 |
| Denis Alevi | m****l@d****e | 14 |
| Pierre Yger | p****e@y****t | 13 |
| thesamovar | o****z | 9 |
| Thomas McColgan | t****n@g****m | 9 |
| dokato | r****2@g****m | 8 |
| Abolfazl Ziaeemehr | a****r@g****m | 8 |
| Moritz Augustin | a****n@n****e | 7 |
| pyger | p****r@g****m | 6 |
| Oleksii Leonov | m****l@o****m | 6 |
| Ankur Sinha (Ankur Sinha Gmail) | s****r@g****m | 5 |
| jhs | s****j@h****e | 5 |
| Étienne Mollier | e****r@m****g | 5 |
| Teo Stocco | t****o@z****m | 5 |
| Konrad Wartke | k****e@g****m | 5 |
| Guillaume Dumas | d****p@i****u | 5 |
| Paul Brodersen | p****n@g****m | 4 |
| Cyrille Rossant | c****t@e****r | 4 |
| Daan Sprenkels | h****o@d****m | 4 |
| kapil | k****3@g****m | 3 |
| rahul gupta | r****8@g****m | 3 |
| and 41 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 93
- Total pull requests: 337
- Average time to close issues: over 1 year
- Average time to close pull requests: 12 days
- Total issue authors: 50
- Total pull request authors: 27
- Average comments per issue: 3.4
- Average comments per pull request: 1.23
- Merged pull requests: 248
- Bot issues: 1
- Bot pull requests: 112
Past Year
- Issues: 12
- Pull requests: 165
- Average time to close issues: 8 days
- Average time to close pull requests: 2 days
- Issue authors: 11
- Pull request authors: 11
- Average comments per issue: 0.92
- Average comments per pull request: 0.93
- Merged pull requests: 91
- Bot issues: 1
- Bot pull requests: 97
Top Authors
Issue Authors
- mstimberg (21)
- thesamovar (15)
- bdevans (3)
- denisalevi (3)
- romainbrette (2)
- schmitts (2)
- davideschiavone (2)
- kjohnsen (2)
- lkeegan (2)
- lucasbinder (1)
- abin102 (1)
- rinatsaban-uni (1)
- vadim0x60 (1)
- tim-ufer (1)
- DingkunLiu (1)
Pull Request Authors
- mstimberg (125)
- dependabot[bot] (104)
- schmitts (22)
- bdevans (15)
- Samuele-DeCristofaro (15)
- github-actions[bot] (8)
- Legend101Zz (8)
- maverick4code (6)
- paulbrodersen (4)
- emollier (4)
- mahipalimkar (3)
- guy-singer (2)
- pjsph (2)
- kjohnsen (2)
- bjourne (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 12,034 last-month
-
Total dependent packages: 11
(may contain duplicates) -
Total dependent repositories: 36
(may contain duplicates) - Total versions: 67
- Total maintainers: 2
pypi.org: brian2
A clock-driven simulator for spiking neural networks
- Homepage: https://briansimulator.org
- Documentation: https://brian2.readthedocs.io/
- License: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
-
Latest release: 2.9.0
published 8 months ago
Rankings
Maintainers (2)
conda-forge.org: brian2
Brian2 is a simulator for spiking neural networks available on almost all platforms. The motivation for this project is that a simulator should not only save the time of processors, but also the time of scientists. It is the successor of Brian1 and shares its approach of being highly flexible and easily extensible. It is based on a code generation framework that allows to execute simulations using other programming languages and/or on different devices.
- Homepage: http://www.briansimulator.org/
- License: CECILL-2.1
-
Latest release: 2.5.1
published over 3 years ago
Rankings
Dependencies
- ipympl * development
- jupyterlab * development
- matplotlib >=2.0 development
- scipy >=0.13.3 development
- docutils <0.17
- ipython >=5
- sphinx >=2.1
- sphinx-tabs *
- cython >=0.29
- jinja2 >=2.7
- numpy >=1.17
- py-cpuinfo *
- pyparsing *
- setuptools >=24.2
- sympy >=1.2
- actions/checkout v2 composite
- actions/setup-python v2 composite
- pypa/cibuildwheel v2.2.2 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- mstimberg/github-calc-nep29 v0.5 composite
- actions/checkout v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- conda-incubator/setup-miniconda v2 composite
- mstimberg/github-calc-nep29 v0.5 composite
- mcr.microsoft.com/vscode/devcontainers/python 0-${VARIANT} build