Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
43 of 111 committers (38.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
NEURON Simulator
Basic Info
- Host: GitHub
- Owner: neuronsimulator
- License: other
- Language: C++
- Default Branch: master
- Homepage: http://nrn.readthedocs.io
- Size: 163 MB
Statistics
- Stars: 457
- Watchers: 23
- Forks: 127
- Open Issues: 407
- Releases: 27
Topics
Metadata Files
README.md
NEURON
NEURON is a simulator for models of neurons and networks of neuron. See http://neuron.yale.edu for installers, source code, documentation, tutorials, announcements of courses and conferences, and a discussion forum.
Installing NEURON
NEURON provides binary installers for Linux, Mac and Windows platforms. You can find the latest installers for Mac and Windows here. For Linux and Mac you can install the official Python 3 wheel with:
pip3 install neuron
If you want to build the latest version from source, we support CMake as build system. See detailed installation instructions: docs/install/install_instructions.md.
It is possible to install the Linux Python wheels on Windows via the Windows Subsystem for Linux (WSL) - check the installation instructions above.
[!NOTE] About NEURON >= 9.0: If you are experiencing compilation errors while using
nrnivmodlwith NEURON >=9.0, but not with previous 8.x releases, see Adapting MOD files for C++ with NEURON >= 9.0.
Documentation
- See documentation section of the NEURON website
- See https://nrn.readthedocs.io/en/latest/ for latest, nightly snapshot
- See docs/README.md for information on documentation (local build, Read the Docs setup)
Changelog
Refer to docs/changelog.md
Contributing to NEURON development
Refer to NEURON contribution guidelines
Funding
NEURON development is supported by NIH grant R01NS11613 (PI M.L. Hines at Yale University).
Collaboration is provided by the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL) with funding from the Swiss government's ETH Board of the Swiss Federal Institutes of Technology. Additional funding from the European Union Seventh Framework Program (FP7/20072013) under grant agreement no. 604102 (HBP) and the European Union's Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreement no. 720270 (Human Brain Project SGA1), no. 785907 (Human Brain Project SGA2) and no. 945539 (Human Brain Project SGA3).
Owner
- Name: The NEURON Simulator
- Login: neuronsimulator
- Kind: organization
- Website: http://neuron.yale.edu
- Repositories: 13
- Profile: https://github.com/neuronsimulator
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"type": "SoftwareSourceCode",
"applicationCategory": "neuroscience",
"author": [
{
"id": "_:author_1",
"type": "Person",
"affiliation": {
"type": "Organization",
"name": "Yale University"
},
"email": "michael.hines@yale.edu",
"familyName": "Hines",
"givenName": "Michael"
}
],
"codeRepository": "git+https://github.com/neuronsimulator/nrn.git",
"dateModified": "2025-09-30",
"description": "Empirically-based simulator for modeling neurons and networks of neurons",
"downloadUrl": "https://github.com/neuronsimulator/nrn/releases/tag/9.0.0",
"funder": {
"type": "Organization",
"name": "Yale University"
},
"license": "https://spdx.org/licenses/BSD-3-Clause",
"name": "NEURON",
"operatingSystem": [
"Linux",
"Windows",
"macOS"
],
"programmingLanguage": [
"C++",
"Python 3"
],
"relatedLink": "https://nrn.readthedocs.io/",
"schema:releaseNotes": "NEURON 9.0 marks a major milestone with significant under-the-hood\nupdates. This release features a redesign of internal data structures\nusing the Structure-Of-Arrays (SoA) memory layout, replacement of\npointers by DataHandles that are automatically updated when internal\nmemory layout changes, migration of the\ncodebase and translation of MOD files to C++, and the introduction of\nrandom number generator construct natively in the NMODL (and legacy but still default nocmodl) language.\nAdditionally, many legacy NMODL constructs have been removed, and legacy\ncode and libraries have been replaced with modern alternatives like\nEigen, ensuring improved performance and maintainability. \n\nWhat follows are a selection of the ~1500 pull request squash/merge\ncommits to the master branch since\nthe start of the 9.0a tag on 17-07-2023\n\n### What's New\n\n- Use of SoA memory layout for internal data structures (#2027, #2381, #2712) \n This is a prerequisite for adopting CoreNEURON GPU functionality natively into NEURON.\n- Replace pointers with DataHandles. DataHandles pointing to RANGE variables\n always point to the correct value when memory is permuted or reallocated.\n- Support for random number generator language construct (`RANDOM`) in NMODL (#2627) \n- Replace pthread-based threading implementation with `std::thread` (#1859) \n- Introduce meaningful Python types: HOC classes associated with Python types (#1858) \n- Formalization of C API for NEURON (first version) (#2357, #3557) \n- Introduce nanobind to gradually replace C Python API usage (#2545) \n- Requires C++17 compiler and `flex >= 2.6` (#1893) \n- CoreNEURON repository is merged into NEURON (#2055) \n- CoreNEURON report extensions (#3507, #3542)\n- Modern implementation of NMODL (eventually to replace the nocmodl MOD file translator) is merged into NEURON (#3333)\n- Support for `numpy>=2` added (#3040) \n- Replace legacy Meschach source copy with Eigen library (#2470) \n\n### Breaking Changes\n\n- MOD files are compiled as C++ instead of C (see [migration guide](https://nrn.readthedocs.io/en/latest/guide/porting_mechanisms_to_cpp.html#porting-mechanisms-to-cpp) for VERBATIM blocks) \n- API changes in the functions related to random numbers, see #2618 \n- Restored usage of TABLE statement in hh.mod, results are now same as 8.0.2 (see #1764) \n- NMODL: Disallow use of ion variable in the `CONSTANT` block (#1955) \n- NMODL: Disallow declaring variables and functions with the same name (#1992) \n- Usage of Eigen library could introduce floating point differences, but they are very small, validated and can be ignored \n\n### Removal / Deprecation\n\n- Removed HOC function parent_node (Issue 3571) (#3576)\n- Removed usage of legacy OS X carbon libraries (#1869) \n- Removed legacy LINDA code and Java bindings (#1919, #1937) \n- Removed unused NMODL methods: `adams`, `heun`, `clsoda`, `seidel`, `simplex`, `gear` (#2032) \n- Removed support for Python 3.7 and 3.8 (#2194, #3108) \n- Removed support for legacy units and dynamic units selection (#2539) \n- Removed unused NEMO simulator compatibility (#3035) \n- Removed checkpoint feature (`h.checkpoint()`), superseded by `SaveState` (#3092) \n- Removed legacy `Random.MLCG` and `Random.ACG` random number generators (#3189, #3190) \n- Removed support for mod2c transpiler for CoreNEURON (#2247) \n- Removed unused NMODL constructs: `PUTQ`, `GETQ`, `RESET`, `MATCH`, `TERMINAL`, `SECTION`, \n `IFERROR`, `MODEL_LEVEL`, `PLOT`, `SENS`, etc (#1956, #1974, #1975, #2001, #2004, #2005)\n- Removed `__MWERKS__` (CodeWarrior compiler) related code (#2655) \n- Removed obsolete uxnrnbbs code (#2203) \n- Removed old tqueue implementations (#2225, #2740) \n- Removed unused RxD `code_matrix_to_rxd_sparse` (#3547)\n- `Py_NoSiteFlag` is deprecated for site_import (#3286)\n\n### Bug Fixes\n\n- Fix segfault from `unref hoc_obj`, see #1857 (#1917) \n- Fix bug in rxd reactions involving rxd parameters (#1933) \n- Fix CoreNEURON bug when checkpointing `VecPlay` instances (#2148) \n- Fix nocmodl bug with unused `STATE` + `COMPARTMENT` variable in `KINETIC` block (#2210) \n- Fix for dynamic ECS diffusion characteristics (#2229) \n- Various fixes for compatibility with newer NVHPC compiler releases (#2239, #2591) \n- Fix Windows and Mac crash on multiline HOC statements input from terminal (#2258) \n- Fix for `Vector.max_ind` (#2251) \n- Fix for detecting ION channel type in LoadBalance (#2310) \n- Fix for `RangeVarPlot` adding extra point at section ends when using plotly (#2410) \n- Fixed mod file array variable assignment (`seg.mech.array[i] = x`) (#2504) \n- Various fixes in RxD features (#2593, #2588) \n- Fix CoreNEURON bug causing in-memory model copy with file mode (#2767) \n- Fix CoreNEURON bug when using array variables in MOD files (#2779) \n- Fix lexer for ONTOLOGY parsing (#3091)\n- Fix issue while using Anaconda Python on MacOS (#3088)\n- Fix ParallelContext bbs memory leaks (#3563)\n- Fix RxD indexing bug (#3337)\n- Fix handling of `hh.mod` when using CoreNEURON (#3301)\n- On `h.quit()`, terminal settings are same as when neuron.hoc was imported (#3259)\n- `int` replaced by `floor` to accept negative coordinates (#3264)\n- Fix sanitizer leak involving `neuron import h, gui` (#3243)\n- Fix leaks in `get_endian_character` (#3257)\n- Fix leak in `pysec_children` and `pysec_subtree` (#3255)\n- Python 3.13.1 broke `[s for s in sl]` where `sl` is a `SectionList` (#3276)\n\n\n### Other Improvements and Changes\n\n- Allow `segment.mechanism.func(args)` to call a `FUNCTION` or `PROCEDURE` (#2475) \n- Simplify `INDEPENDENT` statement as only `t` variable is accepted (#2013) \n- Fix various memory leaks and related improvements (#3255, #3257, #3243, #2456) \n- Support for reading reporting related information with in-memory mode (#2555) \n- NMODL language documentation update (#2152, #2771, #2885) \n- Documentation improvements including transfer from <https://neuron.yale.edu> to <https://nrn.readthedocs.io> (#1901, #2922, #2971, #3106, #3187)\n- Various test, CI, and build infrastructure improvements (#1991, #2260, #2474) \n- Migrate many C code parts to C++ (#2083, #2305) \n- Support online LFP calculation in CoreNEURON (via SONATA reports for BBP use cases) (#2118, #2360) \n- Adopt CoreNEURON cell permute functionality into NEURON (#2598) \n- Allow legacy `a.b(i)` syntax for 1d arrays (extend to `PointProcess.var[i]` and `ob.dblarray[i]`) (#2256) \n- Add an ability to run NEURON ModelDB CI using label (#2108) \n- Remove unused code parts under various preprocessor variables (#2007) \n- Return error/exit codes properly in `nrniv -c` and nrnivmodl (#1871) \n- No limit on number of ion mechanisms that can be used (#3089) \n- Added Jupyter support for ModelView (#1907) \n- Make notebooks work with `bokeh>=3` (#3061) \n- Added new method `ParallelContext.get_partition()` (#2351) \n- Unified docs: one file for all languages (#3466)\n- Improve rxd memory usage with `__slots__` (#3572) \n- nrn_function_call now works with non-double returns (#3559)\n- Replaced `%` string formatting with f-strings (#3552)\n- `SectionList.size()` and `len(sectionlist)` skip deleted sections (#3524)\n- Add `.size()` to the `SectionList` object, returns the number of sections\n in the list (#3520)\n- CVode no_cap uses direct backing store instead of `Node*` (#3314)\n- Documentation updated to use `from neuron import n` (#3459)\n- Default node order is cell contiguous (except for thread rootnodes) (#3300)\n- Support multicompartment reactions with source & destination in the ecs (#3296)\n- Update `rxd.MultipleGeometry` to support 3D and hybrid models (#3389)\n- Add NMODL warning if a `FUNCTION` does not have a return statement (#3404)\n- Update species on region exception message (#3351)\n- Updated rxd reactions to allow pure backward reactions (#3273)\n- `Vector.apply` for Python functions (#3362)\n- Allow python callbacks for `xstatebutton` and `xcheckbox` (#3355)\n",
"softwareRequirements": [
"Bison",
"Flex",
"C/C++ compiler",
"CMake >= 3.18.0"
],
"version": "9.0.0",
"developmentStatus": "active",
"funding": "R01NS11613",
"issueTracker": "https://github.com/neuronsimulator/nrn/issues"
}
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Hines | m****s@y****u | 1,815 |
| Pramod Kumbhar | p****r@e****h | 639 |
| Nicolas Cornu | n****u@e****h | 388 |
| Robert A McDougal | r****l@y****u | 368 |
| Robert A. McDougal | u****n | 362 |
| Luc Grosheintz | l****z@g****m | 327 |
| Alexandru Săvulescu | a****u@e****h | 262 |
| Olli Lupton | o****n@e****h | 256 |
| adamjhn | a****n@y****u | 204 |
| JCGoran | J****n | 156 |
| Ioannis Magkanaris | i****s@g****m | 147 |
| Aleksandr Ovcharenko | a****o@e****h | 102 |
| Cameron | c****3@g****m | 87 |
| Robert A. McDougal | R****l@l****t | 80 |
| Omar Awile | o****e@e****h | 70 |
| Alessandro Cattabiani | c****i | 42 |
| Fernando Pereira | f****a@e****h | 39 |
| Jorge Blanco Alonso | 4****a | 37 |
| MikeG | m****t@e****h | 34 |
| Matthias Wolf | m****f@e****h | 25 |
| Tristan Carel | t****l@g****m | 23 |
| Ernie Forzano | e****o@n****u | 23 |
| Liam Keegan | l****m@k****h | 21 |
| Robert A McDougal | R****l@l****t | 21 |
| Bill Lytton | b****l@n****u | 20 |
| Omar Awile | o****e@g****m | 20 |
| WeinaJi | w****i@e****h | 19 |
| Jeremy FOURIAUX | j****x@e****h | 18 |
| Robert A McDougal | d****l@l****t | 17 |
| Erik Heeren | e****n@e****h | 16 |
| and 81 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 345
- Total pull requests: 1,541
- Average time to close issues: 10 months
- Average time to close pull requests: 23 days
- Total issue authors: 47
- Total pull request authors: 41
- Average comments per issue: 2.28
- Average comments per pull request: 7.68
- Merged pull requests: 1,010
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 110
- Pull requests: 647
- Average time to close issues: 20 days
- Average time to close pull requests: 10 days
- Issue authors: 22
- Pull request authors: 20
- Average comments per issue: 1.53
- Average comments per pull request: 5.5
- Merged pull requests: 407
- Bot issues: 0
- Bot pull requests: 8
Top Authors
Issue Authors
- JCGoran (58)
- ramcdougal (55)
- nrnhines (39)
- 1uc (38)
- alexsavulescu (30)
- pramodk (19)
- olupton (15)
- Helveg (8)
- alkino (7)
- iomaganaris (6)
- ikitayama (6)
- anilbey (6)
- rgourdine (5)
- heerener (4)
- cstricker (4)
Pull Request Authors
- alkino (340)
- JCGoran (298)
- 1uc (195)
- nrnhines (184)
- ramcdougal (80)
- pramodk (69)
- heerener (61)
- matz-e (31)
- ferdonline (29)
- mgeplf (28)
- alexsavulescu (28)
- noahsafar (25)
- olupton (21)
- rgourdine (16)
- adamjhn (15)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 4
-
Total downloads:
- pypi 28,398 last-month
-
Total dependent packages: 9
(may contain duplicates) -
Total dependent repositories: 31
(may contain duplicates) - Total versions: 821
- Total maintainers: 11
pypi.org: neuron
Empirically-based simulator for modeling neurons and networks of neurons
- Homepage: https://neuron.yale.edu/neuron/
- Documentation: https://neuron.readthedocs.io/
- License: Copyright (c) Michael Hines (BSD compatible)
-
Latest release: 8.2.7
published 9 months ago
Rankings
Maintainers (9)
pypi.org: neuron-nightly
Empirically-based simulator for modeling neurons and networks of neurons
- Documentation: https://neuron-nightly.readthedocs.io/
- License: Copyright (c) 2018, Michael Hines All rights reserved. This Copyright refers to all files in this distribution that do not have an explicit Copyright notice. See: grep -r '\<Copyright\>' * All files are intended to have a license compatible with the following "three clause" open source BSD license. Please notify michael.hines@yale.edu if you believe any file is not compatible with the "three clause" open source BSD license. Redistribution and use in source and binary forms, with or without modification are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 9.0a1.dev1489
published 6 months ago
Rankings
Maintainers (5)
pypi.org: neuron-gpu-nightly
Empirically-based simulator for modeling neurons and networks of neurons
- Homepage: https://neuron.yale.edu/neuron/
- Documentation: https://neuron-gpu-nightly.readthedocs.io/
- License: Copyright (c) Michael Hines (BSD compatible)
-
Latest release: 9.0a0
published over 2 years ago
Rankings
pypi.org: neuron-gpu
Empirically-based simulator for modeling neurons and networks of neurons
- Homepage: https://neuron.yale.edu/neuron/
- Documentation: https://neuron-gpu.readthedocs.io/
- License: Copyright (c) Michael Hines (BSD compatible)
-
Latest release: 8.2.2
published about 3 years ago
Rankings
Maintainers (5)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- mxschmitt/action-tmate v3 composite
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- mxschmitt/action-tmate v3 composite
- actions/checkout v3 composite
- ./tmp/actions/cache * composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- jwlawson/actions-setup-cmake v1 composite
- mxschmitt/action-tmate v3 composite
- actions/checkout v3 composite
- ncipollo/release-action v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- mxschmitt/action-tmate v3 composite
- quay.io/pypa/$MANYLINUX_IMAGE latest build
- bokeh <3
- ipython *
- jinja2 *
- jupyter *
- matplotlib *
- myst_parser *
- nbconvert *
- nbsphinx *
- numpy *
- plotly *
- plotnine *
- sphinx *
- sphinx-design *
- sphinx_rtd_theme *
- bokeh <3
- cython <3
- find_libpython *
- ipython *
- matplotlib *
- mpi4py *
- numpy *
- packaging *
- pytest *
- pytest-cov *
- scikit-build *
- setuptools *
- setuptools_scm *
- wheel *
- cython <3
- packaging *
- numpy >=1.9.3