Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A Python library for working with the Low Entropy Model Specification language (LEMS)

Project Description

A LEMS ( simulator written in Python which can be used
to run NeuroML2 ( models.

For more about PyLEMS 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


For more details on LEMS see:

Robert C. Cannon, Padraig Gleeson, Sharon Crook, Gautham Ganapathy, Boris Marin, Eugenio Piasini and R. Angus Silver,
**LEMS: A language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2**,
[Frontiers in Neuroinformatics 2014](, doi: 10.3389/fninf.2014.00079


A stable version of PyLEMS is [available on PyPI]( using [pip](

pip install pylems

To install as root:

sudo pip install pylems

Alternatively, you can obtain the latest version with

git clone
cd pylems
git checkout development # optional
sudo python install

Usage as a LEMS model simulator

pylems [options] LEMS_file


- -I/-include path - Adds a directory to the model file include search path


**NeuroML examples (from**

- Example 0 -- Working
- Example 1 -- Working
- Example 2 -- Working
- Example 3 -- Working
- Example 4 -- Not working (Unsupported in PyLEMS: KSChannel)
- Example 5 -- Working
- Example 6 -- Working
- Example 7 -- Working
- Example 8 -- Working
- Example 9 -- Working
- Example 10 -- Working
- Example 11 -- Working
- Example 12 -- Not working (Unsupported in PyLEMS: Property)
- Example 13 -- Working
- Example 14 -- Not working (Unsupported in PyLEMS: Property)
- Example 15 -- Working
- Example 16 -- Working (apart from spikeArray)
- Example 17 -- Working
- Example 18 -- Working

**LEMS examples (in directory examples)**

- example1.xml -- Working
- example2.xml -- Working
- example3.xml -- Working
- example4.xml -- Not working (Unsupported in PyLEMS: KSChannel)
- example5.xml -- Not working (Unsupported in PyLEMS: KSChannel)
- example6.xml -- Working
-- TODO: Rest of examples require an update to the `<Simulation>` element,
i.e. use `<Simulation...>` not `<SimulationSet...>`, to work in PyLEMS

**LEMS elements that do not work**

- KSChannel
- Property
- XPath based parameters - PathParameter
- Assertions

**Tasks TODO**

- Implement flattening
- Decouple events from runnables
- Improve dimension-checking on expressions.

Travis integration

pylems is integrated with the the [Travis Continuous Integration service](

[![Build Status](](

This code is distributed under the terms of the GNU Lesser General Public License.
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node

History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
PyLEMS-0.4.9.tar.gz (51.4 kB) Copy SHA256 Checksum SHA256 Source Jan 24, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting