diff --git a/operations/track_spack_releases.xlsx b/operations/track_spack_releases.xlsx
index f4a99b2b76ef0c995c6332e437bd8573a2f2c6c9..4f6f87f8155cb580a66489fc44c8b64db035dc45 100644
Binary files a/operations/track_spack_releases.xlsx and b/operations/track_spack_releases.xlsx differ
diff --git a/packages/biobb-md/.gitkeep b/packages/biobb-md/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/packages/biobb-md/package.py b/packages/biobb-md/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..4453fb36f1aaa21bb2a5b6ce0cec969d8cb1b355
--- /dev/null
+++ b/packages/biobb-md/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class BiobbMd(PythonPackage):
+    """Biobb_md is the Biobb module collection to perform molecular
+    dynamics simulations"""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_md"
+    git = 'https://github.com/bioexcel/biobb_md.git'
+
+    # Versions
+    version('3.7.1', branch='master')
+
+    # Dependencies
+    depends_on('biobb-common')
+    depends_on('python@3.7:', type=('build', 'run'))
+    depends_on('gromacs')
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..5934d9093cd5d167b8968bd07e1a5d7ac61d3056
--- /dev/null
+++ b/packages/oppulance/package.py
@@ -0,0 +1,69 @@
+# Copyright 2013-2022 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 import *
+import os
+
+class Oppulance(Package):
+    """SDK for embedded processors on BrainScaleS-2"""
+
+    homepage = "https://github.com/electronicvisions/oppulance"
+
+    # PPU compiler dependencies
+    depends_on('gettext')
+    depends_on('zlib')
+    depends_on('bison')
+    depends_on('flex@2.6.4:')
+    depends_on('m4')
+    depends_on('texinfo')
+    depends_on('wget')
+
+    releases = [
+        {
+            'version': '2.0-rc1',
+            'tag': 'ebrains_release-2-rc1'
+        },
+    ]
+
+    for release in releases:
+        version(
+            release['version'],
+            git='https://github.com/electronicvisions/oppulance',
+            tag=release['tag'],
+            expand=False,
+        )
+
+        for res in ['binutils-gdb', 'gcc', 'newlib']:
+            resource(
+                name=res,
+                git='https://github.com/electronicvisions/{}'.format(res),
+                tag=release['tag'],
+                expand=False,
+                placement=res
+            )
+
+    def do_fetch(self, mirror_only=False):
+        super(Oppulance, self).do_fetch(mirror_only)
+        mkdirp(self.stage.source_path)
+        tar = which('tar')
+        ln = which('ln')
+        bash = which('bash')
+        with working_dir(self.stage.source_path):
+            for key in self.resources:
+                for res in self.resources[key]:
+                    if res.fetcher.stage.archive_file:
+                        tar('xf', res.fetcher.stage.archive_file)
+                    else:
+                        # freshly download
+                        ln('-sf', res.fetcher.stage.source_path, res.name)
+            bash('gcc/ci/00_download_prerequisites.sh')
+
+    def install(self, spec, prefix):
+        bash = which('bash')
+        bash('binutils-gdb/ci/00_build_install.sh')
+        bash('gcc/ci/01_build_install_freestanding.sh')
+        bash('newlib/ci/00_build_install.sh')
+        bash('ci/00_build_install_libstdc++.sh')
+        mkdirp(spec.prefix)
+        install_tree('install/.', spec.prefix)
diff --git a/packages/py-elephant/package.py b/packages/py-elephant/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..984b0a92b986bb2dc0a6d52412db4d72fef9503a
--- /dev/null
+++ b/packages/py-elephant/package.py
@@ -0,0 +1,54 @@
+# Copyright 2013-2022 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 import *
+
+
+class PyElephant(PythonPackage):
+    """Elephant is a package for analysis of electrophysiology data in Python
+    """
+
+    homepage = "http://neuralensemble.org/elephant/"
+    pypi = "elephant/elephant-0.11.0.tar.gz"
+    git = "https://github.com/NeuralEnsemble/elephant.git"
+
+    # list of GitHub accounts to notify when the package is updated.
+    maintainers = ['Moritz-Alexander-Kern']
+
+    version('0.11.1', sha256='d604a202583440fdf9d95d42cef50a410bd74fcaaa1a925b139435f27ab012ef')
+    version('0.11.0', sha256='7b547964dbd196361edc922db2c5a7c0c886ef1effcca6c6dc7adb06f966a3be')
+    version('0.10.0', sha256='7e69a113475e4db01b3563328953c037d37f1597d9f2edf0d51fb65e9aebf096')
+    version('0.9.0', sha256='3e3d4a8e45d708f48bdcadcc4933c66f757d1ede6a1e172af0c07331b64ca180')
+    version('0.8.0', sha256='f7c2649d5b7cfdbaa4442457c75f86af01cc8e7ce2c63f5b3d4687bb94e10af2')
+    version('0.7.0', sha256='76785fe10c40042504928fde2fc57182230bbe39cf0fb0dcaffaba76219b046a')
+    version('0.6.4', sha256='b8c5f2c00ad3249e1fe428d0b8a1dbcaee4a69464481f5f8fd55d2f7f22c45a3')
+    version('0.4.1', sha256='86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81')
+    version('0.3.0', sha256='747251ccfb5820bdead6391411b5faf205b4ddf3ababaefe865f50b16540cfef')
+
+    variant('docs', default=False, description='Install documentation dependencies')
+    variant('pandas', default=False, description='Build with pandas', when='@0.3.0:0.4.1')
+    variant('extras', default=True, description='Build with extras for GPFA, ASSET', when='@0.6.4:')
+
+    depends_on('py-setuptools', type='build')
+    depends_on('python@3.7:', type=('build', 'run'), when='@0.11.0:')
+    depends_on('py-neo@0.3.4:', type=('build', 'run'), when='@0.3.0:0.4.1')  # > 0.3.3 ?
+    depends_on('py-numpy@1.8.2:', type=('build', 'run'), when='@0.3.0:0.4.1')
+    depends_on('py-quantities@0.10.1:', type=('build', 'run'), when='@0.3.0:0.4.1')
+    depends_on('py-scipy@0.14.0:', type=('build', 'run'), when='@0.3.0:0.4.1')
+    depends_on('py-pandas@0.14.1:', type=('build', 'run'), when='+pandas')
+    depends_on('py-numpydoc@0.5:', type=('build', 'run'), when='+docs')
+    depends_on('py-sphinx@1.2.2:', type=('build', 'run'), when='+docs')
+    depends_on('py-pandas@0.18.0:', type=('build', 'run'), when='+extras')
+    depends_on('py-scikit-learn@0.23.2:', type=('build', 'run'), when='+extras')
+    depends_on('py-statsmodels@0.12.1:', type=('build', 'run'), when='+extras')
+    depends_on('py-jinja2@2.11.2:', type=('build', 'run'), when='+extras')
+    depends_on('py-neo@0.10.0:', type=('build', 'run'), when='@0.11.0:')
+    depends_on('py-neo@0.9.0', type=('build', 'run'), when='@0.9.0:0.10.0')
+    depends_on('py-neo@0.8.0', type=('build', 'run'), when='@0.6.4:0.8.0')
+    depends_on('py-numpy@1.18.1:', type=('build', 'run'), when='@0.6.4:')
+    depends_on('py-quantities@0.12.1:', type=('build', 'run'), when='@0.6.4:')
+    depends_on('py-scipy@1.5.4:', type=('build', 'run'), when='@0.6.4:')
+    depends_on('py-six@1.10.0:', type=('build', 'run'), when='@0.6.4:')
+    depends_on('py-tqdm', type=('build', 'run'), when='@0.6.4:')
diff --git a/packages/py-frites/package.py b/packages/py-frites/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..33622ed8765cfc6d15d625cd270b7df40cf1dfa1
--- /dev/null
+++ b/packages/py-frites/package.py
@@ -0,0 +1,61 @@
+# Copyright 2013-2022 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)
+
+# ----------------------------------------------------------------------------
+# If you submit this package back to Spack as a pull request,
+# please first remove this boilerplate and all FIXME comments.
+#
+# This is a template package file for Spack.  We've put "FIXME"
+# next to all the things you'll want to change. Once you've handled
+# them, you can save this file and test your package like this:
+#
+#     spack install py-frites
+#
+# You can edit this file again by typing:
+#
+#     spack edit py-frites
+#
+# See the Spack documentation for more information on packaging.
+# ----------------------------------------------------------------------------
+
+from spack import *
+
+
+class PyFrites(PythonPackage):
+    """Frites is a Python toolbox for assessing information-based measures on
+    human and animal neurophysiological data (M/EEG, Intracranial)."""
+
+    # FIXME: Add a proper url for your package's homepage here.
+    homepage = "https://brainets.github.io/frites/"
+    pypi     = "frites/frites-0.4.2.tar.gz"
+
+    # FIXME: Add a list of GitHub accounts to
+    # notify when the package is updated.
+    # maintainers = ['github_user1', 'github_user2']
+
+    version('0.4.2', sha256='5da63f6f91515ff0dbed0252a75fcbdeade4311bfd28d08cd644c89c85e6ac5a')
+
+    # FIXME: Only add the python/pip/wheel dependencies if you need specific versions
+    # or need to change the dependency type. Generic python/pip/wheel dependencies are
+    # added implicity by the PythonPackage base class.
+    depends_on('python@3.7:', type=('build', 'run'))
+    # depends_on('py-pip@X.Y:', type='build')
+    # depends_on('py-wheel@X.Y:', type='build')
+
+    # FIXME: Add a build backend, usually defined in pyproject.toml. If no such file
+    # exists, use setuptools.
+    depends_on('py-setuptools', type='build')
+    # depends_on('py-flit-core', type='build')
+    # depends_on('py-poetry-core', type='build')
+
+    # FIXME: Add additional dependencies if required.
+    depends_on('py-numpy', type=('build', 'run'))
+    depends_on('py-scipy', type=('build', 'run'))
+    depends_on('py-mne', type=('build', 'run'))
+    depends_on('py-joblib', type=('build', 'run'))
+    depends_on('py-xarray', type=('build', 'run'))
+    depends_on('py-netcdf4', type=('build', 'run'))
+    depends_on('py-h5netcdf', type=('build', 'run'))
+    depends_on('py-scikit-learn', type=('build', 'run'))
diff --git a/packages/py-neo/package.py b/packages/py-neo/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..8d4116ee155bc01164d7484304432e8b5f48362b
--- /dev/null
+++ b/packages/py-neo/package.py
@@ -0,0 +1,33 @@
+# Copyright 2013-2022 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 import *
+
+
+class PyNeo(PythonPackage):
+    """Neo is a package for representing electrophysiology data in Python,
+    together with support for reading a wide range of neurophysiology
+    file formats"""
+
+    homepage = "https://neuralensemble.org/neo"
+    pypi = "neo/neo-0.4.1.tar.gz"
+
+    version('0.10.2', sha256='2d4218b0826daeea880e155227060029ec38a00238ceb5f097138d9467c6399b') 
+    version('0.10.0', sha256='e591a53e18cfa4478603a0e133f3fa0e07bc016b2a279d21d72cf8196eca8353')
+    version('0.9.0', sha256='6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb')
+    version('0.8.0', sha256='3382a37b24a384006238b72981f1e9259de9bfa71886f8ed564d35d254ace458')
+    version('0.5.2', sha256='1de436b7d5e72a5b4f1baa68bae5b790624a9ac44b2673811cb0b6ef554d3f8b')
+
+    depends_on('py-setuptools',         type='build')
+
+    depends_on('py-numpy@1.7.1:',       type=('build', 'run'), when='@0.5.2:0.8.0')
+    depends_on('py-numpy@1.13.0:',      type=('build', 'run'), when='@0.9.0')
+    depends_on('py-numpy@1.16.1:',      type=('build', 'run'), when='@0.10.0:')
+
+    depends_on('py-quantities@0.9.0:',  type=('build', 'run'), when='@0.5.2:0.8.0')
+    depends_on('py-quantities@0.12.1:', type=('build', 'run'), when='@0.9.0:')
+
+    depends_on('py-scipy@0.12.0:',      type=('build', 'run'), when='@0.5.2:0.8.0')
+    depends_on('py-scipy@1.0.0:',      type=('build', 'run'), when='@0.9.0:')
diff --git a/packages/py-quantities/package.py b/packages/py-quantities/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bc6c11b1c5dbbe270de2ee11ac7faec7998c78f
--- /dev/null
+++ b/packages/py-quantities/package.py
@@ -0,0 +1,41 @@
+# Copyright 2013-2022 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 import *
+
+
+class PyQuantities(PythonPackage):
+    """Support for physical quantities with units, based on numpy"""
+
+    homepage = "https://python-quantities.readthedocs.org"
+    pypi = "quantities/quantities-0.12.1.tar.gz"
+    maintainers = ['apdavison']
+
+    version('0.13.0', sha256='0fde20115410de21cefa786f3aeae69c1b51bb19ee492190324c1da705e61a81')
+    version('0.12.5', sha256='67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0')
+    version('0.12.4', sha256='a33d636d1870c9e1127631185d89b0105a49f827d6aacd44ad9d8f151f331d8b')
+    version('0.12.3', sha256='582f3c7aeba897846761e966615e01202a5e5d06add304492931b05085d19883')
+    version('0.12.2', sha256='92e8397938516483f4fd1855097ec11953ab10dd0bf3293954559226679f76f0')
+    version('0.12.1', sha256='0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934')
+    version('0.11.1', sha256='4382098a501b55bf0fdb3dba2061a161041253697d78811ecfd7c55449836660',
+            url="https://pypi.io/packages/source/q/quantities/quantities-0.11.1.zip")
+
+    conflicts('^py-numpy@1.13:', when='@:0.11')
+
+    depends_on('python@2.6:2.7,3.3:3.4', type=('build', 'run'), when='@:0.11')
+    depends_on('python@2.7.0:2.7,3.4:3.6', type=('build', 'run'), when='@0.12.0:0.12.2')
+    depends_on('python@2.7.0:2.7,3.4:3.7', type=('build', 'run'), when='@0.12.3')
+    depends_on('python@2.7.0:2.7,3.4:3.8', type=('build', 'run'), when='@0.12.4:0.12.5')
+    depends_on('python@3.7:3.10', type=('build', 'run'), when='@0.13:')
+
+    # pip silently replaces distutils with setuptools
+    depends_on('py-setuptools', type='build')
+
+    depends_on('py-numpy@1.7.1:1.9', type=('build', 'run'), when='@:0.11')
+    depends_on('py-numpy@1.8.2:1.13', type=('build', 'run'), when='@0.12.0:0.12.1')
+    depends_on('py-numpy@1.8.2:1.14', type=('build', 'run'), when='@0.12.2')
+    depends_on('py-numpy@1.8.2:1.16', type=('build', 'run'), when='@0.12.3')
+    depends_on('py-numpy@1.8.2:1.17', type=('build', 'run'), when='@0.12.4:0.12')
+    depends_on('py-numpy@1.16:', type=('build', 'run'), when='@0.13.0:')
diff --git a/packages/py-viziphant/package.py b/packages/py-viziphant/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..9853eb54d5d62325cad3b8f074d7aca604cc12d9
--- /dev/null
+++ b/packages/py-viziphant/package.py
@@ -0,0 +1,29 @@
+# Copyright 2013-2022 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 import *
+
+
+class PyViziphant(PythonPackage):
+    """Viziphant is a package for the visualization of the analysis results of electrophysiology data in Python"""
+
+    homepage = "https://viziphant.readthedocs.io/en/latest/"
+    pypi = "viziphant/viziphant-0.1.0.tar.gz"
+
+    # notify when the package is updated.
+    maintainers = ['Moritz-Alexander-Kern']
+
+    version('0.2.0', sha256='044b5c92de169dfafd9665efe2c310e917d2c21980bcc9f560d5c727161f9bd8')
+    version('0.1.0', sha256='8fd56ec8633f799396dc33fbace95d2553bedb17f680a8c0e97f43b3a629bf6c')
+
+    depends_on('py-setuptools', type='build')
+    depends_on('python@3.7:3.10', type=('build', 'run'))
+    depends_on('py-neo@0.9.0:', type=('build', 'run'))
+    depends_on('py-elephant@0.9.0:', type=('build', 'run'))
+    depends_on('py-numpy@1.18.1:', type=('build', 'run'))
+    depends_on('py-quantities@0.12.1:', type=('build', 'run'))
+    depends_on('py-six@1.10.0:', type=('build', 'run'))
+    depends_on('py-matplotlib@3.3.2:', type=('build', 'run'))
+    depends_on('py-seaborn@0.9.0:', type=('build', 'run'))
diff --git a/spack.yaml b/spack.yaml
index 4e9673146608a025e3eeae6914bbfead261a8055..dd0c326ca4884f3d778b3d39d8ea8251d99e9f06 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -15,6 +15,7 @@ spack:
     - py-seaborn
     - py-matplotlib
     - py-nameparser
