Skip to content

Commit 8c2e304

Browse files
authored
Merge pull request #118 from OpenSourceBrain/test_moose
Improved install of Moose
2 parents 7f21d26 + 70adf8f commit 8c2e304

File tree

6 files changed

+45
-40
lines changed

6 files changed

+45
-40
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
- pyNeuroML
5151
- pyNeuroML_validate_sbml
5252
- jNeuroML_Moose
53-
- MOOSE
53+
- MOOSE:3.1.5
5454

5555
steps:
5656
- uses: actions/checkout@v4

omv/engines/brian2_.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def is_installed():
1717
inform(
1818
"Brian2 version %s is correctly installed..." % brian2.__version__,
1919
indent=2,
20-
verbosity=2,
20+
verbosity=1,
2121
)
2222

2323
ret = "v%s" % brian2.__version__

omv/engines/jneuromlmoose.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99

1010
class JNeuroMLMooseEngine(JNeuroMLEngine):
11+
1112
name = "jNeuroML_Moose"
1213

1314
@staticmethod
@@ -21,6 +22,7 @@ def is_installed():
2122

2223
@staticmethod
2324
def install(version):
25+
2426
if not JNeuroMLEngine.is_installed():
2527
JNeuroMLEngine.install(None)
2628
if not MooseEngine.is_installed():
@@ -32,6 +34,7 @@ def install(version):
3234
JNeuroMLMooseEngine.environment_vars.update(MooseEngine.environment_vars)
3335
inform("PATH: " + JNeuroMLMooseEngine.path)
3436
inform("Env vars: %s" % JNeuroMLMooseEngine.environment_vars)
37+
3538

3639
def run(self):
3740
try:

omv/engines/moose_.py

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,44 +10,24 @@
1010
class MooseEngine(OMVEngine):
1111
name = "Moose"
1212

13+
1314
@staticmethod
1415
def is_installed():
15-
if is_verbose():
16-
inform(
17-
"Checking whether the engine %s has been installed correctly..."
18-
% MooseEngine.name,
19-
indent=1,
20-
)
21-
2216
ret = True
2317
try:
24-
ret_str = sp.check_output(
25-
['python -c "import moose; print(moose.__version__)"'],
26-
shell=True,
27-
stderr=sp.STDOUT,
28-
)
29-
ret = len(ret_str) > 0
18+
import moose
3019

31-
if isinstance(ret_str, bytes):
32-
ret_str = ret_str.decode("utf-8").strip()
20+
inform(
21+
"Moose version %s is correctly installed..." % moose.__version__,
22+
indent=2,
23+
verbosity=1,
24+
)
3325

34-
if ret and is_verbose():
35-
inform(
36-
"%s is correctly installed (%s)..." % (MooseEngine.name, ret_str),
37-
indent=2,
38-
)
39-
if ret:
40-
# import moose
41-
ret = "v%s" % ret_str
26+
ret = "v%s" % moose.__version__
4227

4328
except Exception as err:
44-
if is_verbose():
45-
inform("Couldn't import moose into Python: ", err, indent=1)
29+
inform("Couldn't import Moose into Python: ", err, indent=1, verbosity=1)
4630
ret = False
47-
if not ret or not PyNeuroMLEngine.is_installed():
48-
ret = False
49-
50-
inform("Moose is_installed(): %s" % ret, "", indent=1, verbosity=2)
5131
return ret
5232

5333
@staticmethod

omv/omv_util.py

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -339,30 +339,43 @@ def _install_engine(eng):
339339
from omv.engines.getgenesis import install_genesis
340340

341341
install_genesis()
342+
342343
elif eng.lower() == "Moose".lower():
343-
if engine_version is not None:
344-
raise Exception(
345-
"Currently, cannot install a specific version of engine %s" % eng
346-
)
347-
from omv.engines.getmoose import install_moose
348344

349-
install_moose(engine_version)
345+
from omv.engines.moose_ import MooseEngine as ee
346+
347+
if ee.is_installed():
348+
already_installed = True
349+
else:
350+
from omv.engines.getmoose import install_moose
351+
352+
install_moose(engine_version)
353+
350354
elif eng.lower() == "NetPyNE".lower():
351355
from omv.engines.getnetpyne import install_netpyne
352356

353357
install_netpyne(engine_version)
358+
354359
elif eng.lower() == "Brian".lower():
360+
355361
if engine_version is not None:
356362
raise Exception(
357363
"Currently, cannot install a specific version of engine %s" % eng
358364
)
359365
from omv.engines.getbrian1 import install_brian
360366

361367
install_brian()
368+
362369
elif eng.lower() == "Brian2".lower():
363-
from omv.engines.getbrian2 import install_brian2
370+
from omv.engines.brian2_ import Brian2Engine as ee
371+
372+
if ee.is_installed():
373+
already_installed = True
374+
else:
375+
from omv.engines.getbrian2 import install_brian2
376+
377+
install_brian2(engine_version)
364378

365-
install_brian2(engine_version)
366379
elif eng.lower() == "NEST".lower():
367380
from omv.engines.nestsli import NestEngine as ee
368381

@@ -372,6 +385,7 @@ def _install_engine(eng):
372385
from omv.engines.getnest import install_nest
373386

374387
install_nest(engine_version)
388+
375389
elif eng.lower() == "PyNEST".lower():
376390
from omv.engines.pynest import PyNestEngine as ee
377391

@@ -403,6 +417,14 @@ def _install_engine(eng):
403417
else:
404418
ee.install(engine_version)
405419

420+
elif eng.lower() == "jNeuroML_Moose".lower():
421+
from omv.engines.jneuromlmoose import JNeuroMLMooseEngine as ee
422+
423+
if ee.is_installed():
424+
already_installed = True
425+
else:
426+
ee.install(engine_version)
427+
406428
elif eng.lower() == "jNeuroML_NEURON".lower():
407429
from omv.engines.jneuromlnrn import JNeuroMLNRNEngine as ee
408430

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = OSBModelValidation
3-
version = 0.2.18
3+
version = 0.2.19
44
author = Boris Marin, Padraig Gleeson
55
author_email = [email protected]
66
url = https://github.com/OpenSourceBrain/osb-model-validation

0 commit comments

Comments
 (0)