Skip to content

{bio}[foss/2024a] scvi-tools v1.4.1, scanpy v1.10.4, anndata v0.11.4, ...#25021

Merged
boegel merged 6 commits intoeasybuilders:developfrom
pavelToman:20260108145847_new_pr_scvi-tools141
Jan 20, 2026
Merged

{bio}[foss/2024a] scvi-tools v1.4.1, scanpy v1.10.4, anndata v0.11.4, ...#25021
boegel merged 6 commits intoeasybuilders:developfrom
pavelToman:20260108145847_new_pr_scvi-tools141

Conversation

@pavelToman
Copy link
Copy Markdown
Collaborator

@pavelToman pavelToman commented Jan 8, 2026

…s-2024a.eb, anndata-0.11.4-foss-2024a.eb, Lightning-2.5.2-foss-2024a.eb, ml-collections-1.1.0-foss-2024a.eb, pyro-ppl-1.9.1-foss-2024a.eb
@github-actions github-actions Bot added the 2024a issues & PRs related to 2024a common toolchains label Jan 8, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 8, 2026

Updated software anndata-0.11.4-foss-2024a.eb

Diff against anndata-0.12.3-foss-2025a.eb

easybuild/easyconfigs/a/anndata/anndata-0.12.3-foss-2025a.eb

diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.12.3-foss-2025a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.11.4-foss-2024a.eb
index c6a928e218..7cbc5bdadd 100644
--- a/easybuild/easyconfigs/a/anndata/anndata-0.12.3-foss-2025a.eb
+++ b/easybuild/easyconfigs/a/anndata/anndata-0.11.4-foss-2024a.eb
@@ -1,38 +1,32 @@
 easyblock = 'PythonBundle'
 
 name = 'anndata'
-version = '0.12.3'
+version = '0.11.4'
 
 homepage = 'https://github.com/scverse/anndata'
 description = """anndata is a Python package for handling annotated data matrices in memory and on disk,
  positioned between pandas and xarray"""
 
-toolchain = {'name': 'foss', 'version': '2025a'}
-
-builddependencies = [
-    ('hatchling', '1.27.0'),
-]
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.13.1'),
-    ('Python-bundle-PyPI', '2025.04'),
-    ('SciPy-bundle', '2025.06'),
-    ('h5py', '3.14.0'),
-    ('zarr', '3.1.1'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('SciPy-bundle', '2024.05'),
+    ('h5py', '3.12.1'),
+    ('setuptools', '80.9.0'),
 ]
 
 exts_list = [
     ('array_api_compat', '1.12.0', {
         'checksums': ['585bc615f650de53ac24b7c012baecfcdd810f50df3573be47e6dd9fa20df974'],
     }),
-    ('legacy_api_wrap', '1.4.1', {
-        'checksums': ['9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4'],
-    }),
     ('natsort', '8.4.0', {
         'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'],
     }),
     (name, version, {
-        'checksums': ['1ae821ae90d13b3aeedc9831b6ce4f6aa9d4cccf3dcbe398ae9424cf3df7bafd'],
+        'checksums': ['4ce08d09d2ccb5f37d32790363bbcc7fc1b79863842296ae4badfaf48c736e24'],
     }),
 ]
 
Diff against anndata-0.10.9-foss-2024a.eb

easybuild/easyconfigs/a/anndata/anndata-0.10.9-foss-2024a.eb

diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.10.9-foss-2024a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.11.4-foss-2024a.eb
index a75a378f1d..7cbc5bdadd 100644
--- a/easybuild/easyconfigs/a/anndata/anndata-0.10.9-foss-2024a.eb
+++ b/easybuild/easyconfigs/a/anndata/anndata-0.11.4-foss-2024a.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonBundle'
 
 name = 'anndata'
-version = '0.10.9'
+version = '0.11.4'
 
 homepage = 'https://github.com/scverse/anndata'
 description = """anndata is a Python package for handling annotated data matrices in memory and on disk,
@@ -9,29 +9,24 @@ description = """anndata is a Python package for handling annotated data matrice
 
 toolchain = {'name': 'foss', 'version': '2024a'}
 
-builddependencies = [
-    ('hatchling', '1.24.2'),
-]
-
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
     ('Python', '3.12.3'),
     ('Python-bundle-PyPI', '2024.06'),
     ('SciPy-bundle', '2024.05'),
     ('h5py', '3.12.1'),
