Skip to main content

A Python library for working with NeuroML descriptions of neuronal models

Project description

Introduction

GH Build Documentation Status PyPI PyPI - Python Version GitHub GitHub pull requests GitHub issues GitHub Org's stars Twitter Follow Gitter

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

pyNeuroML

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.

Development process for libNeuroML

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.

Changelog

See also https://github.com/NeuralEnsemble/libNeuroML/releases.

version 0.5.8

  • 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 an unbranched filter
  • more type hint/doc fixes

version 0.5.7

  • more documentation for writes/loaders

version 0.5.6

  • documentation fixes to writer modules

version 0.5.5

  • update schema, changes for NML 2.3 release

version 0.5.4

  • use natsort to improve sorting of segments/groups when optimising

version 0.5.3

  • add links to schema documentation
  • move from legacy setup.py to pyproject.toml build system

version 0.5.2

  • explicitly depend on numpy

version 0.5.1

  • updates to GHA

version 0.5.0

  • 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

version 0.4.1

  • 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

version 0.4.0

  • update to use schema version 2.3
  • drop python 2 support

version 0.3.1

  • include schema documentation in generated nml.py API
  • introduce generic methods to add child/children elements to components

version 0.2.58

  • multiple documentation fixes

version 0.2.57

  • 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 the add method instead

version 0.2.56

  • Documentation updates for RTD and other minor fixes.

version 0.2.55

  • Patch release with minor changes under the hood.
  • Use PyTest for testing.
  • Enable CI on GitHub Actions

version 0.2.54

  • Using Schema for NeuroML v2.1. Better compatibility with Python 3

version 0.2.50

  • Updated to use the final stable Schema for NeuroML v2.0

version 0.2.47

  • Updated to use the final stable Schema for NeuroML v2beta5

version 0.2.18

  • Updated to use the final stable Schema for NeuroML v2beta4
  • Tested with Python 3

version 0.2.4

  • Updated to use the Schema for NeuroML v2beta4

version 0.2.2

  • Updated to use the Schema for NeuroML v2beta3
  • Ensures numpy & pytables are only required when using non-XML loaders/writers

version 0.2.0

  • Updated to use the Schema for NeuroML v2beta2

version 0.1.9

  • Minor release: Update to latest schema

version 0.1.8

  • 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: Copyright 2023 by the libNeuroML team, see AUTHORS. Modified BSD License, see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libneuroml-0.6.7.tar.gz (392.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libneuroml-0.6.7-py3-none-any.whl (390.8 kB view details)

Uploaded Python 3

File details

Details for the file libneuroml-0.6.7.tar.gz.

File metadata

  • Download URL: libneuroml-0.6.7.tar.gz
  • Upload date:
  • Size: 392.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for libneuroml-0.6.7.tar.gz
Algorithm Hash digest
SHA256 557739f40df6102f31a147fe515a913a8bdb805227ae1046671d57d3365f5c7c
MD5 e02bf8f87cfc35b386b60c0e7e39e488
BLAKE2b-256 0d8b17d3f0fbacd306857473fc98808e277cd794bd1faa0a9f0014af13f43de1

See more details on using hashes here.

File details

Details for the file libneuroml-0.6.7-py3-none-any.whl.

File metadata

  • Download URL: libneuroml-0.6.7-py3-none-any.whl
  • Upload date:
  • Size: 390.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for libneuroml-0.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 52869d18edb6715b84947a926c0459e44f26181049df3cd1b81004602cc2d0e4
MD5 45af4997c6d9bc7bd207c715cec80c2a
BLAKE2b-256 a00381db3b4dd2deae3efa6f0a42f56b422f0b6975f9f35ebdca53c51c938f2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page