Skip to content
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'PythonPackage'

name = 'graphviz-python'
version = '0.21'

homepage = 'https://pypi.python.org/pypi/graphviz'
description = """Simple Python interface for Graphviz"""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

source_urls = ['https://pypi.python.org/packages/source/g/graphviz']
sources = ['graphviz-%(version)s.tar.gz']
checksums = ['20743e7183be82aaaa8ad6c93f8893c923bd6658a04c32ee115edb3c8a835f78']

builddependencies = [
('binutils', '2.42'),
]

dependencies = [
('Python', '3.12.3'),
('Graphviz', '12.2.0'),
('setuptools', '80.9.0'),
]

options = {'modulename': 'graphviz'}

moduleclass = 'vis'
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/i/iodata/iodata-1.0.0a8-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
easyblock = 'PythonPackage'

name = 'iodata'
version = '1.0.0a8'

homepage = 'https://github.com/theochem/iodata'
description = """Python library for reading, writing, and converting computational chemistry file formats and
generating input files."""

toolchain = {'name': 'foss', 'version': '2024a'}

source_urls = ['https://github.com/theochem/iodata/releases/download/v%(version)s/']
sources = ['qc_iodata-%(version)s-py3-none-any.whl']
checksums = ['1365f783448c1ead99a019fabd0bab8f1a82a49e4485eae9c40988aba9e41daa']

dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
]

sanity_check_paths = {
'files': ['bin/iodata-convert'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = ["iodata-convert --help"]

moduleclass = 'chem'
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'PythonBundle'

name = 'pyiron-gpl'
version = '0.0.5-20250512'
local_commit = 'd2d8680'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@pavelToman There was an update of pyiron-gpl in https://github.com/mbocus/pyiron_gpl/tree/main which is worth picking up here.

Can you update this to latest current commit 5a3b6ef, using 20251021 in version?

Copy link
Copy Markdown
Collaborator Author

@pavelToman pavelToman Oct 23, 2025

Choose a reason for hiding this comment

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

I think this is not a good idea, new version needs numpy v2: https://github.com/mbocus/pyiron_gpl/blob/5a3b6ef5f3e530859fa42c1ee630fb5ce6c9de1e/setup.py#L32
So maybe for this new version will be better to create new easyconfig with newer toolchain?
Also pinned version of pyiron_atomistics==0.8.1 needs numpy v2 in this new version

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

But we do not have TensorFlow for newer toolchain - this was requested by the user to have TF with the same toolchain?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Also latest pyiron needs new numpy v2

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I will go for foss/2025b toolchain with a new version of pyiron-gpl and pyiron, where is numpy v2.3.2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

versionsuffix = '-mbocus'

homepage = 'https://github.com/mbocus/pyiron_gpl'
description = """Additional modules for the pyiron IDE licensed under GPLv3.
Sources are from fork of pyiron-gpl by mbocus.
"""

toolchain = {'name': 'foss', 'version': '2024a'}

dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('pyiron', '0.5.2-20250921'),
('iodata', '1.0.0a8'),
]

# fix version and unpin dep versions
local_preinstallopts = (
rf"""sed -i -e "s/\('.*\)==[^']\+',/\1',/g" -e 's/versioneer.get_version(),/"{version}",/' -e "s/==[^']*//" """
"setup.py && "
)

exts_list = [
(name, version, {
'preinstallopts': local_preinstallopts,
'source_urls': ['https://github.com/mbocus/pyiron_gpl/archive/'],
'sources': [{
'download_filename': f'{local_commit}.tar.gz',
'filename': f'%(name)s-%(version)s-{local_commit}.tar.gz',
}],
'checksums': ['305ec6688bb7f7c976797aa470e3b6e1009ac46315909b10553e878e912039d6'],
}),
]

# fix __version__
postinstallcmds = [
f"sed -i -e 's/0.1.1/{version}/' -e '/get_versions/d' "
"%(installdir)s/lib/python%(pyshortver)s/site-packages/pyiron_gpl/__init__.py"
]

check_ldshared = True

moduleclass = 'chem'
163 changes: 163 additions & 0 deletions easybuild/easyconfigs/p/pyiron/pyiron-0.5.2-20250921-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
easyblock = 'PythonBundle'

name = 'pyiron'
version = '0.5.2-20250921'
local_commit = '7ed460'

homepage = 'https://github.com/pyiron/pyiron'
description = "An integrated development environment (IDE) for computational materials science."

toolchain = {'name': 'foss', 'version': '2024a'}

builddependencies = [
('poetry', '1.8.3'),
('hatchling', '1.24.2'),
('pybind11', '2.13.6'),
]

dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('Python-bundle-PyPI', '2024.06'),
('ASE', '3.23.0'),
('phonopy', '2.40.0'),
('scikit-learn', '1.5.2'),
('nglview', '3.1.4'),
('h5py', '3.12.1'),
('SQLAlchemy', '2.0.36'),
('PyYAML', '6.0.2'),
('tqdm', '4.66.5'),
('GitPython', '3.1.43'),
('Pint', '0.24.4'),
('PyTables', '3.10.2'),
('PyZMQ', '26.2.0'),
('ruamel.yaml', '0.18.6'),
('matplotlib', '3.9.2'),
('spglib-python', '2.5.0'),
('graphviz-python', '0.21'),
('flit-core', '3.12.0'),
('pymatgen', '2025.6.14'),
('setuptools', '80.9.0'),
]