+    ('setuptools', '80.9.0'),
 ]
 
 exts_list = [
-    ('array_api_compat', '1.11.2', {
-        'checksums': ['a3b7f7b6af18f4c42e79423b1b2479798998b6a74355069d77a01a5282755b5d'],
+    ('array_api_compat', '1.12.0', {
+        'checksums': ['585bc615f650de53ac24b7c012baecfcdd810f50df3573be47e6dd9fa20df974'],
     }),
     ('natsort', '8.4.0', {
         'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'],
     }),
-    ('packaging', '25.0', {
-        'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
-    }),
     (name, version, {
-        'checksums': ['fe36f2f3f8040ffed866c4932253407f594cfe34d420fe5b7854986cb6bb7178'],
+        'checksums': ['4ce08d09d2ccb5f37d32790363bbcc7fc1b79863842296ae4badfaf48c736e24'],
     }),
 ]
 

Updated software Lightning-2.5.2-foss-2024a.eb

Diff against Lightning-2.2.1-foss-2023a.eb

easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a.eb

diff --git a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.5.2-foss-2024a.eb
index e79a8b8c6b..1650f67171 100644
--- a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a.eb
+++ b/easybuild/easyconfigs/l/Lightning/Lightning-2.5.2-foss-2024a.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonPackage'
 
 name = 'Lightning'
-version = '2.2.1'
+version = '2.5.2'
 
 homepage = 'https://github.com/Lightning-AI/pytorch-lightning'
 description = """
@@ -13,14 +13,14 @@ Lightning has 4 core packages:
     Lightning Apps: Build AI products and ML workflows.
 """
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa']
+checksums = ['9550df613cfb22358ebf77b4a8ad45f3767cd7d26ba2d52b7f036bd3cdd701c4']
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('PyTorch', '2.1.2'),
+    ('Python', '3.12.3'),
+    ('PyTorch', '2.6.0'),
     ('PyTorch-Lightning', version),
 ]
 
Diff against Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.5.2-foss-2024a.eb
index c4cd9918a7..1650f67171 100644
--- a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/l/Lightning/Lightning-2.5.2-foss-2024a.eb
@@ -1,8 +1,7 @@
 easyblock = 'PythonPackage'
 
 name = 'Lightning'
-version = '2.2.1'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '2.5.2'
 
 homepage = 'https://github.com/Lightning-AI/pytorch-lightning'
 description = """
@@ -14,16 +13,15 @@ Lightning has 4 core packages:
     Lightning Apps: Build AI products and ML workflows.
 """
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa']
+checksums = ['9550df613cfb22358ebf77b4a8ad45f3767cd7d26ba2d52b7f036bd3cdd701c4']
 
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'),
-    ('PyTorch-Lightning', version, '-CUDA-%(cudaver)s'),
+    ('Python', '3.12.3'),
+    ('PyTorch', '2.6.0'),
+    ('PyTorch-Lightning', version),
 ]
 
 moduleclass = 'tools'

Updated software ml-collections-1.1.0-foss-2024a.eb

Diff against ml-collections-0.1.1-foss-2023a.eb

easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb

diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-1.1.0-foss-2024a.eb
index ec47534534..04eb95f0f6 100644
--- a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb
+++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-1.1.0-foss-2024a.eb
@@ -1,32 +1,26 @@
 easyblock = 'PythonBundle'
 
 name = 'ml-collections'
-version = '0.1.1'
+version = '1.1.0'
 
 homepage = 'https://github.com/google/ml_collections'
 description = """
 ML Collections is a library of Python Collections designed for ML use cases.
 """
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('PyYAML', '6.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyYAML', '6.0.2'),
+    ('absl-py', '2.1.0'),
 ]
 
 exts_list = [
-    ('absl-py', '2.1.0', {
-        'modulename': 'absl',
-        'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'],
-    }),
-    ('contextlib2', '21.6.0', {
-        'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
-    }),
     ('ml_collections', version, {
-        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
-        'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
+        'checksums': ['0ac1ac6511b9f1566863e0bb0afad0c64e906ea278ad3f4d2144a55322671f6f'],
     }),
 ]
 
Diff against ml-collections-0.1.1-foss-2022a.eb

easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb

diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-1.1.0-foss-2024a.eb
index c5edc5187f..04eb95f0f6 100644
--- a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb
+++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-1.1.0-foss-2024a.eb
@@ -1,32 +1,26 @@
 easyblock = 'PythonBundle'
 
 name = 'ml-collections'
