Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NeuroML 2.2 release #65

Merged
merged 45 commits into from
Dec 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
ac9d2b7
To v0.5.6
pgleeson Jul 8, 2021
cd40239
Create python-publish.yml
sanjayankur31 Jul 8, 2021
ee177c5
Merge pull request #54 from LEMS/sanjayankur31-patch-1
pgleeson Jul 8, 2021
fbdd05c
improvement(model): ensure that inherited exposures are also listed
sanjayankur31 Jul 21, 2021
f4aeda2
ci(exposures): update test and example to verify that inherited expos…
sanjayankur31 Jul 21, 2021
d6df20f
revert(examples): revert change to example
sanjayankur31 Jul 23, 2021
615b3a2
test: add new test LEMS file for exposure listing test
sanjayankur31 Jul 23, 2021
23bc8d8
Merge pull request #55 from LEMS/feat/recursively-obtain-exposures
pgleeson Jul 23, 2021
b338399
fix(parser): quote text in the description attribute
sanjayankur31 Jul 23, 2021
13be4dc
test(issue20): add regression test for issue 20
sanjayankur31 Jul 23, 2021
8d77032
chore: add NeuroML LEMS definitions
sanjayankur31 Jul 23, 2021
4b96044
chore: put test in a function
sanjayankur31 Jul 26, 2021
31c3b46
fix: run startup handlers after all variables have been processed
sanjayankur31 Jul 27, 2021
6aa1645
feat: sync examples with jlems and add CI
sanjayankur31 Jul 27, 2021
bcf5f14
Merge pull request #57 from LEMS/fix/quote-descriptions
pgleeson Jul 27, 2021
f020e64
fix: only check a subset of examples
sanjayankur31 Jul 27, 2021
6cbea50
Revert "feat: sync examples with jlems and add CI"
sanjayankur31 Jul 27, 2021
82abc1f
ci: disable example checks on PRs
sanjayankur31 Jul 27, 2021
4563a6e
Merge pull request #59 from LEMS/feat/sync-examples
pgleeson Jul 29, 2021
a927875
Minor change to remove warnings in pytest output
pgleeson Jul 29, 2021
1b5e53d
Add bounce-conditional.xml
pgleeson Jul 29, 2021
b605d2c
Remove unused examples
pgleeson Jul 29, 2021
6fd9d9f
Merge pull request #58 from LEMS/fix/issue-20
pgleeson Jul 29, 2021
39c913e
Bump to v0.5.7
pgleeson Aug 3, 2021
d96dd23
Merge branch 'development' of https://github.com/LEMS/pylems into dev…
pgleeson Aug 3, 2021
f089acc
feat: change method name
sanjayankur31 Aug 10, 2021
01fcf47
fix: ensure that populations have distinct ids in example test file
sanjayankur31 Aug 11, 2021
8027840
feat: get all components of a model
sanjayankur31 Aug 11, 2021
37e41ab
refactor: improve exposure extraction code
sanjayankur31 Aug 11, 2021
327a7b4
fix: correct class member documentation
sanjayankur31 Aug 13, 2021
b9d548c
feat: list exposure paths
sanjayankur31 Aug 13, 2021
228a47d
feat: complete documentation of newly added methods
sanjayankur31 Aug 16, 2021
b50f054
test: improve exposure path listing test
sanjayankur31 Aug 16, 2021
e7f1053
fix: use deepcopy
sanjayankur31 Aug 16, 2021
ae8655c
Merge pull request #60 from LEMS/feat/recursively-get-components
pgleeson Aug 16, 2021
89e77f8
fix(dependencies): install typing for py<3.5 only
sanjayankur31 Sep 16, 2021
4854e00
Merge pull request #62 from LEMS/fix/issue-61
sanjayankur31 Sep 16, 2021
7da8d06
feat: format with black
sanjayankur31 Sep 24, 2021
21e715b
Merge pull request #63 from LEMS/feat/format-with-black
pgleeson Oct 5, 2021
caa3e6e
Version to 0.5.8
pgleeson Oct 5, 2021
234527b
One more file to black
pgleeson Oct 18, 2021
b4f6d45
docs: add man page
sanjayankur31 Nov 1, 2021
3f32818
Merge pull request #64 from sanjayankur31/feat/add-man-page
sanjayankur31 Nov 5, 2021
bbf9a1b
docs: install man page
sanjayankur31 Nov 9, 2021
5ba6418
To v0.5.9
pgleeson Dec 16, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Check that examples are same in pylems and in jlems
name: Check LEMS examples

