From 7bc692362b7640e86fe6a8de3b679f71b8938cb2 Mon Sep 17 00:00:00 2001 From: Robin De Schepper <robingilbert.deschepper@unipv.it> Date: Tue, 26 Sep 2023 12:40:48 +0200 Subject: [PATCH] Add BSB package --- packages/py-bsb-hdf5/package.py | 22 ++++++++++++++ packages/py-bsb/package.py | 51 +++++++++++++++++++++++++++++++++ packages/py-colour/package.py | 18 ++++++++++++ packages/py-errr/package.py | 19 ++++++++++++ packages/py-pynrrd/package.py | 21 ++++++++++++++ spack.yaml | 1 + 6 files changed, 132 insertions(+) create mode 100644 packages/py-bsb-hdf5/package.py create mode 100644 packages/py-bsb/package.py create mode 100644 packages/py-colour/package.py create mode 100644 packages/py-errr/package.py create mode 100644 packages/py-pynrrd/package.py diff --git a/packages/py-bsb-hdf5/package.py b/packages/py-bsb-hdf5/package.py new file mode 100644 index 00000000..bd50769d --- /dev/null +++ b/packages/py-bsb-hdf5/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyBsbHdf5(PythonPackage): + """An HDF-5 based storage engine for the BSB framework.""" + + homepage = "https://github.com/dbbs-lab/bsb-hdf5" + url = "https://pypi.org/packages/py3/b/bsb_hdf5/bsb_hdf5-0.8.3-py3-none-any.whl" + + maintainers = ["helveg"] + + version('0.8.3', sha256="38162bfe9470b87cb30a2bff78dce68fc1b97f2df7d7e3b288c16b671f7579e5", expand=False) + + depends_on("py-setuptools", type="build") + # depends_on("py-bsb@4.0.0a57:") + depends_on("py-shortuuid") + depends_on("py-h5py@3.0:") diff --git a/packages/py-bsb/package.py b/packages/py-bsb/package.py new file mode 100644 index 00000000..fad71af2 --- /dev/null +++ b/packages/py-bsb/package.py @@ -0,0 +1,51 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyBsb(PythonPackage): + """ + The BSB is a component framework for neural modeling, which focuses on component + declarations to piece together a model. + """ + + homepage = "https://bsb.readthedocs.io" + url = "https://pypi.org/packages/py3/b/bsb/bsb-4.0.0a57-py3-none-any.whl" + + maintainers = ["helveg"] + + version("4.0.0a57", sha256="5da15799aa8994894ff5371561d534b43beffaa79461189c94080071359f4076", expand=False) + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-numpy@1.19:") + depends_on("py-scipy@1.5:") + depends_on("py-scikit-learn@1.0:") + depends_on("py-plotly") + depends_on("py-rtree@1.0:") + depends_on("py-psutil@5.8:") + depends_on("py-pynrrd@1.0:") + depends_on("py-toml") + depends_on("py-requests") + depends_on("py-appdirs@1.4:") + depends_on("py-neo") + depends_on("py-tqdm@4.50:") + depends_on("py-shortuuid") + depends_on("py-quantities") + depends_on("py-pyyaml@6.0:") + depends_on("py-morphio@3.3:") + depends_on("py-bsb-hdf5@0.8.3:") + depends_on("py-errr@1.2.0:") + depends_on("py-colour@0.1.5:") + + def setup_build_environment(self, env): + env.set("SPATIALINDEX_C_LIBRARY", self.spec["libspatialindex"].libs[0]) + + def setup_run_environment(self, env): + self.setup_build_environment(env) + + skip_modules = ['bsb.simulators.arbor', 'bsb.simulators.arbor.devices'] + diff --git a/packages/py-colour/package.py b/packages/py-colour/package.py new file mode 100644 index 00000000..5a55b8f9 --- /dev/null +++ b/packages/py-colour/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyColour(PythonPackage): + """Python color representations manipulation library (RGB, HSL, web, ...)""" + + homepage = "https://github.com/vaab/colour" + pypi = "colour/colour-0.1.5.tar.gz" + + maintainers = ["vaab"] + + version("0.1.5", sha256="af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee") + depends_on("py-setuptools", type="build") diff --git a/packages/py-errr/package.py b/packages/py-errr/package.py new file mode 100644 index 00000000..1c699d0c --- /dev/null +++ b/packages/py-errr/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyErrr(PythonPackage): + """Elegant Python exception factories""" + + homepage = "https://github.com/Helveg/errr" + pypi = "errr/errr-1.2.0.tar.gz" + + maintainers = ["helveg"] + + version("1.2.0", sha256="2824b83edbd1f61d354c60e36400b2e31ab83e2094acb837b86686892b866e76") + + depends_on("py-setuptools", type="build") diff --git a/packages/py-pynrrd/package.py b/packages/py-pynrrd/package.py new file mode 100644 index 00000000..99093c34 --- /dev/null +++ b/packages/py-pynrrd/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPynrrd(PythonPackage): + """Python library for reading and writing NRRD files into and from numpy arrays""" + + homepage = "https://github.com/mhe/pynrrd" + pypi = "pynrrd/pynrrd-0.4.0.tar.gz" + + version("1.0.0", sha256="4eb4caba03fbca1b832114515e748336cb67bce70c7f3ae36bfa2e135fc990d2") + + depends_on("py-setuptools", type="build") + depends_on("py-numpy@1.11.1:", type=("build", "run")) + depends_on("py-nptyping", type=("build", "run")) + depends_on("py-typing-extensions", type=("build", "run")) + diff --git a/spack.yaml b/spack.yaml index 83560046..99109726 100644 --- a/spack.yaml +++ b/spack.yaml @@ -19,6 +19,7 @@ spack: - py-bluepyefe@2.2.18 - py-bluepymm@0.7.65 - py-bluepyopt@1.13.86 + - py-bsb@4.0.0a57 - py-ebrains-drive@0.5.1 - py-ebrains-kg-core@0.9.15 - py-efel@4.0.4 -- GitLab