-version = '0.1.1'
+version = '1.1.0'
 
 homepage = 'https://github.com/google/ml_collections'
 description = """
 ML Collections is a library of Python Collections designed for ML use cases.
 """
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.10.4'),
-    ('SciPy-bundle', '2022.05'),
-    ('PyYAML', '6.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyYAML', '6.0.2'),
+    ('absl-py', '2.1.0'),
 ]
 
 exts_list = [
-    ('absl-py', '1.4.0', {
-        'modulename': 'absl',
-        'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'],
-    }),
-    ('contextlib2', '21.6.0', {
-        'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
-    }),
     ('ml_collections', version, {
-        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
-        'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
+        'checksums': ['0ac1ac6511b9f1566863e0bb0afad0c64e906ea278ad3f4d2144a55322671f6f'],
     }),
 ]
 

Updated software pyro-ppl-1.9.1-foss-2024a.eb

Diff against pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.1-foss-2024a.eb
index da1faff451..9a7de6366d 100644
--- a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.1-foss-2024a.eb
@@ -1,28 +1,24 @@
-# Author: Denis Krišťák (INUITS)
-
 easyblock = 'PythonBundle'
 
 name = 'pyro-ppl'
-version = '1.9.0'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '1.9.1'
 
 homepage = 'https://github.com/pyro-ppl/pyro'
 description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('PyTorch', '2.1.2', versionsuffix),