on:
push:
branches: [ master, development, experimental ]

jobs:
verify:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: nelonoel/[email protected]

# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch

- name: Checkout jlems
uses: actions/checkout@v2
with:
repository: LEMS/jLEMS
ref: ${{ steps.extract_branch.outputs.branch }}
path: jlems

- name: check examples
run: |
for ex in "example1.xml" "example2.xml" "example3.xml" "example4.xml" "example5.xml" "example6.xml" "example7.xml" "example8.xml" "bounce-conditional.xml" ; do

if ! diff -ur "examples/$ex" "jlems/src/test/resources/$ex" ; then
echo "Example file $ex is not identical"
exit -1
fi
done
36 changes: 36 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
18 changes: 8 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## PyLEMS
## PyLEMS

[![Documentation Status](https://readthedocs.org/projects/pylems/badge/?version=latest)](https://pylems.readthedocs.io/en/latest/?badge=latest)
[![Build](https://github.com/LEMS/pylems/actions/workflows/ci.yml/badge.svg)](https://github.com/LEMS/pylems/actions/workflows/ci.yml) [![Documentation Status](https://readthedocs.org/projects/pylems/badge/?version=latest)](https://pylems.readthedocs.io/en/latest/?badge=latest)


A LEMS (http://lems.github.io/LEMS) simulator written in Python which can be used to run NeuroML2 (http://neuroml.org/neuroml2.php) models.
Expand All @@ -13,10 +13,10 @@ Michael Vella, Robert C. Cannon, Sharon Crook, Andrew P. Davison, Gautham Ganapa

_**PLEASE CITE THE PAPER ABOVE IF YOU USE PYLEMS!**_

For more details on LEMS see:
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**,
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](http://journal.frontiersin.org/Journal/10.3389/fninf.2014.00079/abstract), doi: 10.3389/fninf.2014.00079


Expand All @@ -33,7 +33,7 @@ To install as root:
Alternatively, you can obtain the latest version with

git clone https://github.com/LEMS/pylems.git
cd pylems
cd pylems
git checkout development # optional
sudo python setup.py install

Expand Down Expand Up @@ -81,9 +81,9 @@ Alternatively, you can obtain the latest version with
- 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
i.e. use `<Simulation...>` not `<SimulationSet...>`, to work in PyLEMS



**LEMS elements that do not work**

- KSChannel
Expand All @@ -105,5 +105,3 @@ pylems is integrated with the the [Travis Continuous Integration service](http:/
[![Build Status](https://travis-ci.com/LEMS/pylems.png?branch=master)](https://travis-ci.com/LEMS/pylems)

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


3 changes: 2 additions & 1 deletion ci/run-examples-ghactions.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# Copyright 2021 LEMS contributors
# Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
# Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
# File : run-examples-ghactions.sh
#
# Run tests on GitHub actions
Expand All @@ -16,6 +16,7 @@ echo "Running standard LEMS examples"
#./pylems examples/example4.xml -nogui # Not working (Unsupported in PyLEMS: KSChannel)
#./pylems examples/example5.xml -nogui # Not working (Unsupported in PyLEMS: KSChannel)
./pylems examples/example6.xml -nogui
./pylems examples/bounce-conditional.xml -nogui
# Rest of examples require an update to the <Simulation> element, i.e. use <Simulation...> not <SimulationSet...>, to work in PyLEMS

### Try running NeuroML 2 examples
Expand Down
Loading