OSBModelValidation 0.3.5__tar.gz → 0.3.7__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.
Files changed (131) hide show
  1. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7/OSBModelValidation.egg-info}/PKG-INFO +6 -5
  2. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/OSBModelValidation.egg-info/requires.txt +1 -1
  3. {osbmodelvalidation-0.3.5/OSBModelValidation.egg-info → osbmodelvalidation-0.3.7}/PKG-INFO +6 -5
  4. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/README.md +1 -0
  5. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/autogen.py +1 -1
  6. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/common/inout.py +1 -1
  7. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/engine.py +2 -3
  8. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getarbor.py +1 -1
  9. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getbrian1.py +0 -1
  10. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getbrian2.py +2 -2
  11. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getjnml.py +1 -2
  12. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getpynn.py +3 -2
  13. osbmodelvalidation-0.3.7/omv/engines/getxpp.py +51 -0
  14. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuroml.py +1 -1
  15. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlmoose.py +0 -3
  16. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlvalidate.py +1 -0
  17. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlxpp.py +6 -3
  18. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/moose_.py +1 -2
  19. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/nestsli.py +1 -1
  20. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/neuron_.py +1 -1
  21. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pylems.py +0 -1
  22. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pyneuroml_.py +1 -2
  23. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pyneuromlvalidatesbml.py +17 -11
  24. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pyneuromlxpp.py +10 -17
  25. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pyneuron.py +2 -4
  26. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynn.py +1 -1
  27. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/utils/__init__.py +3 -3
  28. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/xpp.py +7 -5
  29. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/find_tests.py +1 -1
  30. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/omv_util.py +2 -3
  31. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/parse_omt.py +1 -1
  32. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/tally.py +5 -5
  33. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/validation/validate.py +2 -3
  34. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/validation/validate_mep.py +1 -1
  35. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/setup.cfg +3 -4
  36. osbmodelvalidation-0.3.5/omv/engines/getxpp.py +0 -83
  37. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/LICENSE.lesser +0 -0
  38. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/MANIFEST.in +0 -0
  39. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/OSBModelValidation.egg-info/SOURCES.txt +0 -0
  40. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/OSBModelValidation.egg-info/dependency_links.txt +0 -0
  41. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/OSBModelValidation.egg-info/entry_points.txt +0 -0
  42. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/OSBModelValidation.egg-info/top_level.txt +0 -0
  43. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/__init__.py +0 -0
  44. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/__init__.py +0 -0
  45. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/activation.py +0 -0
  46. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/analyzer.py +0 -0
  47. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/dryrun.py +0 -0
  48. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/input_resistance.py +0 -0
  49. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/morphology.py +0 -0
  50. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/rates.py +0 -0
  51. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/resting.py +0 -0
  52. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/spikes.py +0 -0
  53. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/temperature.py +0 -0
  54. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/timeseries.py +0 -0
  55. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/utils/__init__.py +0 -0
  56. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/utils/filenode.py +0 -0
  57. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/analyzers/utils/timeseries.py +0 -0
  58. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/common/__init__.py +0 -0
  59. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/__init__.py +0 -0
  60. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/arbor_.py +0 -0
  61. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/brian1.py +0 -0
  62. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/brian2_.py +0 -0
  63. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/eden_.py +0 -0
  64. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/genesis.py +0 -0
  65. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/geteden.py +0 -0
  66. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getgenesis.py +0 -0
  67. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getjlems.py +0 -0
  68. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getlibsbml.py +0 -0
  69. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getmoose.py +0 -0
  70. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getnest.py +0 -0
  71. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getnetpyne.py +0 -0
  72. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getneuroconstruct.py +0 -0
  73. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getnml2.py +0 -0
  74. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getnrn.py +0 -0
  75. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getoctave.py +0 -0
  76. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getpylems.py +0 -0
  77. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/getpyneuroml.py +0 -0
  78. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jlems.py +0 -0
  79. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlbrian.py +0 -0
  80. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlbrian2.py +0 -0
  81. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromleden.py +0 -0
  82. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlnetpyne.py +0 -0
  83. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlnetpyne_np2.py +0 -0
  84. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlnetpyne_np4.py +0 -0
  85. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlnrn.py +0 -0
  86. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlpynnnrn.py +0 -0
  87. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/jneuromlvalidatev1.py +0 -0
  88. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/netpyne_.py +0 -0
  89. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/netpyne__np2.py +0 -0
  90. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/netpyne__np4.py +0 -0
  91. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/octave.py +0 -0
  92. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pylemsnml2.py +0 -0
  93. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynest.py +0 -0
  94. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pyneuroconstruct.py +0 -0
  95. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynnbrian1.py +0 -0
  96. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynnbrian2.py +0 -0
  97. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynnnest.py +0 -0
  98. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynnneuroml.py +0 -0
  99. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/pynnneuron.py +0 -0
  100. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/utils/genesis_utils.g +0 -0
  101. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/engines/utils/wdir.py +0 -0
  102. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/experiment.py +0 -0
  103. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/omt_mep_parser.py +0 -0
  104. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/mep.yaml +0 -0
  105. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/observable_datafile.yaml +0 -0
  106. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/observable_literal.yaml +0 -0
  107. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/observables.yaml +0 -0
  108. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/test/observable_datafile.yaml +0 -0
  109. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/test/observable_literal.1.yaml +0 -0
  110. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/base/test/observable_literal.3.yaml +0 -0
  111. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/expected.yaml +0 -0
  112. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/experiment.yaml +0 -0
  113. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/observable.yaml +0 -0
  114. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/protocol.yaml +0 -0
  115. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/protocol_properties.yaml +0 -0
  116. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/expected.1.yaml +0 -0
  117. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/expected.2.yaml +0 -0
  118. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/expected.3.yaml +0 -0
  119. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/expected.4.yaml +0 -0
  120. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/experiment.1.yaml +0 -0
  121. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/experiment.2.yaml +0 -0
  122. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/observable.yaml +0 -0
  123. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/protocol.1.yaml +0 -0
  124. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/schemata/types/test/protocol.2.yaml +0 -0
  125. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/test/__init__.py +0 -0
  126. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/test/test_rates.py +0 -0
  127. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/test/test_types.py +0 -0
  128. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/validation/__init__.py +0 -0
  129. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/validation/rx_validator.py +0 -0
  130. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/omv/validation/utils.py +0 -0
  131. {osbmodelvalidation-0.3.5 → osbmodelvalidation-0.3.7}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: OSBModelValidation
