This package provides Python libNeuroML, for working with neuronal models specified in NeuroML 2.
For more about libNeuroML see:
Michael Vella, Robert C. Cannon, Sharon Crook, Andrew P. Davison, Gautham Ganapathy, Hugh P. C. Robinson, R. Angus Silver and Padraig Gleeson, libNeuroML and PyLEMS: using Python to combine procedural and declarative modeling approaches in computational neuroscience Frontiers in Neuroinformatics 2014, doi: 10.3389/fninf.2014.00038
PLEASE CITE THE PAPER ABOVE IF YOU USE libNeuroML!
Documentation is available at http://readthedocs.org/docs/libneuroml/en/latest/
For installation instructions, see http://readthedocs.org/docs/libneuroml/en/latest/install.html
For an overview of all NeuroML related libraries/documentation/publications see https://docs.neuroml.org
A related package, pyNeuroML builds on this and provides functionality, scripts and modules for reading, writing, simulating and analysing NeuroML2/LEMS models.
pyNeuroML builds on: libNeuroML & PyLEMS and wraps functionality from jNeuroML.
Most of the work happens in the development branch. That branch is kept up to date with the development branches for NeuroML 2 and related libraries. See https://docs.neuroml.org/ for an overview of the various NeuroML libraries.
See also https://github.com/NeuralEnsemble/libNeuroML/releases.
- drop py3.7, add py3,12
- fix loader to check for given path and fall back to relative path
- extend
get_segment_groups_from_substring
to also include anunbranched
filter - more type hint/doc fixes
- more documentation for writes/loaders
- documentation fixes to writer modules
- update schema, changes for NML 2.3 release
- use natsort to improve sorting of segments/groups when optimising
- add links to schema documentation
- move from legacy setup.py to pyproject.toml build system
- explicitly depend on numpy
- updates to GHA
- enable CI on py3.11
- fix to loaders
- format code with black
- add graph representation for morphology, and methods to calculate distances b/w segments
- add multiple cell builder utility functions
- performance improvements in generic helper functions
- documentation fixes/improvements
- add type annotations to all nml classes to aid users
- add level 1 validation method
- add generic component inspection methods
- update to use schema version 2.3
- drop python 2 support
- include schema documentation in generated
nml.py
API - introduce generic methods to add child/children elements to components
- multiple documentation fixes
- Enable Python 3.10 support
- Regenerate nml.py with generateDS using Python 3
- Add generic
add
method to all NeuroML ComponentType classes that allows users to easily construct their NeuroML documents. - Improve unit tests
- DEPRECATION notice:
append_to_element
will be deprecated in future releases, please use theadd
method instead
- Documentation updates for RTD and other minor fixes.
- Patch release with minor changes under the hood.
- Use PyTest for testing.
- Enable CI on GitHub Actions
- Using Schema for NeuroML v2.1. Better compatibility with Python 3
- Updated to use the final stable Schema for NeuroML v2.0
- Updated to use the final stable Schema for NeuroML v2beta5
- Updated to use the final stable Schema for NeuroML v2beta4
- Tested with Python 3
- Updated to use the Schema for NeuroML v2beta4
- Updated to use the Schema for NeuroML v2beta3
- Ensures numpy & pytables are only required when using non-XML loaders/writers
- Updated to use the Schema for NeuroML v2beta2
- Minor release: Update to latest schema
- Several Bug fixes and small enhamcements
- Support for latest NeuroML schema (see change outline)
- JSON serialization
- MongoDB backend
- HDF5 serialization
- Improved installation process
- All usage examples are now run on the Travis-CI continuous integration server to confirm that that they do not error.
- Schema validation utility
- Improved documentation and documentation new look
©️ Copyright 2023 by the libNeuroML team, see AUTHORS. Modified BSD License, see LICENSE for details.