+    - py-lazyarray
     #- py-version-query
     # EBRAINS simulators
     - nest@3.3 +python +gsl +mpi
@@ -28,23 +29,30 @@ spack:
     - py-formencode
     - tvb-framework ^binutils+ld+gold
     - pynn-brainscales@2.0-rc1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
+    - py-neo
+    #- oppulance@2.0-rc1
     #- py-cerebstats
     #- py-cerebunit
     - py-cerebrus
     - py-sciunit@0.2.5.1
+    - py-quantities
     - py-quantities-scidash@0.12.4.3
     #- py-ebrains-drive@0.4.0
     #- py-vf-client@0.6.3
     - py-hbp-archive@1.1.1
+    - py-viziphant
     #- py-morphounit@1.0.4
     #- py-neurom@1.4.10
     #- py-morphio@3.1.1
     - py-hippounit@1.3.6
     - py-efel@4.0.4
     - py-hbp-neuromorphic-platform@0.10.1
-    - py-torch~cuda~rocm~valgrind~mkldnn~mpi~gloo~tensorpipe~onnx_ml@1.9.1 ^protobuf@:3.17.999
+    - py-torch~cuda~rocm~valgrind~mkldnn~mpi~gloo+tensorpipe~onnx_ml@1.9.1 ^protobuf@:3.17.999
     - py-lfpy@2.2.6
+    - py-elephant
+    - py-frites
     #- biobb-common
+    #- biobb-md
     # demo for codejam12
     #- funniest1022
   concretization: together