From da5d04694ea3bd6fd337035d720c0acf41e7b6ca Mon Sep 17 00:00:00 2001
From: pgleeson
Date: Mon, 16 Jun 2025 12:48:54 +0100
Subject: [PATCH 1/5] Another fix for source_ids/channel_ids
---
PyNN/NeuroMLTest_PyNN0.9.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/PyNN/NeuroMLTest_PyNN0.9.py b/PyNN/NeuroMLTest_PyNN0.9.py
index 87c8d9e..f55f01a 100644
--- a/PyNN/NeuroMLTest_PyNN0.9.py
+++ b/PyNN/NeuroMLTest_PyNN0.9.py
@@ -100,11 +100,18 @@ def get_source_id(spiketrain):
elif 'channel_id' in spiketrain.annotations: # See https://github.com/NeuralEnsemble/PyNN/pull/762
return spiketrain.annotations['channel_id']
+ def get_source_ids_as(analogsignal):
+ if 'source_ids' in analogsignal.annotations:
+ return analogsignal.annotations['source_ids']
+ elif 'channel_ids' in analogsignal.annotations: # See https://github.com/NeuralEnsemble/PyNN/pull/762
+ return analogsignal.annotations['channel_ids']
+
+
for pop in [pop_IF_curr_alpha, pop_IF_curr_exp, pop_IF_cond_exp, pop_IF_cond_alpha,pop_EIF_cond_exp_isfa_ista, pop_HH_cond_exp, pop_post1,pop_post2]:
data = pop.get_data('v', gather=False)
analogsignal = data.segments[0].analogsignals[0]
name = analogsignal.name
- source_ids = analogsignal.annotations['source_ids']
+ source_ids = get_source_ids_as(analogsignal)
print('Saving data recorded for %s in pop %s, global ids: %s'%(name, pop.label, source_ids))
for i in range(len(source_ids)):
glob_id = source_ids[i]
From aa5dacb6360642a2c78e091032ff8c2fcd177dab Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Mon, 4 Aug 2025 18:32:56 +0100
Subject: [PATCH 2/5] Regenerated
---
NeuroML2/ConnectionsTest.net.nml | 22 +++++++++++-----------
NeuroML2/Inputs.net.nml | 2 +-
NeuroML2/LEMS_Sim_Inputs.xml | 2 +-
NeuroML2/LEMS_Sim_PyNN_NeuroML2_Export.xml | 2 +-
NeuroML2/PyNN_NeuroML2_Export.net.nml | 2 +-
5 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/NeuroML2/ConnectionsTest.net.nml b/NeuroML2/ConnectionsTest.net.nml
index 285088b..58de2ca 100644
--- a/NeuroML2/ConnectionsTest.net.nml
+++ b/NeuroML2/ConnectionsTest.net.nml
@@ -3,7 +3,7 @@
This NeuroML 2 file has been generated from:
PyNN v0.11.0
libNeuroML v0.6.8
- pyNeuroML v1.3.19
+ pyNeuroML v1.3.22
@@ -17,38 +17,38 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/NeuroML2/Inputs.net.nml b/NeuroML2/Inputs.net.nml
index d3069dd..ddf4e4b 100644
--- a/NeuroML2/Inputs.net.nml
+++ b/NeuroML2/Inputs.net.nml
@@ -3,7 +3,7 @@
This NeuroML 2 file has been generated from:
PyNN v0.11.0
libNeuroML v0.6.8
- pyNeuroML v1.3.19
+ pyNeuroML v1.3.22
diff --git a/NeuroML2/LEMS_Sim_Inputs.xml b/NeuroML2/LEMS_Sim_Inputs.xml
index 24f72d3..e3a7efb 100644
--- a/NeuroML2/LEMS_Sim_Inputs.xml
+++ b/NeuroML2/LEMS_Sim_Inputs.xml
@@ -4,7 +4,7 @@
This LEMS file has been generated from:
PyNN v0.11.0
libNeuroML v0.6.8
- pyNeuroML v1.3.19
+ pyNeuroML v1.3.22
-->
diff --git a/NeuroML2/LEMS_Sim_PyNN_NeuroML2_Export.xml b/NeuroML2/LEMS_Sim_PyNN_NeuroML2_Export.xml
index ca0d527..c3eda93 100644
--- a/NeuroML2/LEMS_Sim_PyNN_NeuroML2_Export.xml
+++ b/NeuroML2/LEMS_Sim_PyNN_NeuroML2_Export.xml
@@ -4,7 +4,7 @@
This LEMS file has been generated from:
PyNN v0.11.0
libNeuroML v0.6.8
- pyNeuroML v1.3.19
+ pyNeuroML v1.3.22
-->
diff --git a/NeuroML2/PyNN_NeuroML2_Export.net.nml b/NeuroML2/PyNN_NeuroML2_Export.net.nml
index c59bb93..67a3add 100644
--- a/NeuroML2/PyNN_NeuroML2_Export.net.nml
+++ b/NeuroML2/PyNN_NeuroML2_Export.net.nml
@@ -3,7 +3,7 @@
This NeuroML 2 file has been generated from:
PyNN v0.11.0
libNeuroML v0.6.8
- pyNeuroML v1.3.19
+ pyNeuroML v1.3.22
From b271d89548ea1796a627e7d03c2ef234d5bbe467 Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Mon, 4 Aug 2025 18:50:54 +0100
Subject: [PATCH 3/5] Updates jnml/pynml handling
---
.github/workflows/omv-ci.yml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml
index 819b86f..5d3e91c 100644
--- a/.github/workflows/omv-ci.yml
+++ b/.github/workflows/omv-ci.yml
@@ -40,11 +40,9 @@ jobs:
- name: Regenerate
run: |
- export JNML_HOME=/home/runner/jnml/jNeuroMLJar
- export PATH=$JNML_HOME:$PATH
- omv install PyNN # required for regeneration...
- omv install pyNeuroML # required for regeneration...
- omv install jNeuroML
+ omv install pyNeuroML # required for regeneration (installs jnml too)...
+
+ which pynml
which jnml
./regenerate.sh
From 439f07eee02338e173a441b6af98b49e1ca2ae3c Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Mon, 4 Aug 2025 18:55:17 +0100
Subject: [PATCH 4/5] Install pynn too
---
.github/workflows/omv-ci.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml
index 5d3e91c..b6640b7 100644
--- a/.github/workflows/omv-ci.yml
+++ b/.github/workflows/omv-ci.yml
@@ -41,6 +41,7 @@ jobs:
- name: Regenerate
run: |
omv install pyNeuroML # required for regeneration (installs jnml too)...
+ omv install PyNN # required for regeneration...
which pynml
which jnml
From 4c96895a6e605379778efe2068dd940c3c18e305 Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Fri, 20 Mar 2026 14:12:13 +0000
Subject: [PATCH 5/5] add pip list
---
.github/workflows/omv-ci.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml
index ae7ff74..5f8330f 100644
--- a/.github/workflows/omv-ci.yml
+++ b/.github/workflows/omv-ci.yml
@@ -33,6 +33,8 @@ jobs:
pip install matplotlib "cython<3.1.0" # let omv handle other deps...
+ pip list
+
- name: Run OMV tests on engine ${{ matrix.engine }}
run: |