-    ('tqdm', '4.66.1'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyTorch', '2.6.0'),
+    ('tqdm', '4.66.5'),
 ]
 
 exts_list = [
-    ('opt-einsum', '3.3.0', {
-        'source_tmpl': 'opt_einsum-%(version)s.tar.gz',
-        'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'],
+    ('opt_einsum', '3.4.0', {
+        'checksums': ['96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac'],
     }),
     ('pyro-api', '0.1.2', {
         'modulename': 'pyroapi',
@@ -30,7 +26,7 @@ exts_list = [
     }),
     (name, version, {
         'modulename': 'pyro',
-        'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'],
+        'checksums': ['5e1596de276c038a3f77d2580a90d0a97126e0104900444a088eee620bb0d65e'],
     }),
 ]
 
Diff against pyro-ppl-1.9.0-foss-2023a.eb

easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb

diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.1-foss-2024a.eb
index 28e04e3cdb..9a7de6366d 100644
--- a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb
+++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.1-foss-2024a.eb
@@ -1,26 +1,24 @@
-# Author: Denis Krišťák (INUITS)
-
 easyblock = 'PythonBundle'
 
 name = 'pyro-ppl'
-version = '1.9.0'
+version = '1.9.1'
 
 homepage = 'https://github.com/pyro-ppl/pyro'
 description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('PyTorch', '2.1.2'),
-    ('tqdm', '4.66.1'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyTorch', '2.6.0'),
+    ('tqdm', '4.66.5'),
 ]
 
 exts_list = [
-    ('opt-einsum', '3.3.0', {
-        'source_tmpl': 'opt_einsum-%(version)s.tar.gz',
-        'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'],
+    ('opt_einsum', '3.4.0', {
+        'checksums': ['96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac'],
     }),
     ('pyro-api', '0.1.2', {
         'modulename': 'pyroapi',
@@ -28,7 +26,7 @@ exts_list = [
     }),
     (name, version, {
         'modulename': 'pyro',
-        'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'],
+        'checksums': ['5e1596de276c038a3f77d2580a90d0a97126e0104900444a088eee620bb0d65e'],
     }),
 ]
 

Updated software scanpy-1.10.4-foss-2024a.eb

Diff against scanpy-1.11.4-foss-2025a.eb

easybuild/easyconfigs/s/scanpy/scanpy-1.11.4-foss-2025a.eb

diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.11.4-foss-2025a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
index afa4b41c75..481696b0d2 100644
--- a/easybuild/easyconfigs/s/scanpy/scanpy-1.11.4-foss-2025a.eb
+++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonBundle'
 
 name = 'scanpy'
-version = '1.11.4'
+version = '1.10.4'
 
 homepage = 'https://scanpy.readthedocs.io/en/stable/'
 description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built
@@ -10,43 +10,49 @@ description = """Scanpy is a scalable toolkit for analyzing single-cell gene exp
  datasets of more than one million cells.
 """
 
-toolchain = {'name': 'foss', 'version': '2025a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True}
 
-builddependencies = [('hatchling', '1.27.0')]
-
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.13.1'),
-    ('Python-bundle-PyPI', '2025.04'),
-    ('SciPy-bundle', '2025.06'),
-    ('networkx', '3.5'),
-    ('anndata', '0.12.3'),
-    ('matplotlib', '3.10.3'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('matplotlib', '3.9.2'),
     ('Seaborn', '0.13.2'),
-    ('h5py', '3.14.0'),
-    ('tqdm', '4.67.1'),
-    ('scikit-learn', '1.7.0'),
-    ('statsmodels', '0.14.5'),
-    ('numba', '0.62.0'),
-    ('umap-learn', '0.5.9.post2'),
+    ('h5py', '3.12.1'),
+    ('tqdm', '4.66.5'),
+    ('scikit-learn', '1.5.2'),
+    ('statsmodels', '0.14.4'),
+    ('networkx', '3.4.2'),
+    ('numba', '0.60.0'),
+    ('umap-learn', '0.5.7'),
+    ('anndata', '0.11.4'),
 ]
 
 exts_list = [
-    ('joblib', '1.5.2', {
-        'checksums': ['3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55'],
+    ('stdlib_list', '0.11.0', {
+        'checksums': ['b74a7b643a77a12637e907f3f62f0ab9f67300bce4014f6b2d3c8b4c8fd63c66'],
+    }),
+    ('session-info', '1.0.0', {
+        'sources': ['session_info-%(version)s.tar.gz'],
+        'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'],
     }),
-    ('session-info2', '0.2.3', {
-        'sources': ['session_info2-%(version)s.tar.gz'],
-        'checksums': ['6d16e3c6bb72ea52e589da4d722d24798aa3511c34ab8446a131d655cba2e2c9'],
+    ('legacy_api_wrap', '1.4.1', {
+        'checksums': ['9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4'],
     }),
     (name, version, {
-        'checksums': ['333189ecac9c7009bf55d416ee2e272e1c490d54c719478f7b4dd1fc294d2f95'],
+        'checksums': ['2682fbbe2e4106c349472feebef08e174062fb666db4c94123758c6a7a470396'],
     }),
 ]
 
 sanity_check_paths = {
     'files': ['bin/scanpy'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages/'],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
 }
 
+sanity_check_commands = [
+    "natsort --help",
+    "scanpy --help",
+]
+
 moduleclass = 'bio'
Diff against scanpy-1.9.8-foss-2023a.eb

easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb

diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
index 8f2a7e6444..481696b0d2 100644
--- a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb
+++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonBundle'
 
 name = 'scanpy'
-version = '1.9.8'
+version = '1.10.4'
 
 homepage = 'https://scanpy.readthedocs.io/en/stable/'
 description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built
@@ -10,60 +10,49 @@ description = """Scanpy is a scalable toolkit for analyzing single-cell gene exp
  datasets of more than one million cells.
 """
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True}
 
-builddependencies = [
-    ('hatchling', '1.18.0'),
-]
-
+builddependencies = [('hatchling', '1.24.2')]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('matplotlib', '3.7.2'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('matplotlib', '3.9.2'),
     ('Seaborn', '0.13.2'),
-    ('h5py', '3.9.0'),
-    ('tqdm', '4.66.1'),
-    ('scikit-learn', '1.3.1'),
-    ('statsmodels', '0.14.1'),
-    ('networkx', '3.1'),
-    ('numba', '0.58.1'),
-    ('umap-learn', '0.5.5'),
-    ('anndata', '0.10.5.post1'),
+    ('h5py', '3.12.1'),
+    ('tqdm', '4.66.5'),
+    ('scikit-learn', '1.5.2'),
+    ('statsmodels', '0.14.4'),
+    ('networkx', '3.4.2'),
+    ('numba', '0.60.0'),
+    ('umap-learn', '0.5.7'),
+    ('anndata', '0.11.4'),
 ]
 
 exts_list = [
-    ('stdlib_list', '0.10.0', {
-        'checksums': ['6519c50d645513ed287657bfe856d527f277331540691ddeaf77b25459964a14'],
-    }),
-    ('packaging', '23.2', {
-        'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'],
-    }),
-    ('natsort', '8.4.0', {
-        'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'],
-    }),
-    ('joblib', '1.3.2', {
-        'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'],
+    ('stdlib_list', '0.11.0', {
+        'checksums': ['b74a7b643a77a12637e907f3f62f0ab9f67300bce4014f6b2d3c8b4c8fd63c66'],
     }),
     ('session-info', '1.0.0', {
         'sources': ['session_info-%(version)s.tar.gz'],
         'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'],
     }),
-    ('legacy_api_wrap', '1.4', {
-        'checksums': ['92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785'],
+    ('legacy_api_wrap', '1.4.1', {
+        'checksums': ['9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4'],
     }),
     (name, version, {
-        'checksums': ['2ab1790d2b82eadb0cf8d487f468beac7a8f6a3a8fd7112d1ae989f8c52a4353'],
+        'checksums': ['2682fbbe2e4106c349472feebef08e174062fb666db4c94123758c6a7a470396'],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/%s' % x for x in ['natsort', 'scanpy']],
-    'dirs': ['lib/python%(pyshortver)s/site-packages/'],
+    'files': ['bin/scanpy'],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
 }
 
 sanity_check_commands = [
     "natsort --help",
+    "scanpy --help",
 ]
 
 moduleclass = 'bio'

Updated software scvi-tools-1.4.1-foss-2024a.eb

Diff against scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.4.1-foss-2024a.eb
index b6c1149fbc..6d67dacb3d 100644
--- a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.4.1-foss-2024a.eb
@@ -1,52 +1,76 @@
 easyblock = 'PythonBundle'
 
 name = 'scvi-tools'
-version = '1.1.2'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '1.4.1'
 
 homepage = 'https://github.com/scverse/scvi-tools'
 description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and
 analysis of single-cell omics data, built on top of PyTorch and AnnData."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
-builddependencies = [('hatchling', '1.18.0')]
+builddependencies = [
+    ('hatchling', '1.27.0'),
+    ('coverage', '7.9.2'),
+    ('captum', '0.8.0'),
+]
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('anndata', '0.10.5.post1'),
-    ('matplotlib', '3.7.2'),
-    ('scikit-learn', '1.3.1'),
-    ('tqdm', '4.66.1'),
-    ('h5py', '3.9.0'),
-    ('jax', '0.4.25', versionsuffix),
-    ('Flax', '0.8.4', versionsuffix),
-    ('PyTorch-Lightning', '2.2.1', versionsuffix),
-    ('pyro-ppl', '1.9.0', versionsuffix),
-    ('ml-collections', '0.1.1'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyTorch', '2.6.0'),
+    ('PyTorch-Lightning', '2.5.2'),
+    ('Lightning', '2.5.2'),
+    ('anndata', '0.11.4'),
+    ('matplotlib', '3.9.2'),
+    ('scikit-learn', '1.5.2'),
+    ('tqdm', '4.66.5'),
+    ('h5py', '3.12.1'),
+    ('pyro-ppl', '1.9.1'),
+    ('ml-collections', '1.1.0'),
+    ('numba', '0.60.0'),
+    ('scanpy', '1.10.4'),
+    ('tensorboard', '2.18.0'),
+    ('xarray', '2024.11.0'),
 ]
 
+# avoid srun problem
+# https://github.com/easybuilders/easybuild-easyconfigs/pull/25021#issuecomment-3744728157
+local_test_command = 'export SLURM_NTASKS_PER_NODE=$SLURM_NTASKS && '
+local_test_command += 'pytest -vs tests '
+# skip tests required optional dependencies
+local_test_command += (
+    '--ignore=tests/external/mrvi_jax '
+    '--ignore=tests/external/tangram '
+    '--ignore=tests/model/test_jaxscvi.py '
+    '--ignore=tests/hub '
+    '--ignore=tests/criticism '
+    '--ignore=tests/external/cytovi '
+    '--deselect=tests/data/test_anndata.py::test_anntorchdataset_dask '
+    '--deselect tests/model/test_multivi.py::test_multivi_mudata_rna_atac '
+)
+
 exts_list = [
-    ('mudata', '0.2.3', {
-        'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'],
+    ('packaging', '25.0', {
+        'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
     }),
-    ('multipledispatch', '1.0.0', {
-        'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'],
+    ('pytest_pretty', '1.3.0', {
+        'checksums': ['97e9921be40f003e40ae78db078d4a0c1ea42bf73418097b5077970c2cc43bf3'],
     }),
-    ('numpyro', '0.15.0', {
-        'checksums': ['e16c9f47cc31e2aa259584a0b6c944312081d33ca92406022632ad584b0e600d'],
+    ('mudata', '0.3.2', {
+        'checksums': ['c9b24f2429f369512f38e48599e341e7684abcf769df277e473700d4f1212740'],
+    }),
+    ('sparse', '0.17.0', {
+        'checksums': ['6b1ad51a810c5be40b6f95e28513ec810fe1c785923bd83b2e4839a751df4bf7'],
     }),
     ('docrep', '0.3.2', {
         'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'],
     }),
-    ('lightning', '2.1.4', {
-        'checksums': ['0e45098c700fa28c604a11ae233ce181b44aeffce2404debebc2616118431d9f'],
-    }),
     (name, version, {
         'modulename': 'scvi',
+        'runtest': local_test_command,
         'sources': ['scvi_tools-%(version)s.tar.gz'],
-        'checksums': ['104a11a30e8996f5ceaa907b8c81b48b1f4b380d492ef2dd9b9a5577ed81b0f9'],
+        'testinstall': True,
+        'checksums': ['ee75eaac665618b9ee6fa466f6353ef68eb33cd3d7e2c77069e743471ca2103a'],
     }),
 ]
 
Diff against scvi-tools-1.1.2-foss-2023a.eb

easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb

diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.4.1-foss-2024a.eb
index f518b60b00..6d67dacb3d 100644
--- a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb
+++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.4.1-foss-2024a.eb
@@ -1,50 +1,76 @@
 easyblock = 'PythonBundle'
 
 name = 'scvi-tools'
-version = '1.1.2'
+version = '1.4.1'
 
 homepage = 'https://github.com/scverse/scvi-tools'
 description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and
 analysis of single-cell omics data, built on top of PyTorch and AnnData."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
-builddependencies = [('hatchling', '1.18.0')]
+builddependencies = [
+    ('hatchling', '1.27.0'),
+    ('coverage', '7.9.2'),
+    ('captum', '0.8.0'),
+]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('anndata', '0.10.5.post1'),
-    ('matplotlib', '3.7.2'),
-    ('scikit-learn', '1.3.1'),
-    ('tqdm', '4.66.1'),
-    ('jax', '0.4.25'),
-    ('h5py', '3.9.0'),
-    ('PyTorch-Lightning', '2.2.1'),
-    ('pyro-ppl', '1.9.0'),
-    ('ml-collections', '0.1.1'),
-    ('Flax', '0.8.4'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('PyTorch', '2.6.0'),
+    ('PyTorch-Lightning', '2.5.2'),
+    ('Lightning', '2.5.2'),
+    ('anndata', '0.11.4'),
+    ('matplotlib', '3.9.2'),
+    ('scikit-learn', '1.5.2'),
+    ('tqdm', '4.66.5'),
+    ('h5py', '3.12.1'),
+    ('pyro-ppl', '1.9.1'),
+    ('ml-collections', '1.1.0'),
+    ('numba', '0.60.0'),
+    ('scanpy', '1.10.4'),
+    ('tensorboard', '2.18.0'),
+    ('xarray', '2024.11.0'),
 ]
 
+# avoid srun problem
+# https://github.com/easybuilders/easybuild-easyconfigs/pull/25021#issuecomment-3744728157
+local_test_command = 'export SLURM_NTASKS_PER_NODE=$SLURM_NTASKS && '
+local_test_command += 'pytest -vs tests '
+# skip tests required optional dependencies
+local_test_command += (
+    '--ignore=tests/external/mrvi_jax '
+    '--ignore=tests/external/tangram '
+    '--ignore=tests/model/test_jaxscvi.py '
+    '--ignore=tests/hub '
+    '--ignore=tests/criticism '
+    '--ignore=tests/external/cytovi '
+    '--deselect=tests/data/test_anndata.py::test_anntorchdataset_dask '
+    '--deselect tests/model/test_multivi.py::test_multivi_mudata_rna_atac '
+)
+
 exts_list = [
-    ('mudata', '0.2.3', {
-        'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'],
+    ('packaging', '25.0', {
+        'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
     }),
-    ('multipledispatch', '1.0.0', {
-        'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'],
+    ('pytest_pretty', '1.3.0', {
+        'checksums': ['97e9921be40f003e40ae78db078d4a0c1ea42bf73418097b5077970c2cc43bf3'],
     }),
-    ('numpyro', '0.15.0', {
-        'checksums': ['e16c9f47cc31e2aa259584a0b6c944312081d33ca92406022632ad584b0e600d'],
+    ('mudata', '0.3.2', {
+        'checksums': ['c9b24f2429f369512f38e48599e341e7684abcf769df277e473700d4f1212740'],
+    }),
+    ('sparse', '0.17.0', {
+        'checksums': ['6b1ad51a810c5be40b6f95e28513ec810fe1c785923bd83b2e4839a751df4bf7'],
     }),
     ('docrep', '0.3.2', {
         'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'],
     }),
-    ('lightning', '2.1.4', {
-        'checksums': ['0e45098c700fa28c604a11ae233ce181b44aeffce2404debebc2616118431d9f'],
-    }),
     (name, version, {
         'modulename': 'scvi',
+        'runtest': local_test_command,
         'sources': ['scvi_tools-%(version)s.tar.gz'],
-        'checksums': ['104a11a30e8996f5ceaa907b8c81b48b1f4b380d492ef2dd9b9a5577ed81b0f9'],
+        'testinstall': True,
+        'checksums': ['ee75eaac665618b9ee6fa466f6353ef68eb33cd3d7e2c77069e743471ca2103a'],
     }),
 ]
 

@pavelToman
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=25021 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25021 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9350

Test results coming soon (I hope)...

Details

- notification for comment with ID 3724015872 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 5 out of 6 (total: 14 mins 58 secs) (6 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/0d1828f39167c3e342ac45816db8dcdb for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

pavelToman commented Jan 8, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="--ignore-test-failure"

@boegelbot
Copy link
Copy Markdown
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=25021 EB_ARGS="--ignore-test-failure" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25021 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9351

Test results coming soon (I hope)...

Details

- notification for comment with ID 3724152325 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 6 out of 6 (total: 36 mins 8 secs) (6 easyconfigs in total)
node4015.donphan.os - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/ab427b254bc9a82a3f466f2d7c3eb542 for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded (with --ignore-test-failure) for 6 out of 6 (total: 14 mins 55 secs) (6 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/8dea50d77516fb3a23c48f623f87123f for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 9 out of 9 (total: 44 mins 41 secs) (6 easyconfigs in total)
node3508.doduo.os - Linux RHEL 9.6, x86_64, AMD EPYC 7552 48-Core Processor, Python 3.9.21
See https://gist.github.com/pavelToman/200d642d549321c60aec034b407bc205 for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 7 out of 7 (total: 33 mins 33 secs) (6 easyconfigs in total)
node3902.accelgor.os - Linux RHEL 9.6, x86_64, AMD EPYC 7413 24-Core Processor, 1 x NVIDIA NVIDIA A100-SXM4-80GB, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/3786016400e4a19726855d918c6f29ae for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 7 out of 7 (total: 31 mins 51 secs) (6 easyconfigs in total)
node3304.joltik.os - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz, 1 x NVIDIA Tesla V100-SXM2-32GB, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/0a808fe8f443c97c21dfbca1221b1b2a for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 8 out of 8 (total: 34 mins 0 secs) (6 easyconfigs in total)
node4307.litleo.os - Linux RHEL 9.6, x86_64, AMD EPYC 9454P 48-Core Processor, 1 x NVIDIA NVIDIA H100 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/3d093281b162f79f67b0a8cd2894658b for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=25021 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25021 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9352

Test results coming soon (I hope)...

Details

- notification for comment with ID 3724913630 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 5 out of 6 (total: 14 mins 12 secs) (6 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/565cd38d188a282ac2d76bc6e30ae272 for a full test report.

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 12 out of 12 (total: 51 mins 35 secs) (6 easyconfigs in total)
node4216.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor, Python 3.9.21
See https://gist.github.com/pavelToman/25af558d5bd8072e3583dd34c28cf869 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 9, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="--failed-install-logs-path=$HOME/pr25021-${SLURM_JOBID}"

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=25021 EB_ARGS="--failed-install-logs-path=$HOME/pr25021-${SLURM_JOBID}" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25021 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9356

Test results coming soon (I hope)...

Details

- notification for comment with ID 3728982968 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 5 out of 6 (total: 13 mins 40 secs) (6 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/28cd15b8fbde4690b0a2859a3ef9c15b for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Jan 9, 2026

Test report by @Thyre
SUCCESS
Build succeeded for 6 out of 6 (total: 21 mins 10 secs) (6 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor, Python 3.9.23
See https://gist.github.com/Thyre/de17ebb72b032b96c90e9462547d3df2 for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Jan 9, 2026

I'm guessing that an interactive session is required to run the tests for this package? It works completely fine when running the build interactively.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 13, 2026

Looks like it's related to running the test in a Slurm job:

RuntimeError: You set `--ntasks=8` in your SLURM bash script, but this variable is not supported. HINT: Use `--ntasks-per-node=8` instead.

So we need to unset some Slurm environment variables when running the tests?

We've seen this before I think...

Details
_______________________ ERROR at setup of test_torchMRVI _______________________

adata = AnnData object with n_obs × n_vars = 400 × 100
    obs: 'batch', 'labels', 'sample', 'sample_str', 'meta1', 'meta2', '...vi_labels'
    uns: 'protein_names', '_scvi_uuid', '_scvi_manager_uuid'
    obsm: 'accessibility', 'protein_expression'

    @pytest.fixture(scope="session")
    def model(adata: AnnData):
        MRVI.setup_anndata(adata, sample_key="sample_str", batch_key="batch", backend="torch")
        model = MRVI(adata)
>       model.train(max_steps=1, train_size=0.5)

tests/external/mrvi_torch/test_torchmrvi_model.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/external/mrvi_torch/test_torchmrvi_model.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/tmp/eb-3756co5_/tmpj9j0s2an/lib/python3.12/site-packages/scvi/external/mrvi_torch/_model.py:271: in train
    super().train(**train_kwargs)
/tmp/eb-3756co5_/tmpj9j0s2an/lib/python3.12/site-packages/scvi/model/base/_training_mixin.py:152: in train
    runner = self._train_runner_cls(
/tmp/eb-3756co5_/tmpj9j0s2an/lib/python3.12/site-packages/scvi/train/_trainrunner.py:86: in __init__
    accelerator, lightning_devices, device = parse_device_args(
/tmp/eb-3756co5_/tmpj9j0s2an/lib/python3.12/site-packages/scvi/model/_utils.py:102: in parse_device_args
    connector = _AcceleratorConnector(accelerator=accelerator, devices=devices)
/project/def-maintainers/boegelbot/rocky9/zen3/software/Lightning/2.5.2-foss-2024a/lib/python3.12/site-packages/lightning/pytorch/trainer/connectors/accelerator_connector.py:150: in __init__
    self.cluster_environment: ClusterEnvironment = self._choose_and_init_cluster_environment()
/project/def-maintainers/boegelbot/rocky9/zen3/software/Lightning/2.5.2-foss-2024a/lib/python3.12/site-packages/lightning/pytorch/trainer/connectors/accelerator_connector.py:410: in _choose_and_init_cluster_environment
    return env_type()
/project/def-maintainers/boegelbot/rocky9/zen3/software/Lightning/2.5.2-foss-2024a/lib/python3.12/site-packages/lightning/fabric/plugins/environments/slurm.py:54: in __init__
    self._validate_srun_variables()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    @staticmethod
    def _validate_srun_variables() -> None:
        """Checks for conflicting or incorrectly set variables set through `srun` and raises a useful error message.

        Right now, we only check for the most common user errors. See
        `the srun docs <https://slurm.schedmd.com/srun.html>`_
        for a complete list of supported srun variables.

        """
        ntasks = int(os.environ.get("SLURM_NTASKS", "1"))
        if ntasks > 1 and "SLURM_NTASKS_PER_NODE" not in os.environ:
>           raise RuntimeError(
                f"You set `--ntasks={ntasks}` in your SLURM bash script, but this variable is not supported."
                f" HINT: Use `--ntasks-per-node={ntasks}` instead."
            )
E           RuntimeError: You set `--ntasks=8` in your SLURM bash script, but this variable is not supported. HINT: Use `--ntasks-per-node=8` instead.

/project/def-maintainers/boegelbot/rocky9/zen3/software/Lightning/2.5.2-foss-2024a/lib/python3.12/site-packages/lightning/fabric/plugins/environments/slurm.py:221: RuntimeError

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 13, 2026

@pavelToman This looks relevant: 4164dcb

@boegel boegel added this to the 5.x milestone Jan 13, 2026
@pavelToman
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=25021 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25021 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9391

Test results coming soon (I hope)...

Details

- notification for comment with ID 3748924798 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 6 out of 6 (total: 19 mins 20 secs) (6 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/e470ad9b563f9e84729a2b4cd7537cbd for a full test report.

Comment thread easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 20, 2026

Test report by @boegel
SUCCESS
Build succeeded for 6 out of 6 (total: 18 mins 35 secs) (6 easyconfigs in total)
node4247.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/69f6d591d7cf0fa32e263509fc7c4d5b for a full test report.

Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 20, 2026

Going in, thanks @pavelToman!

@boegel boegel merged commit 0200e83 into easybuilders:develop Jan 20, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

scvi-tools

4 participants