Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- pyNeuroML
- pyNeuroML_validate_sbml
- jNeuroML_Moose
- MOOSE
- MOOSE:3.1.5

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion omv/engines/brian2_.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def is_installed():
inform(
"Brian2 version %s is correctly installed..." % brian2.__version__,
indent=2,
verbosity=2,
verbosity=1,
)

ret = "v%s" % brian2.__version__
Expand Down
3 changes: 3 additions & 0 deletions omv/engines/jneuromlmoose.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@


class JNeuroMLMooseEngine(JNeuroMLEngine):

name = "jNeuroML_Moose"

@staticmethod
Expand All @@ -21,6 +22,7 @@ def is_installed():

@staticmethod
def install(version):

if not JNeuroMLEngine.is_installed():
JNeuroMLEngine.install(None)
if not MooseEngine.is_installed():
Expand All @@ -32,6 +34,7 @@ def install(version):
JNeuroMLMooseEngine.environment_vars.update(MooseEngine.environment_vars)
inform("PATH: " + JNeuroMLMooseEngine.path)
inform("Env vars: %s" % JNeuroMLMooseEngine.environment_vars)


def run(self):
try:
Expand Down
38 changes: 9 additions & 29 deletions omv/engines/moose_.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,24 @@
class MooseEngine(OMVEngine):
name = "Moose"


@staticmethod
def is_installed():
if is_verbose():
inform(
"Checking whether the engine %s has been installed correctly..."
% MooseEngine.name,
indent=1,
)

ret = True
try:
ret_str = sp.check_output(
['python -c "import moose; print(moose.__version__)"'],
shell=True,
stderr=sp.STDOUT,
)
ret = len(ret_str) > 0
import moose

if isinstance(ret_str, bytes):
ret_str = ret_str.decode("utf-8").strip()
inform(
"Moose version %s is correctly installed..." % moose.__version__,
indent=2,
verbosity=1,
)

if ret and is_verbose():
inform(
"%s is correctly installed (%s)..." % (MooseEngine.name, ret_str),
indent=2,
)
if ret:
# import moose
ret = "v%s" % ret_str
ret = "v%s" % moose.__version__

except Exception as err:
if is_verbose():
inform("Couldn't import moose into Python: ", err, indent=1)
inform("Couldn't import Moose into Python: ", err, indent=1, verbosity=1)
ret = False
if not ret or not PyNeuroMLEngine.is_installed():
ret = False

inform("Moose is_installed(): %s" % ret, "", indent=1, verbosity=2)
return ret

@staticmethod
Expand Down
38 changes: 30 additions & 8 deletions omv/omv_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -339,30 +339,43 @@ def _install_engine(eng):
from omv.engines.getgenesis import install_genesis

install_genesis()

elif eng.lower() == "Moose".lower():
if engine_version is not None:
raise Exception(
"Currently, cannot install a specific version of engine %s" % eng
)
from omv.engines.getmoose import install_moose

install_moose(engine_version)
from omv.engines.moose_ import MooseEngine as ee

if ee.is_installed():
already_installed = True
else:
from omv.engines.getmoose import install_moose

install_moose(engine_version)

elif eng.lower() == "NetPyNE".lower():
from omv.engines.getnetpyne import install_netpyne

install_netpyne(engine_version)

elif eng.lower() == "Brian".lower():

if engine_version is not None:
raise Exception(
"Currently, cannot install a specific version of engine %s" % eng
)
from omv.engines.getbrian1 import install_brian

install_brian()

elif eng.lower() == "Brian2".lower():
from omv.engines.getbrian2 import install_brian2
from omv.engines.brian2_ import Brian2Engine as ee

if ee.is_installed():
already_installed = True
else:
from omv.engines.getbrian2 import install_brian2

install_brian2(engine_version)

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

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

install_nest(engine_version)

elif eng.lower() == "PyNEST".lower():
from omv.engines.pynest import PyNestEngine as ee

Expand Down Expand Up @@ -403,6 +417,14 @@ def _install_engine(eng):
else:
ee.install(engine_version)

elif eng.lower() == "jNeuroML_Moose".lower():
from omv.engines.jneuromlmoose import JNeuroMLMooseEngine as ee

if ee.is_installed():
already_installed = True
else:
ee.install(engine_version)

elif eng.lower() == "jNeuroML_NEURON".lower():
from omv.engines.jneuromlnrn import JNeuroMLNRNEngine as ee

Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = OSBModelValidation
version = 0.2.18
version = 0.2.19
author = Boris Marin, Padraig Gleeson
author_email = [email protected]
url = https://github.com/OpenSourceBrain/osb-model-validation
Expand Down