From 8470dca96e4e8a6f207f3bbe19f0c81cb2e8dfb4 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 28 Feb 2025 09:18:32 +0000 Subject: [PATCH 1/4] Install subversion for neuroConstruct full install --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60758eb..c246661 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,6 +65,7 @@ jobs: pip install . pip install scipy sympy matplotlib cython pandas tables #sudo apt install octave + sudo apt-get install -y subversion # for neuroConstruct full install... - name: Run OMV tests on engine ${{ matrix.engine }} run: | From 9bf7d7cd641bad8093ddac63e187944a66dbf9de Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 28 Feb 2025 09:56:30 +0000 Subject: [PATCH 2/4] Some ruff formatting --- omv/engines/getjnml.py | 3 +- omv/engines/getpynn.py | 5 ++- omv/engines/getxpp.py | 64 ++++++++-------------------- omv/engines/jneuromlmoose.py | 3 -- omv/engines/jneuromlvalidate.py | 1 + omv/engines/jneuromlxpp.py | 9 ++-- omv/engines/moose_.py | 1 - omv/engines/pyneuroml_.py | 1 - omv/engines/pyneuromlvalidatesbml.py | 26 ++++++----- omv/engines/pyneuromlxpp.py | 23 ++++------ omv/engines/pyneuron.py | 4 +- omv/engines/xpp.py | 9 ++-- omv/omv_util.py | 3 +- omv/validation/validate.py | 5 +-- omv/validation/validate_mep.py | 2 +- 15 files changed, 64 insertions(+), 95 deletions(-) diff --git a/omv/engines/getjnml.py b/omv/engines/getjnml.py index c509c49..e4b5697 100644 --- a/omv/engines/getjnml.py +++ b/omv/engines/getjnml.py @@ -8,7 +8,6 @@ def install_jnml(version): - if not version: version = "v0.14.0" @@ -45,4 +44,4 @@ def install_jnml(version): ) check_output(["unzip", "jNeuroML.zip"]) - inform("Successfully installed jNeuroML "+version, indent=1) + inform("Successfully installed jNeuroML " + version, indent=1) diff --git a/omv/engines/getpynn.py b/omv/engines/getpynn.py index 4173b98..dcc6cb6 100644 --- a/omv/engines/getpynn.py +++ b/omv/engines/getpynn.py @@ -15,7 +15,8 @@ def install_pynn(version=None): pip_install("pynn", version) import pyNN - ''' + + """ install_root = os.environ["HOME"] pyNN_src = "PyNN_src" @@ -36,7 +37,7 @@ def install_pynn(version=None): print(check_output(["pwd"])) print("Finished attempting to install PyNN") # import pyNN - ''' + """ m = "Successfully installed pyNN..." except Exception as e: m = "ERROR during install_pynn: %s" % e diff --git a/omv/engines/getxpp.py b/omv/engines/getxpp.py index 4451b31..48ee76b 100644 --- a/omv/engines/getxpp.py +++ b/omv/engines/getxpp.py @@ -4,20 +4,19 @@ from omv.engines.utils.wdir import working_dir from sysconfig import get_paths import sys - -import fileinput +import fileinput -def install_xpp(version='latest'): - if version is None: - version='latest' - elif not version=='latest': - raise Exception('Can currently only install the latest XPP version') +def install_xpp(version="latest"): + if version is None: + version = "latest" + elif not version == "latest": + raise Exception("Can currently only install the latest XPP version") inform("Installing XPP", indent=2, verbosity=1) xppinstallpath = os.path.join(os.environ["HOME"]) - xpphomepath = os.path.join(xppinstallpath, 'xppaut') + xpphomepath = os.path.join(xppinstallpath, "xppaut") inform( "Installing XPP to: %s" % (xpphomepath), @@ -27,56 +26,27 @@ def install_xpp(version='latest'): pypaths = get_paths() inform("Python lib info: %s" % (pypaths), indent=2, verbosity=1) - with working_dir(xppinstallpath): - print( - check_output( - [ - "git", - "clone", - "https://github.com/NeuroML/xppaut" - ] - ) - ) + print(check_output(["git", "clone", "https://github.com/NeuroML/xppaut"])) with working_dir(xpphomepath): - print( - check_output( - [ - "ls", - "-alth" - ] - ) - ) + print(check_output(["ls", "-alth"])) - makefile = os.path.join(xpphomepath, 'Makefile') - - print(' - Replacing text in %s'%makefile) - with open(makefile, 'r') as file: + makefile = os.path.join(xpphomepath, "Makefile") + + print(" - Replacing text in %s" % makefile) + with open(makefile, "r") as file: filedata = file.read() # Replace the target string - filedata = filedata.replace("/usr/local/", "%s/"%xpphomepath) + filedata = filedata.replace("/usr/local/", "%s/" % xpphomepath) # Write the file out again - with open(makefile, 'w') as file: + with open(makefile, "w") as file: file.write(filedata) - print( - check_output( - [ - "make", "-j4" - ] - ) - ) - print( - check_output( - [ - "make", "install" - ] - ) - ) - + print(check_output(["make", "-j4"])) + print(check_output(["make", "install"])) if __name__ == "__main__": diff --git a/omv/engines/jneuromlmoose.py b/omv/engines/jneuromlmoose.py index b61d59d..54cd6b7 100644 --- a/omv/engines/jneuromlmoose.py +++ b/omv/engines/jneuromlmoose.py @@ -8,7 +8,6 @@ class JNeuroMLMooseEngine(JNeuroMLEngine): - name = "jNeuroML_Moose" @staticmethod @@ -22,7 +21,6 @@ def is_installed(): @staticmethod def install(version): - if not JNeuroMLEngine.is_installed(): JNeuroMLEngine.install(None) if not MooseEngine.is_installed(): @@ -34,7 +32,6 @@ 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: diff --git a/omv/engines/jneuromlvalidate.py b/omv/engines/jneuromlvalidate.py index 984e6ec..92bd410 100644 --- a/omv/engines/jneuromlvalidate.py +++ b/omv/engines/jneuromlvalidate.py @@ -6,6 +6,7 @@ from omv.engines.engine import PATH_DELIMITER from omv.engines.utils import resolve_paths + class JNeuroMLValidateEngine(JNeuroMLEngine): name = "jNeuroML_validate" diff --git a/omv/engines/jneuromlxpp.py b/omv/engines/jneuromlxpp.py index a48cfdc..e5f7ab8 100644 --- a/omv/engines/jneuromlxpp.py +++ b/omv/engines/jneuromlxpp.py @@ -26,7 +26,6 @@ def install(xpp_version): if not XppEngine.is_installed(): XppEngine.install(xpp_version) - def run(self): self.environment_vars = XppEngine.get_xpp_environment() self.set_environment() @@ -44,9 +43,13 @@ def run(self): cwd=os.path.dirname(self.modelpath), env=JNeuroMLEngine.get_environment(), ) - + self.stdout = check_output( - [self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath.replace('.xml','.ode'), '-silent'], + [ + self.environment_vars["XPP_HOME"] + "/xppaut", + self.modelpath.replace(".xml", ".ode"), + "-silent", + ], cwd=os.path.dirname(self.modelpath), ) diff --git a/omv/engines/moose_.py b/omv/engines/moose_.py index 2ded9e4..9bfd0e5 100644 --- a/omv/engines/moose_.py +++ b/omv/engines/moose_.py @@ -10,7 +10,6 @@ class MooseEngine(OMVEngine): name = "Moose" - @staticmethod def is_installed(): ret = True diff --git a/omv/engines/pyneuroml_.py b/omv/engines/pyneuroml_.py index 0c449b1..a0377d9 100644 --- a/omv/engines/pyneuroml_.py +++ b/omv/engines/pyneuroml_.py @@ -42,7 +42,6 @@ def install(version): inform("Failure to install, exiting", indent=1) exit(1) - def run(self): try: inform( diff --git a/omv/engines/pyneuromlvalidatesbml.py b/omv/engines/pyneuromlvalidatesbml.py index 5119345..8b78b25 100644 --- a/omv/engines/pyneuromlvalidatesbml.py +++ b/omv/engines/pyneuromlvalidatesbml.py @@ -3,21 +3,24 @@ from omv.common.inout import inform, trim_path, check_output from omv.engines.engine import EngineExecutionError -from omv.engines.pyneuroml_ import PyNeuroMLEngine +from omv.engines.pyneuroml_ import PyNeuroMLEngine from omv.engines.engine import PATH_DELIMITER from omv.engines.utils import resolve_paths + class PyNeuroMLValidateSBMLEngine(PyNeuroMLEngine): name = "pyNeuroML_validate_sbml" @staticmethod def is_installed(): - if not PyNeuroMLEngine.is_installed(): return False + if not PyNeuroMLEngine.is_installed(): + return False ret = True try: inform( - "Checking whether %s is installed..." % PyNeuroMLValidateSBMLEngine.name, + "Checking whether %s is installed..." + % PyNeuroMLValidateSBMLEngine.name, indent=1, verbosity=2, ) @@ -37,7 +40,8 @@ def is_installed(): @staticmethod def install(version): - if not PyNeuroMLEngine.is_installed(): PyNeuroMLEngine.install(None) + if not PyNeuroMLEngine.is_installed(): + PyNeuroMLEngine.install(None) from omv.engines.getlibsbml import install_libsbml @@ -54,19 +58,20 @@ def run(self): verbosity=1, ) - #pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable + # pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable cmds = ["pynml", "-validate-sbml"] for p in path_s: cmds.append(p) inform( - "Running with %s, using: %s..." % (PyNeuroMLValidateSBMLEngine.name, cmds), + "Running with %s, using: %s..." + % (PyNeuroMLValidateSBMLEngine.name, cmds), indent=1, ) self.stdout = check_output( cmds, - cwd=os.path.dirname(self.modelpath.split(PATH_DELIMITER)[0]) - #env=PyNeuroMLEngine.get_environment(), + cwd=os.path.dirname(self.modelpath.split(PATH_DELIMITER)[0]), + # env=PyNeuroMLEngine.get_environment(), ) inform( "Success with running ", @@ -76,8 +81,9 @@ def run(self): ) self.returncode = 0 except sp.CalledProcessError as err: - inform("Error with ", PyNeuroMLValidateSBMLEngine.name, indent=1, verbosity=1) + inform( + "Error with ", PyNeuroMLValidateSBMLEngine.name, indent=1, verbosity=1 + ) self.returncode = err.returncode self.stdout = err.output raise EngineExecutionError - diff --git a/omv/engines/pyneuromlxpp.py b/omv/engines/pyneuromlxpp.py index 5708f68..1b14201 100644 --- a/omv/engines/pyneuromlxpp.py +++ b/omv/engines/pyneuromlxpp.py @@ -3,44 +3,40 @@ from omv.common.inout import inform, trim_path, check_output from omv.engines.engine import EngineExecutionError -from omv.engines.pyneuroml_ import PyNeuroMLEngine +from omv.engines.pyneuroml_ import PyNeuroMLEngine from omv.engines.engine import PATH_DELIMITER from omv.engines.utils import resolve_paths + class PyNeuroMLXppEngine(PyNeuroMLEngine): name = "pyNEURON_XPP_LEMS" @staticmethod def is_installed(): pynml_ver = PyNeuroMLEngine.is_installed() - if not pynml_ver: + if not pynml_ver: return False else: return pynml_ver - @staticmethod def install(version): - if not PyNeuroMLEngine.is_installed(): PyNeuroMLEngine.install(version) - + if not PyNeuroMLEngine.is_installed(): + PyNeuroMLEngine.install(version) def run(self): try: - - #pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable + # pynml = PyNeuroMLEngine.get_executable() #could implement more flexible way to find the executeable cmds = ["pynml-xpp"] cmds.append(self.modelpath) - cmds.append('-lems') - cmds.append('-run') + cmds.append("-lems") + cmds.append("-run") inform( "Running with %s, using: %s..." % (PyNeuroMLXppEngine.name, cmds), indent=1, ) - self.stdout = check_output( - cmds, - cwd=os.path.dirname(self.modelpath) - ) + self.stdout = check_output(cmds, cwd=os.path.dirname(self.modelpath)) inform( "Success with running ", PyNeuroMLXppEngine.name, @@ -53,4 +49,3 @@ def run(self): self.returncode = err.returncode self.stdout = err.output raise EngineExecutionError - diff --git a/omv/engines/pyneuron.py b/omv/engines/pyneuron.py index 81affef..bd05b75 100644 --- a/omv/engines/pyneuron.py +++ b/omv/engines/pyneuron.py @@ -72,9 +72,7 @@ def run(self): ) cmd = """\ %s - """ % ( - "\n".join(self.extra_pars) - ) + """ % ("\n".join(self.extra_pars)) if sys.version_info[0] == 3: c = dedent(cmd).encode() else: diff --git a/omv/engines/xpp.py b/omv/engines/xpp.py index 0239af9..0d97429 100644 --- a/omv/engines/xpp.py +++ b/omv/engines/xpp.py @@ -12,7 +12,6 @@ class XppEngine(OMVEngine): @staticmethod def get_xpp_environment(): - # Default, if it was installed by omv... xpppath = os.path.join(os.environ["HOME"], "xppaut/bin") @@ -36,7 +35,7 @@ def is_installed(): [environment_vars["XPP_HOME"] + "/xppaut", "-version"], verbosity=2 ) if "Problem" in r: - ret = 'v???' + ret = "v???" else: ret = "%s" % r.split()[2] @@ -68,7 +67,11 @@ def run(self): indent=1, ) self.stdout = check_output( - [self.environment_vars["XPP_HOME"] + "/xppaut", self.modelpath, '-silent'], + [ + self.environment_vars["XPP_HOME"] + "/xppaut", + self.modelpath, + "-silent", + ], cwd=os.path.dirname(self.modelpath), ) self.returncode = 0 diff --git a/omv/omv_util.py b/omv/omv_util.py index c81ce1f..3f130c7 100644 --- a/omv/omv_util.py +++ b/omv/omv_util.py @@ -22,6 +22,7 @@ --ignore-non-py3 If Python 3, ignore tests on non Py3 compatible engines [default: False] -y Auto-select default options (non-interactive mode) """ + from docopt import docopt from omv.find_tests import test_all, test_one from omv.validation import validate_mep @@ -351,7 +352,6 @@ def _install_engine(eng): install_genesis() elif eng.lower() == "Moose".lower(): - from omv.engines.moose_ import MooseEngine as ee if ee.is_installed(): @@ -367,7 +367,6 @@ def _install_engine(eng): 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 diff --git a/omv/validation/validate.py b/omv/validation/validate.py index 2c9ee48..ea70271 100644 --- a/omv/validation/validate.py +++ b/omv/validation/validate.py @@ -4,7 +4,6 @@ class OMVValidator(RXSchemaValidator): - def __init__(self): super(OMVValidator, self).__init__() self.add_osb_prefix() @@ -18,10 +17,10 @@ def register_osb_types(self): self.omv_types = {} from glob import glob - #typedir = resource_filename("omv", "schemata/types/") + # typedir = resource_filename("omv", "schemata/types/") typedir = dirname(dirname(__file__)) + "/schemata/types/" - print("Type directory: %s"%typedir) + print("Type directory: %s" % typedir) for omv in glob(typedir + "*.yaml") + glob(typedir + "/base/*.yaml"): tag = self.prefix + splitext(basename(omv))[0] diff --git a/omv/validation/validate_mep.py b/omv/validation/validate_mep.py index 42808d1..2b23be8 100755 --- a/omv/validation/validate_mep.py +++ b/omv/validation/validate_mep.py @@ -7,7 +7,7 @@ def validate(mep_src): s = OMVValidator() print("Validating document againt mep schema: ") - #schema = resource_filename("omv", "schemata/mep.yaml") + # schema = resource_filename("omv", "schemata/mep.yaml") schema = dirname(dirname(__file__)) + "/schemata/mep.yaml" print(s.validate(schema, mep_src)) From de4f1a8458275a82ad5530fc00b8ed3d37a724c2 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 28 Feb 2025 10:05:22 +0000 Subject: [PATCH 3/4] More ruff fixes --- omv/autogen.py | 2 +- omv/common/inout.py | 2 +- omv/engines/engine.py | 5 ++--- omv/engines/getarbor.py | 2 +- omv/engines/getbrian1.py | 1 - omv/engines/getbrian2.py | 2 +- omv/engines/getxpp.py | 2 -- omv/engines/jneuroml.py | 2 +- omv/engines/moose_.py | 2 +- omv/engines/nestsli.py | 2 +- omv/engines/neuron_.py | 2 +- omv/engines/pylems.py | 1 - omv/engines/pyneuroml_.py | 2 +- omv/engines/pyneuromlvalidatesbml.py | 2 +- omv/engines/pyneuromlxpp.py | 4 +--- omv/engines/pyneuron.py | 2 +- omv/engines/pynn.py | 2 +- omv/engines/utils/__init__.py | 6 +++--- omv/engines/xpp.py | 3 +-- omv/find_tests.py | 2 +- omv/omv_util.py | 2 +- omv/parse_omt.py | 2 +- omv/tally.py | 10 +++++----- utilities/test_all_osb_projects.py | 3 +-- 24 files changed, 28 insertions(+), 37 deletions(-) diff --git a/omv/autogen.py b/omv/autogen.py index 1ae574a..053e228 100644 --- a/omv/autogen.py +++ b/omv/autogen.py @@ -27,7 +27,7 @@ def read_option(options, default=0): opt = None while opt is None: try: - sel = int(raw_input("Select option number [default: %s]: " % default)) + sel = int(input("Select option number [default: %s]: " % default)) opt = options[sel] except IndexError: print("invalid index!") diff --git a/omv/common/inout.py b/omv/common/inout.py index 27cf80a..2a3e194 100644 --- a/omv/common/inout.py +++ b/omv/common/inout.py @@ -103,7 +103,7 @@ def check_output(cmds, cwd=".", shell=False, verbosity=0, env=None): if env: joint_env.update(env) for k in os.environ: - if not k in joint_env: + if k not in joint_env: joint_env[k] = os.environ[k] try: diff --git a/omv/engines/engine.py b/omv/engines/engine.py index c4b3eef..67820a2 100644 --- a/omv/engines/engine.py +++ b/omv/engines/engine.py @@ -1,6 +1,5 @@ from os.path import realpath from os import environ -import sys from omv.common.inout import inform import platform @@ -78,8 +77,8 @@ def build_query_string(self, name, cmd): def set_environment(self): if self.environment_vars: for name, val in self.environment_vars.items(): - if name in environ and not "HOME" in name: - if not ":%s:" % val in environ[name]: + if name in environ and "HOME" not in name: + if ":%s:" % val not in environ[name]: environ[name] = "%s:%s" % (environ[name], val) else: environ[name] = val diff --git a/omv/engines/getarbor.py b/omv/engines/getarbor.py index 19ca207..40c9115 100644 --- a/omv/engines/getarbor.py +++ b/omv/engines/getarbor.py @@ -8,7 +8,7 @@ def install_arbor(version=None): pip_install("arbor==%s" % version) import arbor - m = "Successfully installed Arbor..." + m = "Successfully installed Arbor %s..."%arbor.__version__ except Exception as e: m = "ERROR installing Arbor: " + str(e) finally: diff --git a/omv/engines/getbrian1.py b/omv/engines/getbrian1.py index 5f37f62..12d188e 100644 --- a/omv/engines/getbrian1.py +++ b/omv/engines/getbrian1.py @@ -1,5 +1,4 @@ import os -import pip from omv.common.inout import inform, check_output from omv.engines.utils.wdir import working_dir diff --git a/omv/engines/getbrian2.py b/omv/engines/getbrian2.py index 3c3fc6e..68f7c6a 100644 --- a/omv/engines/getbrian2.py +++ b/omv/engines/getbrian2.py @@ -10,7 +10,7 @@ def install_brian2(version): pip_install("brian2", version) import brian2 - m = "Successfully installed Brian2..." + m = "Successfully installed Brian2 %s..."%brian2.__version__ except Exception as e: m = "ERROR installing Brian2: " + str(e) finally: diff --git a/omv/engines/getxpp.py b/omv/engines/getxpp.py index 48ee76b..6b52936 100644 --- a/omv/engines/getxpp.py +++ b/omv/engines/getxpp.py @@ -3,9 +3,7 @@ from omv.engines.utils.wdir import working_dir from sysconfig import get_paths -import sys -import fileinput def install_xpp(version="latest"): diff --git a/omv/engines/jneuroml.py b/omv/engines/jneuroml.py index f40f21a..f5158c5 100644 --- a/omv/engines/jneuroml.py +++ b/omv/engines/jneuroml.py @@ -24,7 +24,7 @@ def get_environment(): jnmlhome = os.path.join( os.environ["XDG_DATA_HOME"], "jnml/jNeuroMLJar" ) - except KeyError as e: + except KeyError: localsharepath = os.path.join(os.environ["HOME"], ".local/share") if os.path.isdir(localsharepath): jnmlhome = os.path.join( diff --git a/omv/engines/moose_.py b/omv/engines/moose_.py index 9bfd0e5..7272f41 100644 --- a/omv/engines/moose_.py +++ b/omv/engines/moose_.py @@ -3,7 +3,7 @@ from omv.engines.pyneuroml_ import PyNeuroMLEngine -from omv.common.inout import inform, trim_path, check_output, is_verbose +from omv.common.inout import inform, trim_path, check_output from omv.engines.engine import OMVEngine, EngineExecutionError diff --git a/omv/engines/nestsli.py b/omv/engines/nestsli.py index 1933c66..fc8960b 100644 --- a/omv/engines/nestsli.py +++ b/omv/engines/nestsli.py @@ -42,7 +42,7 @@ def is_installed(): if "-" in ret: ret = "v%s" % ret.split("-")[-1] - if not "v" in ret: + if "v" not in ret: ret = "v%s" % ret inform("NEST %s is correctly installed..." % ret, indent=2, verbosity=1) diff --git a/omv/engines/neuron_.py b/omv/engines/neuron_.py index 9afe91b..5586e85 100644 --- a/omv/engines/neuron_.py +++ b/omv/engines/neuron_.py @@ -42,7 +42,7 @@ def get_nrn_environment(): environment_vars = {"PYTHONPATH": pp} - if not "NEURON_HOME" in os.environ: + if "NEURON_HOME" not in os.environ: pip_install_dir1 = "/usr/local" pip_install_nrniv1 = os.path.join(pip_install_dir1, "bin", "nrniv") scripts_bin = get_paths()["scripts"] diff --git a/omv/engines/pylems.py b/omv/engines/pylems.py index 213a630..642a464 100644 --- a/omv/engines/pylems.py +++ b/omv/engines/pylems.py @@ -1,6 +1,5 @@ import os import subprocess as sp -import sys from omv.common.inout import inform, trim_path, check_output, is_verbose from omv.engines.engine import OMVEngine, EngineExecutionError diff --git a/omv/engines/pyneuroml_.py b/omv/engines/pyneuroml_.py index a0377d9..f92983a 100644 --- a/omv/engines/pyneuroml_.py +++ b/omv/engines/pyneuroml_.py @@ -1,7 +1,7 @@ import os import subprocess as sp -from omv.common.inout import inform, trim_path, is_verbose, check_output +from omv.common.inout import inform, trim_path, check_output from omv.engines.engine import OMVEngine, EngineExecutionError diff --git a/omv/engines/pyneuromlvalidatesbml.py b/omv/engines/pyneuromlvalidatesbml.py index 8b78b25..dda80fe 100644 --- a/omv/engines/pyneuromlvalidatesbml.py +++ b/omv/engines/pyneuromlvalidatesbml.py @@ -1,7 +1,7 @@ import os import subprocess as sp -from omv.common.inout import inform, trim_path, check_output +from omv.common.inout import inform, check_output from omv.engines.engine import EngineExecutionError from omv.engines.pyneuroml_ import PyNeuroMLEngine from omv.engines.engine import PATH_DELIMITER diff --git a/omv/engines/pyneuromlxpp.py b/omv/engines/pyneuromlxpp.py index 1b14201..47ed0ad 100644 --- a/omv/engines/pyneuromlxpp.py +++ b/omv/engines/pyneuromlxpp.py @@ -1,11 +1,9 @@ import os import subprocess as sp -from omv.common.inout import inform, trim_path, check_output +from omv.common.inout import inform, check_output from omv.engines.engine import EngineExecutionError from omv.engines.pyneuroml_ import PyNeuroMLEngine -from omv.engines.engine import PATH_DELIMITER -from omv.engines.utils import resolve_paths class PyNeuroMLXppEngine(PyNeuroMLEngine): diff --git a/omv/engines/pyneuron.py b/omv/engines/pyneuron.py index bd05b75..d4bed3e 100644 --- a/omv/engines/pyneuron.py +++ b/omv/engines/pyneuron.py @@ -6,7 +6,7 @@ from omv.engines.neuron_ import NeuronEngine -from omv.common.inout import inform, is_verbose, check_output +from omv.common.inout import inform, is_verbose from omv.engines.engine import EngineExecutionError diff --git a/omv/engines/pynn.py b/omv/engines/pynn.py index 4965fe3..c4cdbb8 100644 --- a/omv/engines/pynn.py +++ b/omv/engines/pynn.py @@ -1,7 +1,7 @@ import os import subprocess as sp -from omv.common.inout import inform, trim_path, check_output, is_verbose +from omv.common.inout import inform, trim_path, check_output from omv.engines.engine import OMVEngine, EngineExecutionError diff --git a/omv/engines/utils/__init__.py b/omv/engines/utils/__init__.py index dec201d..d5c4994 100644 --- a/omv/engines/utils/__init__.py +++ b/omv/engines/utils/__init__.py @@ -1,9 +1,10 @@ from omv.engines.engine import PATH_DELIMITER + def resolve_paths(path_s): - ''' + """ Make explicit list from: '*.nml myfile.xml' etc. - ''' + """ if "*" in path_s: import glob @@ -18,4 +19,3 @@ def resolve_paths(path_s): path_s = glob.glob(path_s) return path_s - diff --git a/omv/engines/xpp.py b/omv/engines/xpp.py index 0d97429..933097e 100644 --- a/omv/engines/xpp.py +++ b/omv/engines/xpp.py @@ -1,5 +1,4 @@ import os -import sys import subprocess as sp @@ -39,7 +38,7 @@ def is_installed(): else: ret = "%s" % r.split()[2] - if not "v" in ret: + if "v" not in ret: ret = "v%s" % ret inform("XPP %s is correctly installed..." % ret, indent=2, verbosity=1) diff --git a/omv/find_tests.py b/omv/find_tests.py index 38886f4..e99916f 100644 --- a/omv/find_tests.py +++ b/omv/find_tests.py @@ -93,7 +93,7 @@ def test_all( engs = {} tot_tests = 0 for t in tallies: - if not t.engine in engs: + if t.engine not in engs: engs[t.engine] = 0 engs[t.engine] += 1 tot_tests += 1 diff --git a/omv/omv_util.py b/omv/omv_util.py index 3f130c7..364a292 100644 --- a/omv/omv_util.py +++ b/omv/omv_util.py @@ -156,7 +156,7 @@ def main(): try: exec("import %s" % m) installed_ver = "v%s" % eval("%s.__version__" % m) - except: + except Exception: pass inform( " %s%s(installed: %s)" % (m, " " * (30 - len(m)), installed_ver) diff --git a/omv/parse_omt.py b/omv/parse_omt.py index 13ae927..4a93e3e 100644 --- a/omv/parse_omt.py +++ b/omv/parse_omt.py @@ -20,7 +20,7 @@ def parse_omt(omt_path, do_not_run=False, engine_version=None, ignore_non_py3=Fa ) mepomt = OMVTestParser(omt_path) - if not mepomt.engine in OMVEngines: + if mepomt.engine not in OMVEngines: inform( "Error! Unrecognised engine: %s (try running: omv list-engines)" % mepomt.engine diff --git a/omv/tally.py b/omv/tally.py index 286a556..8837604 100644 --- a/omv/tally.py +++ b/omv/tally.py @@ -21,7 +21,7 @@ def add_experiment(self, exp, results): self.experiments[exp.name] = results def __lt__(self, other): - if other.mep == None: + if other.mep is None: return True return self.omt < other.omt @@ -44,17 +44,17 @@ class TallyHolder(object): all_engines = [] def add(self, tally): - if not tally.engine in self.all_engines: + if tally.engine not in self.all_engines: self.all_engines.append(tally.engine) mp = trim_path(tally.modelpath) - if not mp in self.tallies: + if mp not in self.tallies: self.tallies[mp] = {} mptallies = self.tallies[mp] - if not tally.engine in mptallies: + if tally.engine not in mptallies: mptallies[tally.engine] = [] mptallies[tally.engine].append(tally) @@ -84,7 +84,7 @@ def summary(self): mptallies = self.tallies[mp] for engine in self.all_engines: - if not engine in mptallies: + if engine not in mptallies: info = "%s" % (" ") summary += " " * (len(engine) - len(info) - 2) + info + " | " else: diff --git a/utilities/test_all_osb_projects.py b/utilities/test_all_osb_projects.py index 883dd7a..10b1f7d 100644 --- a/utilities/test_all_osb_projects.py +++ b/utilities/test_all_osb_projects.py @@ -9,7 +9,6 @@ import shutil import datetime import pprint -import sys from subprocess import check_output as co from omv.find_tests import test_all @@ -215,7 +214,7 @@ try: test_all(ignore_non_py3=True) passing_projects += 1 - except: + except Exception: passed = 0 failing_projects += 1 fails.append(target_dir) From a23307265a605f5d922ed8041627eaa39ab1126b Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 28 Feb 2025 10:37:46 +0000 Subject: [PATCH 4/4] To v0.3.6 --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index ee54da5..a8e8a40 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = OSBModelValidation -version = 0.3.5 +version = 0.3.6 author = Boris Marin, Padraig Gleeson author_email = borismarin@gmail.com url = https://github.com/OpenSourceBrain/osb-model-validation