OSBModelValidation 0.2.20__tar.gz → 0.2.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21/OSBModelValidation.egg-info}/PKG-INFO +2 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/SOURCES.txt +4 -0
- {osbmodelvalidation-0.2.20/OSBModelValidation.egg-info → osbmodelvalidation-0.2.21}/PKG-INFO +2 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/common/inout.py +2 -2
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/__init__.py +3 -0
- osbmodelvalidation-0.2.21/omv/engines/getxpp.py +83 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlbrian.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlnetpyne.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlpynnnrn.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlvalidate.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlvalidatev1.py +1 -1
- osbmodelvalidation-0.2.21/omv/engines/jneuromlxpp.py +59 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/netpyne_.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pylemsnml2.py +1 -1
- osbmodelvalidation-0.2.21/omv/engines/pyneuromlxpp.py +56 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynnneuroml.py +1 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynnneuron.py +1 -1
- osbmodelvalidation-0.2.21/omv/engines/xpp.py +82 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/omv_util.py +10 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/setup.cfg +2 -1
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/LICENSE.lesser +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/MANIFEST.in +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/dependency_links.txt +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/entry_points.txt +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/requires.txt +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/top_level.txt +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/README.md +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/activation.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/analyzer.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/dryrun.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/input_resistance.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/morphology.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/rates.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/resting.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/spikes.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/temperature.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/timeseries.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/utils/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/utils/filenode.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/analyzers/utils/timeseries.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/autogen.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/common/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/arbor_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/brian1.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/brian2_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/eden_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/engine.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/genesis.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getarbor.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getbrian1.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getbrian2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/geteden.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getgenesis.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getjlems.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getjnml.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getlibsbml.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getmoose.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getnest.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getnetpyne.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getneuroconstruct.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getnml2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getnrn.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getoctave.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getpylems.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getpyneuroml.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/getpynn.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jlems.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuroml.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlbrian2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromleden.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlmoose.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlnetpyne_np2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlnetpyne_np4.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/jneuromlnrn.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/moose_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/nestsli.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/netpyne__np2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/netpyne__np4.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/neuron_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/octave.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pylems.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynest.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pyneuroconstruct.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pyneuroml_.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pyneuromlvalidatesbml.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pyneuron.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynn.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynnbrian1.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynnbrian2.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pynnnest.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/utils/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/utils/genesis_utils.g +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/utils/wdir.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/experiment.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/find_tests.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/omt_mep_parser.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/parse_omt.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/mep.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/observable_datafile.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/observable_literal.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/observables.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/test/observable_datafile.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/test/observable_literal.1.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/test/observable_literal.3.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/expected.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/experiment.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/observable.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/protocol.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/protocol_properties.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.1.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.2.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.3.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.4.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/experiment.1.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/experiment.2.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/observable.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/protocol.1.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/protocol.2.yaml +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/tally.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/test/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/test/test_rates.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/test/test_types.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/validation/__init__.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/validation/rx_validator.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/validation/utils.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/validation/validate.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/validation/validate_mep.py +0 -0
- {osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/pyproject.toml +0 -0
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21/OSBModelValidation.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: OSBModelValidation
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.21
|
|
4
4
|
Summary: Open Source Brain Model validation
|
|
5
5
|
Home-page: https://github.com/OpenSourceBrain/osb-model-validation
|
|
6
6
|
Author: Boris Marin, Padraig Gleeson
|
|
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
19
|
Classifier: Topic :: Scientific/Engineering
|
|
19
20
|
Description-Content-Type: text/markdown
|
|
20
21
|
License-File: LICENSE.lesser
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/SOURCES.txt
RENAMED
|
@@ -58,6 +58,7 @@ omv/engines/getoctave.py
|
|
|
58
58
|
omv/engines/getpylems.py
|
|
59
59
|
omv/engines/getpyneuroml.py
|
|
60
60
|
omv/engines/getpynn.py
|
|
61
|
+
omv/engines/getxpp.py
|
|
61
62
|
omv/engines/jlems.py
|
|
62
63
|
omv/engines/jneuroml.py
|
|
63
64
|
omv/engines/jneuromlbrian.py
|
|
@@ -71,6 +72,7 @@ omv/engines/jneuromlnrn.py
|
|
|
71
72
|
omv/engines/jneuromlpynnnrn.py
|
|
72
73
|
omv/engines/jneuromlvalidate.py
|
|
73
74
|
omv/engines/jneuromlvalidatev1.py
|
|
75
|
+
omv/engines/jneuromlxpp.py
|
|
74
76
|
omv/engines/moose_.py
|
|
75
77
|
omv/engines/nestsli.py
|
|
76
78
|
omv/engines/netpyne_.py
|
|
@@ -84,6 +86,7 @@ omv/engines/pynest.py
|
|
|
84
86
|
omv/engines/pyneuroconstruct.py
|
|
85
87
|
omv/engines/pyneuroml_.py
|
|
86
88
|
omv/engines/pyneuromlvalidatesbml.py
|
|
89
|
+
omv/engines/pyneuromlxpp.py
|
|
87
90
|
omv/engines/pyneuron.py
|
|
88
91
|
omv/engines/pynn.py
|
|
89
92
|
omv/engines/pynnbrian1.py
|
|
@@ -91,6 +94,7 @@ omv/engines/pynnbrian2.py
|
|
|
91
94
|
omv/engines/pynnnest.py
|
|
92
95
|
omv/engines/pynnneuroml.py
|
|
93
96
|
omv/engines/pynnneuron.py
|
|
97
|
+
omv/engines/xpp.py
|
|
94
98
|
omv/engines/utils/__init__.py
|
|
95
99
|
omv/engines/utils/genesis_utils.g
|
|
96
100
|
omv/engines/utils/wdir.py
|
{osbmodelvalidation-0.2.20/OSBModelValidation.egg-info → osbmodelvalidation-0.2.21}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: OSBModelValidation
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.21
|
|
4
4
|
Summary: Open Source Brain Model validation
|
|
5
5
|
Home-page: https://github.com/OpenSourceBrain/osb-model-validation
|
|
6
6
|
Author: Boris Marin, Padraig Gleeson
|
|
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
19
|
Classifier: Topic :: Scientific/Engineering
|
|
19
20
|
Description-Content-Type: text/markdown
|
|
20
21
|
License-File: LICENSE.lesser
|
|
@@ -121,8 +121,8 @@ def check_output(cmds, cwd=".", shell=False, verbosity=0, env=None):
|
|
|
121
121
|
|
|
122
122
|
except sp.CalledProcessError as err:
|
|
123
123
|
inform(
|
|
124
|
-
"
|
|
125
|
-
% (cmds, cwd, err.returncode),
|
|
124
|
+
"CalledProcessError running commands: %s in %s (return code: %s), output:\n%s"
|
|
125
|
+
% (cmds, cwd, err.returncode, err.output),
|
|
126
126
|
indent=2,
|
|
127
127
|
verbosity=verbosity,
|
|
128
128
|
)
|
|
@@ -12,6 +12,7 @@ from omv.engines.jneuromlnetpyne_np2 import JNeuroMLNetPyNENP2Engine
|
|
|
12
12
|
# from omv.engines.jneuromlbrian import JNeuroMLBrianEngine
|
|
13
13
|
from omv.engines.jneuromleden import JNeuroMLEdenEngine
|
|
14
14
|
from omv.engines.jneuromlbrian2 import JNeuroMLBrian2Engine
|
|
15
|
+
from omv.engines.jneuromlxpp import JNeuroMLXppEngine
|
|
15
16
|
from omv.engines.jneuromlmoose import JNeuroMLMooseEngine
|
|
16
17
|
from omv.engines.jneuromlvalidate import JNeuroMLValidateEngine
|
|
17
18
|
from omv.engines.jneuromlvalidatev1 import JNeuroMLValidateV1Engine
|
|
@@ -23,6 +24,7 @@ from omv.engines.genesis import GenesisEngine
|
|
|
23
24
|
# from omv.engines.brian1 import Brian1Engine
|
|
24
25
|
from omv.engines.brian2_ import Brian2Engine
|
|
25
26
|
from omv.engines.arbor_ import ArborEngine
|
|
27
|
+
from omv.engines.xpp import XppEngine
|
|
26
28
|
from omv.engines.eden_ import EdenEngine
|
|
27
29
|
from omv.engines.nestsli import NestEngine
|
|
28
30
|
from omv.engines.pynest import PyNestEngine
|
|
@@ -42,6 +44,7 @@ from omv.engines.netpyne__np2 import NetPyNENP2Engine
|
|
|
42
44
|
from omv.engines.pyneuroconstruct import PyneuroConstructEngine
|
|
43
45
|
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
44
46
|
from omv.engines.pyneuromlvalidatesbml import PyNeuroMLValidateSBMLEngine
|
|
47
|
+
from omv.engines.pyneuromlxpp import PyNeuroMLXppEngine
|
|
45
48
|
|
|
46
49
|
|
|
47
50
|
OMVEngines = {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from omv.common.inout import inform, check_output
|
|
3
|
+
|
|
4
|
+
from omv.engines.utils.wdir import working_dir
|
|
5
|
+
from sysconfig import get_paths
|
|
6
|
+
import sys
|
|
7
|
+
|
|
8
|
+
import fileinput
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def install_xpp(version='latest'):
|
|
12
|
+
|
|
13
|
+
if version is None:
|
|
14
|
+
version='latest'
|
|
15
|
+
elif not version=='latest':
|
|
16
|
+
raise Exception('Can currently only install the latest XPP version')
|
|
17
|
+
|
|
18
|
+
inform("Installing XPP", indent=2, verbosity=1)
|
|
19
|
+
xppinstallpath = os.path.join(os.environ["HOME"])
|
|
20
|
+
xpphomepath = os.path.join(xppinstallpath, 'xppaut')
|
|
21
|
+
|
|
22
|
+
inform(
|
|
23
|
+
"Installing XPP to: %s" % (xpphomepath),
|
|
24
|
+
indent=2,
|
|
25
|
+
verbosity=1,
|
|
26
|
+
)
|
|
27
|
+
pypaths = get_paths()
|
|
28
|
+
inform("Python lib info: %s" % (pypaths), indent=2, verbosity=1)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
with working_dir(xppinstallpath):
|
|
32
|
+
print(
|
|
33
|
+
check_output(
|
|
34
|
+
[
|
|
35
|
+
"git",
|
|
36
|
+
"clone",
|
|
37
|
+
"https://github.com/NeuroML/xppaut"
|
|
38
|
+
]
|
|
39
|
+
)
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
with working_dir(xpphomepath):
|
|
43
|
+
print(
|
|
44
|
+
check_output(
|
|
45
|
+
[
|
|
46
|
+
"ls",
|
|
47
|
+
"-alth"
|
|
48
|
+
]
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
makefile = os.path.join(xpphomepath, 'Makefile')
|
|
53
|
+
|
|
54
|
+
print(' - Replacing text in %s'%makefile)
|
|
55
|
+
with open(makefile, 'r') as file:
|
|
56
|
+
filedata = file.read()
|
|
57
|
+
|
|
58
|
+
# Replace the target string
|
|
59
|
+
filedata = filedata.replace("/usr/local/", "%s/"%xpphomepath)
|
|
60
|
+
|
|
61
|
+
# Write the file out again
|
|
62
|
+
with open(makefile, 'w') as file:
|
|
63
|
+
file.write(filedata)
|
|
64
|
+
|
|
65
|
+
print(
|
|
66
|
+
check_output(
|
|
67
|
+
[
|
|
68
|
+
"make", "-j4"
|
|
69
|
+
]
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
print(
|
|
73
|
+
check_output(
|
|
74
|
+
[
|
|
75
|
+
"make", "install"
|
|
76
|
+
]
|
|
77
|
+
)
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
if __name__ == "__main__":
|
|
83
|
+
install_nest()
|
|
@@ -26,7 +26,7 @@ class JNeuroMLBrianEngine(JNeuroMLEngine):
|
|
|
26
26
|
if not JNeuroMLEngine.is_installed():
|
|
27
27
|
JNeuroMLEngine.install(None)
|
|
28
28
|
if not Brian1Engine.is_installed():
|
|
29
|
-
Brian1Engine.install(
|
|
29
|
+
Brian1Engine.install(version)
|
|
30
30
|
|
|
31
31
|
JNeuroMLBrianEngine.path = JNeuroMLEngine.path + ":" + Brian1Engine.path
|
|
32
32
|
JNeuroMLBrianEngine.environment_vars = {}
|
|
@@ -31,7 +31,7 @@ class JNeuroMLNetPyNEEngine(JNeuroMLEngine):
|
|
|
31
31
|
verbosity=1,
|
|
32
32
|
)
|
|
33
33
|
if not NetPyNEEngine.is_installed():
|
|
34
|
-
NetPyNEEngine.install(
|
|
34
|
+
NetPyNEEngine.install(version)
|
|
35
35
|
inform(
|
|
36
36
|
"%s installed NetPyNE (& NEURON)..." % JNeuroMLNetPyNEEngine.name,
|
|
37
37
|
indent=2,
|
|
@@ -16,7 +16,7 @@ class JNeuroMLValidateEngine(JNeuroMLEngine):
|
|
|
16
16
|
@staticmethod
|
|
17
17
|
def install(version):
|
|
18
18
|
if not JNeuroMLEngine.is_installed():
|
|
19
|
-
JNeuroMLEngine.install(
|
|
19
|
+
JNeuroMLEngine.install(version)
|
|
20
20
|
|
|
21
21
|
JNeuroMLValidateEngine.path = JNeuroMLEngine.path
|
|
22
22
|
JNeuroMLValidateEngine.environment_vars = {}
|
|
@@ -17,7 +17,7 @@ class JNeuroMLValidateV1Engine(JNeuroMLEngine):
|
|
|
17
17
|
@staticmethod
|
|
18
18
|
def install(version):
|
|
19
19
|
if not JNeuroMLEngine.is_installed():
|
|
20
|
-
JNeuroMLEngine.install(
|
|
20
|
+
JNeuroMLEngine.install(version)
|
|
21
21
|
|
|
22
22
|
JNeuroMLValidateV1Engine.path = JNeuroMLEngine.path
|
|
23
23
|
JNeuroMLValidateV1Engine.environment_vars = {}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess as sp
|
|
3
|
+
|
|
4
|
+
from omv.engines.jneuroml import JNeuroMLEngine
|
|
5
|
+
from omv.engines.xpp import XppEngine
|
|
6
|
+
from omv.common.inout import inform, trim_path, check_output, is_verbose
|
|
7
|
+
from omv.engines.engine import EngineExecutionError
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class JNeuroMLXppEngine(JNeuroMLEngine):
|
|
11
|
+
name = "jNeuroML_XPP"
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def is_installed():
|
|
15
|
+
if is_verbose():
|
|
16
|
+
inform(
|
|
17
|
+
"Checking whether %s is installed..." % JNeuroMLXppEngine.name,
|
|
18
|
+
indent=1,
|
|
19
|
+
)
|
|
20
|
+
return JNeuroMLEngine.is_installed() and XppEngine.is_installed()
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
def install(xpp_version):
|
|
24
|
+
if not JNeuroMLEngine.is_installed():
|
|
25
|
+
JNeuroMLEngine.install(None)
|
|
26
|
+
if not XppEngine.is_installed():
|
|
27
|
+
XppEngine.install(xpp_version)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def run(self):
|
|
31
|
+
self.environment_vars = XppEngine.get_xpp_environment()
|
|
32
|
+
self.set_environment()
|
|
33
|
+
try:
|
|
34
|
+
inform(
|
|
35
|
+
"Running file %s with %s"
|
|
36
|
+
% (trim_path(self.modelpath), JNeuroMLXppEngine.name),
|
|
37
|
+
indent=1,
|
|
38
|
+
)
|
|
39
|
+
from omv.engines.jneuroml import JNeuroMLEngine
|
|
40
|
+
|
|
41
|
+
jnml = JNeuroMLEngine.get_executable()
|
|
42
|
+
self.stdout = check_output(
|
|
43
|
+
[jnml, self.modelpath, "-xpp"],
|
|
44
|
+
cwd=os.path.dirname(self.modelpath),
|
|
45
|
+
env=JNeuroMLEngine.get_environment(),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
self.stdout = check_output(
|
|
49
|
+
[self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath.replace('.xml','.ode'), '-silent'],
|
|
50
|
+
cwd=os.path.dirname(self.modelpath),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
inform("Success with running ", JNeuroMLXppEngine.name, indent=1)
|
|
54
|
+
self.returncode = 0
|
|
55
|
+
except sp.CalledProcessError as err:
|
|
56
|
+
inform("Error with ", JNeuroMLXppEngine.name, indent=1)
|
|
57
|
+
self.returncode = err.returncode
|
|
58
|
+
self.stdout = err.output
|
|
59
|
+
raise EngineExecutionError
|
|
@@ -73,7 +73,7 @@ class NetPyNEEngine(OMVEngine):
|
|
|
73
73
|
|
|
74
74
|
home = os.environ["HOME"]
|
|
75
75
|
inform("Will fetch and install the latest NetPyNE..", indent=2)
|
|
76
|
-
install_netpyne()
|
|
76
|
+
install_netpyne(version)
|
|
77
77
|
inform("Done, NetPyNE is correctly installed...", indent=2)
|
|
78
78
|
|
|
79
79
|
NetPyNEEngine.path = PyNRNEngine.path
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess as sp
|
|
3
|
+
|
|
4
|
+
from omv.common.inout import inform, trim_path, check_output
|
|
5
|
+
from omv.engines.engine import EngineExecutionError
|
|
6
|
+
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
7
|
+
from omv.engines.engine import PATH_DELIMITER
|
|
8
|
+
from omv.engines.utils import resolve_paths
|
|
9
|
+
|
|
10
|
+
class PyNeuroMLXppEngine(PyNeuroMLEngine):
|
|
11
|
+
name = "pyNEURON_XPP_LEMS"
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def is_installed():
|
|
15
|
+
pynml_ver = PyNeuroMLEngine.is_installed()
|
|
16
|
+
if not pynml_ver:
|
|
17
|
+
return False
|
|
18
|
+
else:
|
|
19
|
+
return pynml_ver
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
def install(version):
|
|
24
|
+
if not PyNeuroMLEngine.is_installed(): PyNeuroMLEngine.install(version)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def run(self):
|
|
28
|
+
try:
|
|
29
|
+
|
|
30
|
+
#pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable
|
|
31
|
+
cmds = ["pynml-xpp"]
|
|
32
|
+
cmds.append(self.modelpath)
|
|
33
|
+
cmds.append('-lems')
|
|
34
|
+
cmds.append('-run')
|
|
35
|
+
|
|
36
|
+
inform(
|
|
37
|
+
"Running with %s, using: %s..." % (PyNeuroMLXppEngine.name, cmds),
|
|
38
|
+
indent=1,
|
|
39
|
+
)
|
|
40
|
+
self.stdout = check_output(
|
|
41
|
+
cmds,
|
|
42
|
+
cwd=os.path.dirname(self.modelpath)
|
|
43
|
+
)
|
|
44
|
+
inform(
|
|
45
|
+
"Success with running ",
|
|
46
|
+
PyNeuroMLXppEngine.name,
|
|
47
|
+
indent=1,
|
|
48
|
+
verbosity=1,
|
|
49
|
+
)
|
|
50
|
+
self.returncode = 0
|
|
51
|
+
except sp.CalledProcessError as err:
|
|
52
|
+
inform("Error with ", PyNeuroMLXppEngine.name, indent=1, verbosity=1)
|
|
53
|
+
self.returncode = err.returncode
|
|
54
|
+
self.stdout = err.output
|
|
55
|
+
raise EngineExecutionError
|
|
56
|
+
|
|
@@ -22,7 +22,7 @@ class PyNNNeuroMLEngine(PyNNEngine):
|
|
|
22
22
|
@staticmethod
|
|
23
23
|
def install(version):
|
|
24
24
|
if not PyNeuroMLEngine.is_installed():
|
|
25
|
-
PyNeuroMLEngine.install(
|
|
25
|
+
PyNeuroMLEngine.install(version)
|
|
26
26
|
inform(
|
|
27
27
|
"%s installed PyNeuroML..." % PyNNNeuroMLEngine.name,
|
|
28
28
|
indent=2,
|
|
@@ -25,7 +25,7 @@ class PyNNNRNEngine(PyNNEngine):
|
|
|
25
25
|
@staticmethod
|
|
26
26
|
def install(version=None):
|
|
27
27
|
if not NeuronEngine.is_installed():
|
|
28
|
-
NeuronEngine.install(
|
|
28
|
+
NeuronEngine.install(version)
|
|
29
29
|
inform("%s installed NEURON..." % PyNNNRNEngine.name, indent=2, verbosity=1)
|
|
30
30
|
if not PyNNEngine.is_installed():
|
|
31
31
|
PyNNEngine.install(None)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
import subprocess as sp
|
|
5
|
+
|
|
6
|
+
from omv.common.inout import inform, trim_path, check_output, is_verbose
|
|
7
|
+
from omv.engines.engine import OMVEngine, EngineExecutionError
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class XppEngine(OMVEngine):
|
|
11
|
+
name = "XPP"
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def get_xpp_environment():
|
|
15
|
+
|
|
16
|
+
# Default, if it was installed by omv...
|
|
17
|
+
xpppath = os.path.join(os.environ["HOME"], "xppaut/bin")
|
|
18
|
+
|
|
19
|
+
if "XPP_HOME" in os.environ:
|
|
20
|
+
xpppath = os.environ["XPP_HOME"] + "/"
|
|
21
|
+
|
|
22
|
+
environment_vars = {
|
|
23
|
+
"XPP_HOME": xpppath,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return environment_vars
|
|
27
|
+
|
|
28
|
+
@staticmethod
|
|
29
|
+
def is_installed():
|
|
30
|
+
ret = True
|
|
31
|
+
environment_vars = XppEngine.get_xpp_environment()
|
|
32
|
+
try:
|
|
33
|
+
FNULL = open(os.devnull, "w")
|
|
34
|
+
|
|
35
|
+
r = check_output(
|
|
36
|
+
[environment_vars["XPP_HOME"] + "/xppaut", "-version"], verbosity=2
|
|
37
|
+
)
|
|
38
|
+
if "Problem" in r:
|
|
39
|
+
ret = 'v???'
|
|
40
|
+
|
|
41
|
+
else:
|
|
42
|
+
ret = "%s" % r.split()[2]
|
|
43
|
+
if not "v" in ret:
|
|
44
|
+
ret = "v%s" % ret
|
|
45
|
+
|
|
46
|
+
inform("XPP %s is correctly installed..." % ret, indent=2, verbosity=1)
|
|
47
|
+
|
|
48
|
+
except OSError as err:
|
|
49
|
+
if is_verbose():
|
|
50
|
+
inform("Couldn't execute XPP: ", err, indent=1)
|
|
51
|
+
ret = False
|
|
52
|
+
return ret
|
|
53
|
+
|
|
54
|
+
@staticmethod
|
|
55
|
+
def install(version):
|
|
56
|
+
from omv.engines.getxpp import install_xpp
|
|
57
|
+
|
|
58
|
+
install_xpp(version)
|
|
59
|
+
inform("Done...", indent=2)
|
|
60
|
+
|
|
61
|
+
def run(self):
|
|
62
|
+
self.environment_vars = XppEngine.get_xpp_environment()
|
|
63
|
+
self.set_environment()
|
|
64
|
+
|
|
65
|
+
try:
|
|
66
|
+
inform(
|
|
67
|
+
"Running file %s with %s" % (trim_path(self.modelpath), self.name),
|
|
68
|
+
indent=1,
|
|
69
|
+
)
|
|
70
|
+
self.stdout = check_output(
|
|
71
|
+
[self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath, '-silent'],
|
|
72
|
+
cwd=os.path.dirname(self.modelpath),
|
|
73
|
+
)
|
|
74
|
+
self.returncode = 0
|
|
75
|
+
except sp.CalledProcessError as err:
|
|
76
|
+
self.returncode = err.returncode
|
|
77
|
+
self.stdout = err.output
|
|
78
|
+
raise EngineExecutionError
|
|
79
|
+
except Exception as err:
|
|
80
|
+
inform("Another error with running %s: " % self.name, err, indent=1)
|
|
81
|
+
self.returncode = -1
|
|
82
|
+
self.stdout = "???"
|
|
@@ -279,6 +279,16 @@ def _install_engine(eng):
|
|
|
279
279
|
|
|
280
280
|
install_arbor(engine_version)
|
|
281
281
|
|
|
282
|
+
elif eng.lower() == "XPP".lower():
|
|
283
|
+
from omv.engines.xpp import XppEngine as ee
|
|
284
|
+
|
|
285
|
+
if ee.is_installed():
|
|
286
|
+
already_installed = True
|
|
287
|
+
else:
|
|
288
|
+
from omv.engines.getxpp import install_xpp
|
|
289
|
+
|
|
290
|
+
install_xpp(engine_version)
|
|
291
|
+
|
|
282
292
|
elif eng.lower() == "EDEN".lower():
|
|
283
293
|
from omv.engines.eden_ import EdenEngine as ee
|
|
284
294
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
name = OSBModelValidation
|
|
3
|
-
version = 0.2.
|
|
3
|
+
version = 0.2.21
|
|
4
4
|
author = Boris Marin, Padraig Gleeson
|
|
5
5
|
author_email = borismarin@gmail.com
|
|
6
6
|
url = https://github.com/OpenSourceBrain/osb-model-validation
|
|
@@ -18,6 +18,7 @@ classifiers =
|
|
|
18
18
|
Programming Language :: Python :: 3.9
|
|
19
19
|
Programming Language :: Python :: 3.10
|
|
20
20
|
Programming Language :: Python :: 3.11
|
|
21
|
+
Programming Language :: Python :: 3.12
|
|
21
22
|
Topic :: Scientific/Engineering
|
|
22
23
|
|
|
23
24
|
[options]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/requires.txt
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/OSBModelValidation.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/engines/pyneuromlvalidatesbml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/base/observables.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/protocol_properties.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.1.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.2.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.3.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/expected.4.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/experiment.1.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/experiment.2.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/observable.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/protocol.1.yaml
RENAMED
|
File without changes
|
{osbmodelvalidation-0.2.20 → osbmodelvalidation-0.2.21}/omv/schemata/types/test/protocol.2.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|