exts_list = [
('packaging', '25.0', {
'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
}),
('typing_extensions', '4.14.0', {
'checksums': ['8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4'],
}),
('isodate', '0.7.2', {
'checksums': ['4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6'],
}),
('rdflib', '7.1.4', {
'checksums': ['fed46e24f26a788e2ab8e445f7077f00edcf95abb73bcef4b86cefa8b62dd174'],
}),
('prettytable', '3.7.0', {
'checksums': ['ef8334ee40b7ec721651fc4d37ecc7bb2ef55fde5098d994438f0dfdaa385c0c'],
}),
('typeguard', '4.4.4', {
'checksums': ['3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74'],
}),
('owlrl', '7.1.3', {
'checksums': ['c9acf66135821ed7a6c4e002387bdb60a5804c86bf0210310df7d5a5da5d2eb1'],
}),
('pyshacl', '0.30.1', {
'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
'checksums': ['d7e0c21b25e948bb643dbc5db6258da64a90a8ac89055c1fe562b469031072aa'],
}),
('deprecated', '1.2.18', {
'checksums': ['422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d'],
}),
('semantikon', '0.0.20', {
'checksums': ['ebd6c2790be5d57955cecb5a670010b1cefb3d32c8f57bb946c8be678b9f5d5d'],
}),
('executorlib', '1.7.1', {
'checksums': ['fe0e9665aa4179d25acd2be7232bf806bbe19069266c49a795143f224c383fd8'],
}),
('sphinx_parser', '0.1.0', {
'checksums': ['19a0fb45671fc011e1b0b8f192b6691419a1e3b394bfdac2fb1aaa2a3cf5782f'],
}),
('pyscal3', '3.2.7', {
'source_urls': ['https://github.com/pyscal/pyscal3/archive'],
'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
'checksums': ['a5e86e61abe7a0a37aada16ffeb56cbd0d8761c80acb248dd089ca0be2e9cc1f'],
# pybind11 is only a build dependency for pyscal3
'preinstallopts': """sed -i "s/'pybind11',//g" setup.py && """,
}),
('msgpack', '1.1.1', {
'checksums': ['77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd'],
}),
('h5io', '0.2.4', {
'checksums': ['473efdf172f3fc9cddf19131ad281a5ff085c18579b3adce287ba873bbb12603'],
}),
('h5io_browser', '0.1.5', {
'checksums': ['2ad592da0e9ff65364e4a4554c7ff45b1787b64dc22300364e8ff370ea0bcd5d'],
}),
('pysqa', '0.2.3', {
'checksums': ['ef7441281ef62fe9418c44a63f9a899a87b276d0183f9389afb3ff8cb9ddbcea'],
}),
('pyfileindex', '0.0.32', {
'checksums': ['d2ade3c21761fd50395a9cf827618851d6b334cd8cffb19da7434d7c3d8018ac'],
}),
('traitlets', '5.14.3', {
'checksums': ['9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7'],
}),
('seekpath', '2.1.0', {
'checksums': ['31cec579628262e6d4a4c3693fefa70d6ccae1ceeef7c9d10ea3cd48988452c4'],
}),
('structuretoolkit', '0.0.34', {
'checksums': ['da9fa5f4e07fc9b4798feb622cff778312b9a2cb70ee671665f6a8afb63c66d4'],
}),
('defusedxml', '0.7.1', {
'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'],
}),
('atomistics', '0.2.5', {
'checksums': ['9d2e75151a53841e6402373126c59424089008ed4d1cf13bf8e0216bb10fcf53'],
}),
('pyfiglet', '0.8.post1', {
'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'],
}),
('mendeleev', '0.19.0', {
'preinstallopts': "sed -i 's/2.9.2/2.9.1/' pyproject.toml && ",
'checksums': ['7d513a3be0c2b45369c3c041eb949a76bc92ee42d833b1dee0048a919d3f9a78'],
}),
('pylammpsmpi', '0.3.0', {
'checksums': ['f2617f38715ac60f8d4fef982acdad41da38d9f2524555beaf0e68eb1dbc11d3'],
}),
('pyiron_base', '0.15.1', {
'checksums': ['62806100d8a70b82a34b4607dc85815a2c1d2a9e2d2eb34d3607040c0f48c6dc'],
}),
('pyiron_dataclasses', '0.0.4', {
'checksums': ['4d0889f159dcecdd35353d7ab2fd9eb68c196c73d1bbb6723648a73336a2cd55'],
}),
('pyiron_snippets', '0.2.0', {
'checksums': ['c46532fe476c79d1182477709b7fa8a66c92e3ae6082c6ccfc0ebef1f69ed046'],
}),
('pyiron_atomistics', '0.7.18', {
'patches': ['pyiron_atomistics-0.7.18_unpin-dep-versions.patch'],
'checksums': [
{'pyiron_atomistics-0.7.18.tar.gz': '5d16a3e39abf4bff6be366c8c135a65323bfc648ed9d2cd98a8fe1d497f185fd'},
{'pyiron_atomistics-0.7.18_unpin-dep-versions.patch':
'6ac9369191dfef4a85b59fc0d3035489d53ad89cc19cb39fa59577843ff9edf6'},
],
}),
('pyiron_lammps', '0.4.6', {
'checksums': ['ecf36ec09c4c27ab099b234f064712867d14b4ff34760a1c6abd6cece2cfebe6'],
}),
('pyiron_vasp', '0.2.12', {
'checksums': ['d6c73cd7cc5536a4d40d77bf9823af4fe979ea854f78f2c77a9356084246c495'],
}),
(name, version, {
'source_urls': ['https://github.com/pyiron/pyiron/archive'],
'sources': [{
'download_filename': f'{local_commit}.tar.gz',
'filename': f'%(name)s-%(version)s-{local_commit}.tar.gz'
}],
'checksums': ['4792bff6c13f7a07a2835bc5b7963400ea6f08392b0ad4ece1e31f6f42e09075'],
}),
]