3
- Version: 0.3.5
3
+ Version: 0.3.7
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<2.0.0
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
  [![Continuous builds](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml/badge.svg)](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml)
30
30
  [![PyPI](https://img.shields.io/pypi/v/OSBModelValidation)](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,5 +1,5 @@
1
1
  PyYAML
2
- numpy<2.0.0
2
+ numpy
3
3
  pyrx
4
4
  docopt
5
5
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: OSBModelValidation
3
- Version: 0.3.5
3
+ Version: 0.3.7
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<2.0.0
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
  [![Continuous builds](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml/badge.svg)](https://github.com/OpenSourceBrain/osb-model-validation/actions/workflows/ci.yml)
30
30
  [![PyPI](https://img.shields.io/pypi/v/OSBModelValidation)](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(raw_input("Select option number [default: %s]: " % default))
30
+ sel = int(input("Select option number [default: %s]: " % default))
31
31
  opt = options[sel]
32
32
  except IndexError:
33
33
  print("invalid index!")
@@ -103,7 +103,7 @@ def check_output(cmds, cwd=".", shell=False, verbosity=0, env=None):
103
103
  if env:
104
104
  joint_env.update(env)
105
105
  for k in os.environ:
106
- if not k in joint_env:
106
+ if k not in joint_env:
107
107
  joint_env[k] = os.environ[k]
108
108
 
109
109
  try:
@@ -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 not "HOME" in name:
82
- if not ":%s:" % val in environ[name]:
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:
@@ -1,5 +1,4 @@
1
1
  import os
2
- import pip
3
2
  from omv.common.inout import inform, check_output
4
3
  from omv.engines.utils.wdir import working_dir
5
4
 
@@ -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.5.3"
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 as e:
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:
@@ -6,6 +6,7 @@ from omv.common.inout import inform, check_output
6
6
  from omv.engines.engine import PATH_DELIMITER
7
7
  from omv.engines.utils import resolve_paths
8
8
 
9
+
9
10
  class JNeuroMLValidateEngine(JNeuroMLEngine):
10
11
  name = "jNeuroML_validate"
11
12
 
@@ -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
- [self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath.replace('.xml','.ode'), '-silent'],
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, is_verbose
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 NestEngine(OMVEngine):
42
42
  if "-" in ret:
43
43
  ret = "v%s" % ret.split("-")[-1]
44
44
 
45
- if not "v" in ret:
45
+ if "v" not in ret:
46
46
  ret = "v%s" % ret
47
47
 
48
48
  inform("NEST %s is correctly installed..." % ret, indent=2, verbosity=1)
@@ -42,7 +42,7 @@ class NeuronEngine(OMVEngine):
42
42
 
43
43
  environment_vars = {"PYTHONPATH": pp}
44
44
 
45
- if not "NEURON_HOME" in os.environ:
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"]
@@ -1,6 +1,5 @@
1
1
  import os
2
2
  import subprocess as sp
3
- import sys
4
3
 
5
4
  from omv.common.inout import inform, trim_path, check_output, is_verbose
6
5
  from omv.engines.engine import OMVEngine, EngineExecutionError
@@ -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, is_verbose, check_output
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, trim_path, check_output
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(): return False
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..." % PyNeuroMLValidateSBMLEngine.name,
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(): PyNeuroMLEngine.install(None)
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..." % (PyNeuroMLValidateSBMLEngine.name, cmds),
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("Error with ", PyNeuroMLValidateSBMLEngine.name, indent=1, verbosity=1)
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, trim_path, check_output
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
- from omv.engines.engine import PATH_DELIMITER
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(): PyNeuroMLEngine.install(version)
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('-lems')
34
- cmds.append('-run')
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, check_output
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,7 +1,7 @@
1
1
  import os
2
2
  import subprocess as sp
3
3
 
4
- from omv.common.inout import inform, trim_path, check_output, is_verbose
4
+ from omv.common.inout import inform, trim_path, check_output
5
5
  from omv.engines.engine import OMVEngine, EngineExecutionError
6
6
 
7
7
 
@@ -1,9 +1,10 @@
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
@@ -18,4 +19,3 @@ def resolve_paths(path_s):
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 = 'v???'
37
+ ret = "v???"
40
38
 
41
39
  else:
42
40
  ret = "%s" % r.split()[2]
43
- if not "v" in ret:
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
- [self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath, '-silent'],
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
@@ -93,7 +93,7 @@ def test_all(
93
93
  engs = {}
94
94
  tot_tests = 0
95
95
  for t in tallies:
96
- if not t.engine in engs:
96
+ if t.engine not in engs:
97
97
  engs[t.engine] = 0
98
98
  engs[t.engine] += 1
99
99
  tot_tests += 1
@@ -22,6 +22,7 @@
22
22
  --ignore-non-py3 If Python 3, ignore tests on non Py3 compatible engines [default: False]
23
23
  -y Auto-select default options (non-interactive mode)
24
24
  """
25
+
25
26
  from docopt import docopt
26
27
  from omv.find_tests import test_all, test_one
27
28
  from omv.validation import validate_mep
@@ -155,7 +156,7 @@ def main():
155
156
  try:
156
157
  exec("import %s" % m)
157
158
  installed_ver = "v%s" % eval("%s.__version__" % m)
158
- except:
159
+ except Exception:
159
160
  pass
160
161
  inform(
161
162
  " %s%s(installed: %s)" % (m, " " * (30 - len(m)), installed_ver)
@@ -351,7 +352,6 @@ def _install_engine(eng):
351
352
  install_genesis()
352
353
 
353
354
  elif eng.lower() == "Moose".lower():
354
-
355
355
  from omv.engines.moose_ import MooseEngine as ee
356
356
 
357
357
  if ee.is_installed():
@@ -367,7 +367,6 @@ def _install_engine(eng):
367
367
  install_netpyne(engine_version)
368
368
 
369
369
  elif eng.lower() == "Brian".lower():
370
-
371
370
  if engine_version is not None:
372
371
  raise Exception(
373
372
  "Currently, cannot install a specific version of engine %s" % eng