OSBModelValidation 0.3.5__tar.gz → 0.3.8__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.3.5 → osbmodelvalidation-0.3.8/OSBModelValidation.egg-info}/PKG-INFO +6 -5
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/OSBModelValidation.egg-info/requires.txt +1 -1
- {osbmodelvalidation-0.3.5/OSBModelValidation.egg-info → osbmodelvalidation-0.3.8}/PKG-INFO +6 -5
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/README.md +1 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/autogen.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/common/inout.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/engine.py +2 -3
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getarbor.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getbrian1.py +0 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getbrian2.py +2 -2
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getjnml.py +1 -2
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getmoose.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getnrn.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getpynn.py +3 -2
- osbmodelvalidation-0.3.8/omv/engines/getxpp.py +51 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuroml.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlmoose.py +0 -3
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlvalidate.py +1 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlxpp.py +6 -3
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/moose_.py +1 -2
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/nestsli.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/neuron_.py +2 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pylems.py +0 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pyneuroml_.py +1 -2
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pyneuromlvalidatesbml.py +17 -11
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pyneuromlxpp.py +10 -17
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pyneuron.py +2 -4
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynn.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/utils/__init__.py +6 -6
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/xpp.py +7 -5
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/find_tests.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/omv_util.py +4 -5
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/parse_omt.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/tally.py +5 -5
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/validation/validate.py +2 -3
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/validation/validate_mep.py +1 -1
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/setup.cfg +3 -4
- osbmodelvalidation-0.3.5/omv/engines/getxpp.py +0 -83
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/LICENSE.lesser +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/MANIFEST.in +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/OSBModelValidation.egg-info/SOURCES.txt +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/OSBModelValidation.egg-info/dependency_links.txt +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/OSBModelValidation.egg-info/entry_points.txt +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/OSBModelValidation.egg-info/top_level.txt +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/activation.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/analyzer.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/dryrun.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/input_resistance.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/morphology.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/rates.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/resting.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/spikes.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/temperature.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/timeseries.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/utils/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/utils/filenode.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/analyzers/utils/timeseries.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/common/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/arbor_.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/brian1.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/brian2_.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/eden_.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/genesis.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/geteden.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getgenesis.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getjlems.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getlibsbml.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getnest.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getnetpyne.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getneuroconstruct.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getnml2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getoctave.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getpylems.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/getpyneuroml.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jlems.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlbrian.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlbrian2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromleden.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlnetpyne.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlnetpyne_np2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlnetpyne_np4.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlnrn.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlpynnnrn.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/jneuromlvalidatev1.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/netpyne_.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/netpyne__np2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/netpyne__np4.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/octave.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pylemsnml2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynest.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pyneuroconstruct.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynnbrian1.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynnbrian2.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynnnest.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynnneuroml.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/pynnneuron.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/utils/genesis_utils.g +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/engines/utils/wdir.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/experiment.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/omt_mep_parser.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/mep.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/observable_datafile.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/observable_literal.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/observables.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/test/observable_datafile.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/test/observable_literal.1.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/base/test/observable_literal.3.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/expected.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/experiment.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/observable.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/protocol.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/protocol_properties.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/expected.1.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/expected.2.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/expected.3.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/expected.4.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/experiment.1.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/experiment.2.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/observable.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/protocol.1.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/schemata/types/test/protocol.2.yaml +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/test/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/test/test_rates.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/test/test_types.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/validation/__init__.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/validation/rx_validator.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/omv/validation/utils.py +0 -0
- {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.8}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: OSBModelValidation
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
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
|
|
@@ -10,21 +10,21 @@ Classifier: Intended Audience :: Science/Research
|
|
|
10
10
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
11
11
|
Classifier: Natural Language :: English
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
13
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
18
|
Classifier: Topic :: Scientific/Engineering
|
|
20
19
|
Description-Content-Type: text/markdown
|
|
21
20
|
License-File: LICENSE.lesser
|
|
22
21
|
Requires-Dist: PyYAML
|
|
23
|
-
Requires-Dist: numpy
|
|
22
|
+
Requires-Dist: numpy
|
|
24
23
|
Requires-Dist: pyrx
|
|
25
24
|
Requires-Dist: pathlib; python_version < "3.4"
|
|
26
25
|
Requires-Dist: docopt
|
|
27
26
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
27
|
+
Dynamic: license-file
|
|
28
28
|
|
|
29
29
|
[](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml)
|
|
30
30
|
[](https://pypi.org/project/OSBModelValidation/)
|
|
@@ -185,3 +185,4 @@ Since you can run the validation with different [engines](https://github.com/Ope
|
|
|
185
185
|
### Running tests automatically on GitHub Actions
|
|
186
186
|
|
|
187
187
|
To use OMV with GHA, copy an existing configuration file, e.g. https://github.com/OpenSourceBrain/ACnet2/blob/master/.github/workflows/omv-ci.yml and place it in the required repository.
|
|
188
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: OSBModelValidation
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
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
|
|
@@ -10,21 +10,21 @@ Classifier: Intended Audience :: Science/Research
|
|
|
10
10
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
11
11
|
Classifier: Natural Language :: English
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
13
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
18
|
Classifier: Topic :: Scientific/Engineering
|
|
20
19
|
Description-Content-Type: text/markdown
|
|
21
20
|
License-File: LICENSE.lesser
|
|
22
21
|
Requires-Dist: PyYAML
|
|
23
|
-
Requires-Dist: numpy
|
|
22
|
+
Requires-Dist: numpy
|
|
24
23
|
Requires-Dist: pyrx
|
|
25
24
|
Requires-Dist: pathlib; python_version < "3.4"
|
|
26
25
|
Requires-Dist: docopt
|
|
27
26
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
27
|
+
Dynamic: license-file
|
|
28
28
|
|
|
29
29
|
[](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml)
|
|
30
30
|
[](https://pypi.org/project/OSBModelValidation/)
|
|
@@ -185,3 +185,4 @@ Since you can run the validation with different [engines](https://github.com/Ope
|
|
|
185
185
|
### Running tests automatically on GitHub Actions
|
|
186
186
|
|
|
187
187
|
To use OMV with GHA, copy an existing configuration file, e.g. https://github.com/OpenSourceBrain/ACnet2/blob/master/.github/workflows/omv-ci.yml and place it in the required repository.
|
|
188
|
+
|
|
@@ -157,3 +157,4 @@ Since you can run the validation with different [engines](https://github.com/Ope
|
|
|
157
157
|
### Running tests automatically on GitHub Actions
|
|
158
158
|
|
|
159
159
|
To use OMV with GHA, copy an existing configuration file, e.g. https://github.com/OpenSourceBrain/ACnet2/blob/master/.github/workflows/omv-ci.yml and place it in the required repository.
|
|
160
|
+
|
|
@@ -27,7 +27,7 @@ def read_option(options, default=0):
|
|
|
27
27
|
opt = None
|
|
28
28
|
while opt is None:
|
|
29
29
|
try:
|
|
30
|
-
sel = int(
|
|
30
|
+
sel = int(input("Select option number [default: %s]: " % default))
|
|
31
31
|
opt = options[sel]
|
|
32
32
|
except IndexError:
|
|
33
33
|
print("invalid index!")
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from os.path import realpath
|
|
2
2
|
from os import environ
|
|
3
|
-
import sys
|
|
4
3
|
from omv.common.inout import inform
|
|
5
4
|
import platform
|
|
6
5
|
|
|
@@ -78,8 +77,8 @@ class OMVEngine(object):
|
|
|
78
77
|
def set_environment(self):
|
|
79
78
|
if self.environment_vars:
|
|
80
79
|
for name, val in self.environment_vars.items():
|
|
81
|
-
if name in environ and
|
|
82
|
-
if
|
|
80
|
+
if name in environ and "HOME" not in name:
|
|
81
|
+
if ":%s:" % val not in environ[name]:
|
|
83
82
|
environ[name] = "%s:%s" % (environ[name], val)
|
|
84
83
|
else:
|
|
85
84
|
environ[name] = val
|
|
@@ -8,7 +8,7 @@ def install_arbor(version=None):
|
|
|
8
8
|
pip_install("arbor==%s" % version)
|
|
9
9
|
import arbor
|
|
10
10
|
|
|
11
|
-
m = "Successfully installed Arbor..."
|
|
11
|
+
m = "Successfully installed Arbor %s..."%arbor.__version__
|
|
12
12
|
except Exception as e:
|
|
13
13
|
m = "ERROR installing Arbor: " + str(e)
|
|
14
14
|
finally:
|
|
@@ -5,12 +5,12 @@ from omv.engines.getbrian1 import check_scipy_dev
|
|
|
5
5
|
|
|
6
6
|
def install_brian2(version):
|
|
7
7
|
if not version:
|
|
8
|
-
version = "2.
|
|
8
|
+
version = "2.7.1"
|
|
9
9
|
try:
|
|
10
10
|
pip_install("brian2", version)
|
|
11
11
|
import brian2
|
|
12
12
|
|
|
13
|
-
m = "Successfully installed Brian2..."
|
|
13
|
+
m = "Successfully installed Brian2 %s..."%brian2.__version__
|
|
14
14
|
except Exception as e:
|
|
15
15
|
m = "ERROR installing Brian2: " + str(e)
|
|
16
16
|
finally:
|
|
@@ -8,7 +8,6 @@ from omv.common.inout import inform
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def install_jnml(version):
|
|
11
|
-
|
|
12
11
|
if not version:
|
|
13
12
|
version = "v0.14.0"
|
|
14
13
|
|
|
@@ -45,4 +44,4 @@ def install_jnml(version):
|
|
|
45
44
|
)
|
|
46
45
|
check_output(["unzip", "jNeuroML.zip"])
|
|
47
46
|
|
|
48
|
-
inform("Successfully installed jNeuroML "+version, indent=1)
|
|
47
|
+
inform("Successfully installed jNeuroML " + version, indent=1)
|
|
@@ -15,7 +15,8 @@ def install_pynn(version=None):
|
|
|
15
15
|
|
|
16
16
|
pip_install("pynn", version)
|
|
17
17
|
import pyNN
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
"""
|
|
19
20
|
install_root = os.environ["HOME"]
|
|
20
21
|
|
|
21
22
|
pyNN_src = "PyNN_src"
|
|
@@ -36,7 +37,7 @@ def install_pynn(version=None):
|
|
|
36
37
|
print(check_output(["pwd"]))
|
|
37
38
|
print("Finished attempting to install PyNN")
|
|
38
39
|
# import pyNN
|
|
39
|
-
|
|
40
|
+
"""
|
|
40
41
|
m = "Successfully installed pyNN..."
|
|
41
42
|
except Exception as e:
|
|
42
43
|
m = "ERROR during install_pynn: %s" % e
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def install_xpp(version="latest"):
|
|
10
|
+
if version is None:
|
|
11
|
+
version = "latest"
|
|
12
|
+
elif not version == "latest":
|
|
13
|
+
raise Exception("Can currently only install the latest XPP version")
|
|
14
|
+
|
|
15
|
+
inform("Installing XPP", indent=2, verbosity=1)
|
|
16
|
+
xppinstallpath = os.path.join(os.environ["HOME"])
|
|
17
|
+
xpphomepath = os.path.join(xppinstallpath, "xppaut")
|
|
18
|
+
|
|
19
|
+
inform(
|
|
20
|
+
"Installing XPP to: %s" % (xpphomepath),
|
|
21
|
+
indent=2,
|
|
22
|
+
verbosity=1,
|
|
23
|
+
)
|
|
24
|
+
pypaths = get_paths()
|
|
25
|
+
inform("Python lib info: %s" % (pypaths), indent=2, verbosity=1)
|
|
26
|
+
|
|
27
|
+
with working_dir(xppinstallpath):
|
|
28
|
+
print(check_output(["git", "clone", "https://github.com/NeuroML/xppaut"]))
|
|
29
|
+
|
|
30
|
+
with working_dir(xpphomepath):
|
|
31
|
+
print(check_output(["ls", "-alth"]))
|
|
32
|
+
|
|
33
|
+
makefile = os.path.join(xpphomepath, "Makefile")
|
|
34
|
+
|
|
35
|
+
print(" - Replacing text in %s" % makefile)
|
|
36
|
+
with open(makefile, "r") as file:
|
|
37
|
+
filedata = file.read()
|
|
38
|
+
|
|
39
|
+
# Replace the target string
|
|
40
|
+
filedata = filedata.replace("/usr/local/", "%s/" % xpphomepath)
|
|
41
|
+
|
|
42
|
+
# Write the file out again
|
|
43
|
+
with open(makefile, "w") as file:
|
|
44
|
+
file.write(filedata)
|
|
45
|
+
|
|
46
|
+
print(check_output(["make", "-j4"]))
|
|
47
|
+
print(check_output(["make", "install"]))
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
if __name__ == "__main__":
|
|
51
|
+
install_nest()
|
|
@@ -24,7 +24,7 @@ class JNeuroMLEngine(OMVEngine):
|
|
|
24
24
|
jnmlhome = os.path.join(
|
|
25
25
|
os.environ["XDG_DATA_HOME"], "jnml/jNeuroMLJar"
|
|
26
26
|
)
|
|
27
|
-
except KeyError
|
|
27
|
+
except KeyError:
|
|
28
28
|
localsharepath = os.path.join(os.environ["HOME"], ".local/share")
|
|
29
29
|
if os.path.isdir(localsharepath):
|
|
30
30
|
jnmlhome = os.path.join(
|
|
@@ -8,7 +8,6 @@ from omv.engines.engine import EngineExecutionError
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class JNeuroMLMooseEngine(JNeuroMLEngine):
|
|
11
|
-
|
|
12
11
|
name = "jNeuroML_Moose"
|
|
13
12
|
|
|
14
13
|
@staticmethod
|
|
@@ -22,7 +21,6 @@ class JNeuroMLMooseEngine(JNeuroMLEngine):
|
|
|
22
21
|
|
|
23
22
|
@staticmethod
|
|
24
23
|
def install(version):
|
|
25
|
-
|
|
26
24
|
if not JNeuroMLEngine.is_installed():
|
|
27
25
|
JNeuroMLEngine.install(None)
|
|
28
26
|
if not MooseEngine.is_installed():
|
|
@@ -34,7 +32,6 @@ class JNeuroMLMooseEngine(JNeuroMLEngine):
|
|
|
34
32
|
JNeuroMLMooseEngine.environment_vars.update(MooseEngine.environment_vars)
|
|
35
33
|
inform("PATH: " + JNeuroMLMooseEngine.path)
|
|
36
34
|
inform("Env vars: %s" % JNeuroMLMooseEngine.environment_vars)
|
|
37
|
-
|
|
38
35
|
|
|
39
36
|
def run(self):
|
|
40
37
|
try:
|
|
@@ -26,7 +26,6 @@ class JNeuroMLXppEngine(JNeuroMLEngine):
|
|
|
26
26
|
if not XppEngine.is_installed():
|
|
27
27
|
XppEngine.install(xpp_version)
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
def run(self):
|
|
31
30
|
self.environment_vars = XppEngine.get_xpp_environment()
|
|
32
31
|
self.set_environment()
|
|
@@ -44,9 +43,13 @@ class JNeuroMLXppEngine(JNeuroMLEngine):
|
|
|
44
43
|
cwd=os.path.dirname(self.modelpath),
|
|
45
44
|
env=JNeuroMLEngine.get_environment(),
|
|
46
45
|
)
|
|
47
|
-
|
|
46
|
+
|
|
48
47
|
self.stdout = check_output(
|
|
49
|
-
[
|
|
48
|
+
[
|
|
49
|
+
self.environment_vars["XPP_HOME"] + "/xppaut",
|
|
50
|
+
self.modelpath.replace(".xml", ".ode"),
|
|
51
|
+
"-silent",
|
|
52
|
+
],
|
|
50
53
|
cwd=os.path.dirname(self.modelpath),
|
|
51
54
|
)
|
|
52
55
|
|
|
@@ -3,14 +3,13 @@ import subprocess as sp
|
|
|
3
3
|
|
|
4
4
|
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
5
5
|
|
|
6
|
-
from omv.common.inout import inform, trim_path, check_output
|
|
6
|
+
from omv.common.inout import inform, trim_path, check_output
|
|
7
7
|
from omv.engines.engine import OMVEngine, EngineExecutionError
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class MooseEngine(OMVEngine):
|
|
11
11
|
name = "Moose"
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
@staticmethod
|
|
15
14
|
def is_installed():
|
|
16
15
|
ret = True
|
|
@@ -42,7 +42,7 @@ class NeuronEngine(OMVEngine):
|
|
|
42
42
|
|
|
43
43
|
environment_vars = {"PYTHONPATH": pp}
|
|
44
44
|
|
|
45
|
-
if
|
|
45
|
+
if "NEURON_HOME" not in os.environ:
|
|
46
46
|
pip_install_dir1 = "/usr/local"
|
|
47
47
|
pip_install_nrniv1 = os.path.join(pip_install_dir1, "bin", "nrniv")
|
|
48
48
|
scripts_bin = get_paths()["scripts"]
|
|
@@ -85,6 +85,7 @@ class NeuronEngine(OMVEngine):
|
|
|
85
85
|
inform("Checking whether %s is installed..." % NeuronEngine.name, indent=1)
|
|
86
86
|
try:
|
|
87
87
|
output = check_output(["nrniv", "--version"], verbosity=2)
|
|
88
|
+
output = output[output.index('NEURON'):]
|
|
88
89
|
if is_verbose():
|
|
89
90
|
inform(
|
|
90
91
|
"%s is installed; env: %s"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import subprocess as sp
|
|
3
3
|
|
|
4
|
-
from omv.common.inout import inform, trim_path,
|
|
4
|
+
from omv.common.inout import inform, trim_path, check_output
|
|
5
5
|
from omv.engines.engine import OMVEngine, EngineExecutionError
|
|
6
6
|
|
|
7
7
|
|
|
@@ -42,7 +42,6 @@ class PyNeuroMLEngine(OMVEngine):
|
|
|
42
42
|
inform("Failure to install, exiting", indent=1)
|
|
43
43
|
exit(1)
|
|
44
44
|
|
|
45
|
-
|
|
46
45
|
def run(self):
|
|
47
46
|
try:
|
|
48
47
|
inform(
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import subprocess as sp
|
|
3
3
|
|
|
4
|
-
from omv.common.inout import inform,
|
|
4
|
+
from omv.common.inout import inform, check_output
|
|
5
5
|
from omv.engines.engine import EngineExecutionError
|
|
6
|
-
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
6
|
+
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
7
7
|
from omv.engines.engine import PATH_DELIMITER
|
|
8
8
|
from omv.engines.utils import resolve_paths
|
|
9
9
|
|
|
10
|
+
|
|
10
11
|
class PyNeuroMLValidateSBMLEngine(PyNeuroMLEngine):
|
|
11
12
|
name = "pyNeuroML_validate_sbml"
|
|
12
13
|
|
|
13
14
|
@staticmethod
|
|
14
15
|
def is_installed():
|
|
15
|
-
if not PyNeuroMLEngine.is_installed():
|
|
16
|
+
if not PyNeuroMLEngine.is_installed():
|
|
17
|
+
return False
|
|
16
18
|
|
|
17
19
|
ret = True
|
|
18
20
|
try:
|
|
19
21
|
inform(
|
|
20
|
-
"Checking whether %s is installed..."
|
|
22
|
+
"Checking whether %s is installed..."
|
|
23
|
+
% PyNeuroMLValidateSBMLEngine.name,
|
|
21
24
|
indent=1,
|
|
22
25
|
verbosity=2,
|
|
23
26
|
)
|
|
@@ -37,7 +40,8 @@ class PyNeuroMLValidateSBMLEngine(PyNeuroMLEngine):
|
|
|
37
40
|
|
|
38
41
|
@staticmethod
|
|
39
42
|
def install(version):
|
|
40
|
-
if not PyNeuroMLEngine.is_installed():
|
|
43
|
+
if not PyNeuroMLEngine.is_installed():
|
|
44
|
+
PyNeuroMLEngine.install(None)
|
|
41
45
|
|
|
42
46
|
from omv.engines.getlibsbml import install_libsbml
|
|
43
47
|
|
|
@@ -54,19 +58,20 @@ class PyNeuroMLValidateSBMLEngine(PyNeuroMLEngine):
|
|
|
54
58
|
verbosity=1,
|
|
55
59
|
)
|
|
56
60
|
|
|
57
|
-
#pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable
|
|
61
|
+
# pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable
|
|
58
62
|
cmds = ["pynml", "-validate-sbml"]
|
|
59
63
|
for p in path_s:
|
|
60
64
|
cmds.append(p)
|
|
61
65
|
|
|
62
66
|
inform(
|
|
63
|
-
"Running with %s, using: %s..."
|
|
67
|
+
"Running with %s, using: %s..."
|
|
68
|
+
% (PyNeuroMLValidateSBMLEngine.name, cmds),
|
|
64
69
|
indent=1,
|
|
65
70
|
)
|
|
66
71
|
self.stdout = check_output(
|
|
67
72
|
cmds,
|
|
68
|
-
cwd=os.path.dirname(self.modelpath.split(PATH_DELIMITER)[0])
|
|
69
|
-
#env=PyNeuroMLEngine.get_environment(),
|
|
73
|
+
cwd=os.path.dirname(self.modelpath.split(PATH_DELIMITER)[0]),
|
|
74
|
+
# env=PyNeuroMLEngine.get_environment(),
|
|
70
75
|
)
|
|
71
76
|
inform(
|
|
72
77
|
"Success with running ",
|
|
@@ -76,8 +81,9 @@ class PyNeuroMLValidateSBMLEngine(PyNeuroMLEngine):
|
|
|
76
81
|
)
|
|
77
82
|
self.returncode = 0
|
|
78
83
|
except sp.CalledProcessError as err:
|
|
79
|
-
inform(
|
|
84
|
+
inform(
|
|
85
|
+
"Error with ", PyNeuroMLValidateSBMLEngine.name, indent=1, verbosity=1
|
|
86
|
+
)
|
|
80
87
|
self.returncode = err.returncode
|
|
81
88
|
self.stdout = err.output
|
|
82
89
|
raise EngineExecutionError
|
|
83
|
-
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import subprocess as sp
|
|
3
3
|
|
|
4
|
-
from omv.common.inout import inform,
|
|
4
|
+
from omv.common.inout import inform, check_output
|
|
5
5
|
from omv.engines.engine import EngineExecutionError
|
|
6
|
-
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
7
|
-
|
|
8
|
-
from omv.engines.utils import resolve_paths
|
|
6
|
+
from omv.engines.pyneuroml_ import PyNeuroMLEngine
|
|
7
|
+
|
|
9
8
|
|
|
10
9
|
class PyNeuroMLXppEngine(PyNeuroMLEngine):
|
|
11
10
|
name = "pyNEURON_XPP_LEMS"
|
|
@@ -13,34 +12,29 @@ class PyNeuroMLXppEngine(PyNeuroMLEngine):
|
|
|
13
12
|
@staticmethod
|
|
14
13
|
def is_installed():
|
|
15
14
|
pynml_ver = PyNeuroMLEngine.is_installed()
|
|
16
|
-
if not pynml_ver:
|
|
15
|
+
if not pynml_ver:
|
|
17
16
|
return False
|
|
18
17
|
else:
|
|
19
18
|
return pynml_ver
|
|
20
19
|
|
|
21
|
-
|
|
22
20
|
@staticmethod
|
|
23
21
|
def install(version):
|
|
24
|
-
if not PyNeuroMLEngine.is_installed():
|
|
25
|
-
|
|
22
|
+
if not PyNeuroMLEngine.is_installed():
|
|
23
|
+
PyNeuroMLEngine.install(version)
|
|
26
24
|
|
|
27
25
|
def run(self):
|
|
28
26
|
try:
|
|
29
|
-
|
|
30
|
-
#pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable
|
|
27
|
+
# pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable
|
|
31
28
|
cmds = ["pynml-xpp"]
|
|
32
29
|
cmds.append(self.modelpath)
|
|
33
|
-
cmds.append(
|
|
34
|
-
cmds.append(
|
|
30
|
+
cmds.append("-lems")
|
|
31
|
+
cmds.append("-run")
|
|
35
32
|
|
|
36
33
|
inform(
|
|
37
34
|
"Running with %s, using: %s..." % (PyNeuroMLXppEngine.name, cmds),
|
|
38
35
|
indent=1,
|
|
39
36
|
)
|
|
40
|
-
self.stdout = check_output(
|
|
41
|
-
cmds,
|
|
42
|
-
cwd=os.path.dirname(self.modelpath)
|
|
43
|
-
)
|
|
37
|
+
self.stdout = check_output(cmds, cwd=os.path.dirname(self.modelpath))
|
|
44
38
|
inform(
|
|
45
39
|
"Success with running ",
|
|
46
40
|
PyNeuroMLXppEngine.name,
|
|
@@ -53,4 +47,3 @@ class PyNeuroMLXppEngine(PyNeuroMLEngine):
|
|
|
53
47
|
self.returncode = err.returncode
|
|
54
48
|
self.stdout = err.output
|
|
55
49
|
raise EngineExecutionError
|
|
56
|
-
|
|
@@ -6,7 +6,7 @@ import sys
|
|
|
6
6
|
|
|
7
7
|
from omv.engines.neuron_ import NeuronEngine
|
|
8
8
|
|
|
9
|
-
from omv.common.inout import inform, is_verbose
|
|
9
|
+
from omv.common.inout import inform, is_verbose
|
|
10
10
|
from omv.engines.engine import EngineExecutionError
|
|
11
11
|
|
|
12
12
|
|
|
@@ -72,9 +72,7 @@ class PyNRNEngine(NeuronEngine):
|
|
|
72
72
|
)
|
|
73
73
|
cmd = """\
|
|
74
74
|
%s
|
|
75
|
-
""" % (
|
|
76
|
-
"\n".join(self.extra_pars)
|
|
77
|
-
)
|
|
75
|
+
""" % ("\n".join(self.extra_pars))
|
|
78
76
|
if sys.version_info[0] == 3:
|
|
79
77
|
c = dedent(cmd).encode()
|
|
80
78
|
else:
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
from omv.engines.engine import PATH_DELIMITER
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
def resolve_paths(path_s):
|
|
4
|
-
|
|
5
|
+
"""
|
|
5
6
|
Make explicit list from: '*.nml myfile.xml' etc.
|
|
6
|
-
|
|
7
|
+
"""
|
|
7
8
|
|
|
8
9
|
if "*" in path_s:
|
|
9
10
|
import glob
|
|
10
11
|
|
|
11
12
|
if PATH_DELIMITER in path_s:
|
|
12
|
-
|
|
13
|
+
all_paths = []
|
|
13
14
|
for p in path_s.split(PATH_DELIMITER):
|
|
14
15
|
for g in glob.glob(p):
|
|
15
|
-
|
|
16
|
-
path_s =
|
|
16
|
+
all_paths.append(g)
|
|
17
|
+
path_s = all_paths
|
|
17
18
|
else:
|
|
18
19
|
path_s = glob.glob(path_s)
|
|
19
20
|
|
|
20
21
|
return path_s
|
|
21
|
-
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import os
|
|
2
|
-
import sys
|
|
3
2
|
|
|
4
3
|
import subprocess as sp
|
|
5
4
|
|
|
@@ -12,7 +11,6 @@ class XppEngine(OMVEngine):
|
|
|
12
11
|
|
|
13
12
|
@staticmethod
|
|
14
13
|
def get_xpp_environment():
|
|
15
|
-
|
|
16
14
|
# Default, if it was installed by omv...
|
|
17
15
|
xpppath = os.path.join(os.environ["HOME"], "xppaut/bin")
|
|
18
16
|
|
|
@@ -36,11 +34,11 @@ class XppEngine(OMVEngine):
|
|
|
36
34
|
[environment_vars["XPP_HOME"] + "/xppaut", "-version"], verbosity=2
|
|
37
35
|
)
|
|
38
36
|
if "Problem" in r:
|
|
39
|
-
ret =
|
|
37
|
+
ret = "v???"
|
|
40
38
|
|
|
41
39
|
else:
|
|
42
40
|
ret = "%s" % r.split()[2]
|
|
43
|
-
if
|
|
41
|
+
if "v" not in ret:
|
|
44
42
|
ret = "v%s" % ret
|
|
45
43
|
|
|
46
44
|
inform("XPP %s is correctly installed..." % ret, indent=2, verbosity=1)
|
|
@@ -68,7 +66,11 @@ class XppEngine(OMVEngine):
|
|
|
68
66
|
indent=1,
|
|
69
67
|
)
|
|
70
68
|
self.stdout = check_output(
|
|
71
|
-
[
|
|
69
|
+
[
|
|
70
|
+
self.environment_vars["XPP_HOME"] + "/xppaut",
|
|
71
|
+
self.modelpath,
|
|
72
|
+
"-silent",
|
|
73
|
+
],
|
|
72
74
|
cwd=os.path.dirname(self.modelpath),
|
|
73
75
|
)
|
|
74
76
|
self.returncode = 0
|