check_ldshared = True

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
Unpin strict dependencies versions
Author: Pavel Tomanek
--- pyproject.toml.orig 2025-09-25 11:08:55.295006783 +0200
+++ pyproject.toml 2025-09-25 11:11:13.137753925 +0200
@@ -1,5 +1,5 @@
[build-system]
-requires = ["ase", "atomistics", "defusedxml", "h5py", "matplotlib", "mendeleev", "mp-api", "numpy", "pandas", "phonopy", "pint", "pyiron_base", "pylammpsmpi", "scipy", "scikit-learn", "seekpath", "setuptools", "spglib", "structuretoolkit", "hatchling==1.27.0", "hatch-vcs==0.5.0"]
+requires = ["ase", "atomistics", "defusedxml", "h5py", "matplotlib", "mendeleev", "mp-api", "numpy", "pandas", "phonopy", "pint", "pyiron_base", "pylammpsmpi", "scipy", "scikit-learn", "seekpath", "setuptools", "spglib", "structuretoolkit", "hatchling", "hatch-vcs"]
build-backend = "hatchling.build"

[project]
@@ -24,29 +24,29 @@
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "ase>=3.23.0,<=3.25.0",
- "atomistics>=0.1.33,<=0.2.5",
- "defusedxml>=0.7.0,<=0.7.1",
- "h5py>=3.9.0,<=3.13.0",
- "matplotlib>=3.5.3,<=3.10.1",
- "mendeleev==0.19.0",
- "mp-api>=0.37.0,<=0.45.9",
- "numpy==1.26.4",
- "pandas>=2.0.3,<=2.3.2",
- "phonopy>=2.20.0,<=2.43.2",
- "pint>=0.18,<=0.24.4",
- "pyiron_base>=0.13.0,<=0.14.3",
- "pyiron_lammps>=0.3.2,<=0.4.6",
- "pyiron_snippets>=0.1.3,<=0.2.0",
- "pyiron_vasp>=0.2.2,<=0.2.12",
- "pylammpsmpi>=0.2.18,<=0.3.0",
- "pyscal3>=3.2.5,<=3.2.7",
- "scipy>=1.15.0,<=1.15.2",
- "scikit-learn>=1.2.1,<=1.6.1",
- "seekpath>=1.9.5,<=2.1.0",
- "spglib>=2.0.2,<=2.6.0",
- "structuretoolkit>=0.0.29,<=0.0.34",
- "sphinx-parser==0.1.0",
+ "ase",
+ "atomistics",
+ "defusedxml",
+ "h5py",
+ "matplotlib",
+ "mendeleev",
+ "mp-api",
+ "numpy",
+ "pandas",
+ "phonopy",
+ "pint",
+ "pyiron_base",
+ "pyiron_lammps",
+ "pyiron_snippets",
+ "pyiron_vasp",
+ "pylammpsmpi",
+ "pyscal3",
+ "scipy",
+ "scikit-learn",
+ "seekpath",
+ "spglib",
+ "structuretoolkit",
+ "sphinx-parser",
]
dynamic = ["version"]

2 changes: 2 additions & 0 deletions test/easyconfigs/easyconfigs.py
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,8 @@ def check_dep_vars(self, gen, dep, dep_vars):
# filter out one per Python version
('Z3', ('-Python-2', True)),
('Z3', ('-Python-3', True)),
# allow Graphviz coexistence by ignoring the -minimal variant when both exist
('Graphviz', '-minimal'),
]
for dep_name, version_suffix in filter_variants:
# always retain at least one dep variant
Expand Down