diff --git a/.github/workflows/test_overview_available_software.yml b/.github/workflows/test_overview_available_software.yml index 8b9372a10b..e2e958efd9 100644 --- a/.github/workflows/test_overview_available_software.yml +++ b/.github/workflows/test_overview_available_software.yml @@ -31,6 +31,7 @@ jobs: mkdir -p ${data_dir} cd ${data_dir} curl -OL https://eessi.io/api_data/data/eessi_api_metadata_software.json + curl -OL https://eessi.io/api_data/data/eessi_api_metadata-riscv_software.json cd - python scripts/available_software/available_software.py @@ -38,7 +39,7 @@ jobs: # determine whether pull request would need to be opened: # if detailed software pages in docs/available_software/detail have been updated, then a PR should be opened - if [[ $(git status --porcelain ./docs/available_software/detail) ]]; then + if [[ -n "$(git status --porcelain ./docs/available_software/detail ./docs/available_software_riscv/detail)" ]]; then echo "Software pages have been changed, PR should be opened" git diff ./docs/available_software/detail else diff --git a/.github/workflows/update_available_software.yml b/.github/workflows/update_available_software.yml index e4f97008c5..d051a758f3 100644 --- a/.github/workflows/update_available_software.yml +++ b/.github/workflows/update_available_software.yml @@ -31,6 +31,8 @@ jobs: mkdir -p ${data_dir} cd ${data_dir} curl -OL https://eessi.io/api_data/data/eessi_api_metadata_software.json + # Also download RISC-V data + curl -OL https://eessi.io/api_data/data/eessi_api_metadata-riscv_software.json cd - python scripts/available_software/available_software.py @@ -40,7 +42,7 @@ jobs: # determine whether pull request should be opened: # if detailed software pages in docs/available_software/detail have been updated, then a PR should be opened - if [[ $(git status --porcelain ./docs/available_software/detail) ]]; then + if [[ -n "$(git status --porcelain ./docs/available_software/detail ./docs/available_software_riscv/detail)" ]]; then echo "Software pages have been changed, PR should be opened" echo "json_data_changed=yes" >> $GITHUB_OUTPUT else @@ -57,6 +59,7 @@ jobs: with: add-paths: | docs/available_software + docs/available_software_riscv mkdocs.yml branch: update-software-overview branch-suffix: timestamp diff --git a/docs/available_software/index.md b/docs/available_software/index.md index 900316bfec..6731213bdf 100644 --- a/docs/available_software/index.md +++ b/docs/available_software/index.md @@ -5,6 +5,8 @@ Overview of software available in [EESSI's production repository `software.eessi.io`](../repositories/software.eessi.io.md). +(For an overview of the currently available RISC-V software see the [RISC-V specific available software page](../available_software_riscv/index.md)) + {{ data.n_software }} unique software projects (+ {{ data.n_extensions }} unique extensions) diff --git a/docs/available_software/macros.py b/docs/available_software/macros.py index 9a486a7911..999281fa3a 100644 --- a/docs/available_software/macros.py +++ b/docs/available_software/macros.py @@ -10,6 +10,7 @@ from pathlib import Path EESSI_API_SOFTWARE_JSON_URL = 'https://www.eessi.io/api_data/data/eessi_api_metadata_software.json' +EESSI_API_SOFTWARE_RISCV_JSON_URL = 'https://www.eessi.io/api_data/data/eessi_api_metadata-riscv_software.json' CPU_ARCHS = { 'x86_64': ['AMD', 'Intel'], @@ -27,19 +28,27 @@ def define_env(env): @env.macro - def load_json_eessi_software(): + def load_json_eessi_software(riscv=False): """ Load JSON with metadata for software.eessi.io repository, and return Python dictionary with relevant info to generate software overview in EESSI documentation. """ # https://eessi.io/api_data/data/eessi_api_metadata_software.json is expected to be downloaded to docs/available_software/data/ root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - json_path = os.path.join(root_dir, 'docs', 'available_software', 'data', 'eessi_api_metadata_software.json') + if riscv: + data_file='eessi_api_metadata-riscv_software.json' + else: + data_file='eessi_api_metadata_software.json' + json_path = os.path.join(root_dir, 'docs', 'available_software', 'data', data_file) if os.path.exists(json_path): with open(json_path) as fp: data = json.loads(fp.read()) else: - with urllib.request.urlopen(EESSI_API_SOFTWARE_JSON_URL) as response: + if riscv: + data_url = EESSI_API_SOFTWARE_RISCV_JSON_URL + else: + data_url = EESSI_API_SOFTWARE_JSON_URL + with urllib.request.urlopen(data_url) as response: data = json.loads(response.read().decode('utf-8')) data_software = data['software'] diff --git a/scripts/available_software/tests/detail/.gitkeep b/docs/available_software_riscv/detail/.gitkeep similarity index 100% rename from scripts/available_software/tests/detail/.gitkeep rename to docs/available_software_riscv/detail/.gitkeep diff --git a/docs/available_software_riscv/index.md b/docs/available_software_riscv/index.md new file mode 100644 index 0000000000..7b38543998 --- /dev/null +++ b/docs/available_software_riscv/index.md @@ -0,0 +1,63 @@ +{% set data = load_json_eessi_software(riscv=True) %} +{% set software = data.software %} + +# Software available for RISC-V in EESSI + +Overview of software available in [EESSI's development repository for RISC-V `dev.eessi.io/riscv`](../repositories/dev.eessi.io.md). + +{{ data.n_software }} unique software projects (+ {{ data.n_extensions }} unique extensions) + + + + +
+ +{% for pkg in software %} +{% set pkg_slug = pkg.name | replace(' ', '-') %} +{% if pkg.is_extension -%} +- + {{ pkg.name }} + (extension) +
+

+ {{ pkg.name }} is a {% if pkg.type == "python" -%} Python package{% elif pkg.type == "r" -%}R library{% elif pkg.type == "perl" -%}Perl module{% endif %} + that is included as extension in the following software installations: +

+
+{% else -%} +- + + {{ pkg.name }} + + (more details) +
+ {{ pkg.homepages }} +
+

+ {{ pkg.description }} +

+ Available in EESSI versions: {% if '2023.06' in pkg.eessi_versions -%}2023.06{% endif %}{% if '2025.06' in pkg.eessi_versions -%}2025.06{% endif %} +
+ Supported CPU families: {% if 'AMD' in pkg.cpu_families -%}AMD{% endif %}{% if 'Intel' in pkg.cpu_families -%}Intel{% endif %}{% if 'Arm' in pkg.cpu_families -%}Arm{% endif %}{% if 'RISC-V' in pkg.cpu_families -%}RISC-V{% endif %} +
+ Supported GPU families: {% if pkg.gpu_families == '' -%}(none){% else -%}{% if 'AMD' in pkg.gpu_families -%}AMD{% endif %}{% if 'NVIDIA' in pkg.gpu_families -%}NVIDIA{% endif %}{% endif %} +
+
+{% endif %} +{% endfor %} + +
+ +--- + +Last update: {{ data.timestamp }} diff --git a/mkdocs.yml b/mkdocs.yml index 698b8f7662..77f70c8fb0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -23,7 +23,9 @@ nav: - Software layer: software_layer.md - Supported CPU targets: software_layer/cpu_targets.md - Supported GPU targets: software_layer/gpu_targets.md - - Available software: available_software/index.md + - Available software: + - Production: available_software/index.md + - RISC-V: available_software_riscv/index.md - Repositories: - Production: - Software: repositories/software.eessi.io.md diff --git a/scripts/available_software/available_software.py b/scripts/available_software/available_software.py index 9e0c871cee..4bdbb14d21 100644 --- a/scripts/available_software/available_software.py +++ b/scripts/available_software/available_software.py @@ -45,6 +45,14 @@ def main(): print("Generating software-specific pages... ", end="", flush=True) api_data_software_json = os.path.join(path_data_dir, "eessi_api_metadata_software.json") generate_software_pages(api_data_software_json, os.path.join(target_directory, "detail")) + + print("Done!") + + # Also handle RISC-V + print("Generating software-specific pages for RISC-V... ", end="", flush=True) + api_data_software_json = os.path.join(path_data_dir, "eessi_api_metadata-riscv_software.json") + generate_software_pages(api_data_software_json, os.path.join(target_directory + "_riscv", "detail")) + print("Done!") diff --git a/scripts/available_software/tests/test_dir/data/eessi_api_metadata-riscv_software.json b/scripts/available_software/tests/test_dir/data/eessi_api_metadata-riscv_software.json new file mode 100644 index 0000000000..04a9fee511 --- /dev/null +++ b/scripts/available_software/tests/test_dir/data/eessi_api_metadata-riscv_software.json @@ -0,0 +1,906 @@ +{ + "timestamp": "2026-03-19T11:41:00.544447Z", + "architectures_map": { + "2025.06-001": { + "aarch64/generic": "aarch64/generic", + "aarch64/a64fx": "aarch64/a64fx", + "aarch64/neoverse_n1": "aarch64/neoverse_n1", + "aarch64/neoverse_v1": "aarch64/neoverse_v1", + "aarch64/nvidia/grace": "aarch64/nvidia/grace", + "x86_64/generic": "x86_64/generic", + "x86_64/amd/zen2": "x86_64/amd/zen2", + "x86_64/amd/zen3": "x86_64/amd/zen3", + "x86_64/amd/zen4": "x86_64/amd/zen4", + "x86_64/intel/haswell": "x86_64/intel/haswell", + "x86_64/intel/skylake_avx512": "x86_64/intel/skylake_avx512", + "x86_64/intel/sapphirerapids": "x86_64/intel/sapphirerapids", + "x86_64/intel/icelake": "x86_64/intel/icelake", + "x86_64/intel/cascadelake": "x86_64/intel/cascadelake", + "riscv64/generic": "riscv64/generic" + } + }, + "gpu_architectures_map": {}, + "category_details": {}, + "software": { + "ANTLR": { + "versions": [ + { + "homepage": "https://www.antlr2.org/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "ANTLR/2.7.7-GCCcore-14.3.0", + "module_name": "ANTLR", + "module_version": "2.7.7-GCCcore-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "Java/21.0.8", + "module_name": "Java", + "module_version": "21.0.8" + }, + { + "full_module_name": "Java/21", + "module_name": "Java", + "module_version": "21" + }, + { + "full_module_name": "ANTLR/2.7.7-GCCcore-14.3.0", + "module_name": "ANTLR", + "module_version": "2.7.7-GCCcore-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)\n is a language tool that provides a framework for constructing recognizers,\n compilers, and translators from grammatical descriptions containing\n Java, C#, C++, or Python actions.", + "version": "2.7.7", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://www.antlr2.org/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)\n is a language tool that provides a framework for constructing recognizers,\n compilers, and translators from grammatical descriptions containing\n Java, C#, C++, or Python actions." + }, + "Abseil": { + "versions": [ + { + "homepage": "https://abseil.io/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "Abseil/20250512.1-GCCcore-14.3.0", + "module_name": "Abseil", + "module_version": "20250512.1-GCCcore-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "Abseil/20250512.1-GCCcore-14.3.0", + "module_name": "Abseil", + "module_version": "20250512.1-GCCcore-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Abseil is an open-source collection of C++ library code designed to augment the\nC++ standard library. The Abseil library code is collected from Google's own\nC++ code base, has been extensively tested and used in production, and is the\nsame code we depend on in our daily coding lives.", + "version": "20250512.1", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://abseil.io/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "Abseil is an open-source collection of C++ library code designed to augment the\nC++ standard library. The Abseil library code is collected from Google's own\nC++ code base, has been extensively tested and used in production, and is the\nsame code we depend on in our daily coding lives." + }, + "Automake": { + "versions": [ + { + "homepage": "https://www.gnu.org/software/automake/automake.html", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.2.0" + }, + "toolchain_families_compatibility": [ + "2025a_foss" + ], + "module": { + "full_module_name": "Automake/1.17-GCCcore-14.2.0", + "module_name": "Automake", + "module_version": "1.17-GCCcore-14.2.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.2.0", + "module_name": "GCCcore", + "module_version": "14.2.0" + }, + { + "full_module_name": "M4/1.4.19-GCCcore-14.2.0", + "module_name": "M4", + "module_version": "1.4.19-GCCcore-14.2.0" + }, + { + "full_module_name": "Perl/5.40.0-GCCcore-14.2.0", + "module_name": "Perl", + "module_version": "5.40.0-GCCcore-14.2.0" + }, + { + "full_module_name": "Autoconf/2.72-GCCcore-14.2.0", + "module_name": "Autoconf", + "module_version": "2.72-GCCcore-14.2.0" + }, + { + "full_module_name": "Automake/1.17-GCCcore-14.2.0", + "module_name": "Automake", + "module_version": "1.17-GCCcore-14.2.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Automake: GNU Standards-compliant Makefile generator", + "version": "1.17", + "versionsuffix": "", + "extensions": [] + }, + { + "homepage": "https://www.gnu.org/software/automake/automake.html", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "Automake/1.18-GCCcore-14.3.0", + "module_name": "Automake", + "module_version": "1.18-GCCcore-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "M4/1.4.20-GCCcore-14.3.0", + "module_name": "M4", + "module_version": "1.4.20-GCCcore-14.3.0" + }, + { + "full_module_name": "Perl/5.40.2-GCCcore-14.3.0", + "module_name": "Perl", + "module_version": "5.40.2-GCCcore-14.3.0" + }, + { + "full_module_name": "Autoconf/2.72-GCCcore-14.3.0", + "module_name": "Autoconf", + "module_version": "2.72-GCCcore-14.3.0" + }, + { + "full_module_name": "Automake/1.18-GCCcore-14.3.0", + "module_name": "Automake", + "module_version": "1.18-GCCcore-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Automake: GNU Standards-compliant Makefile generator", + "version": "1.18", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://www.gnu.org/software/automake/automake.html", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "Automake: GNU Standards-compliant Makefile generator" + }, + "BCFtools": { + "versions": [ + { + "homepage": "https://www.htslib.org/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCC", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "BCFtools/1.22-GCC-14.3.0", + "module_name": "BCFtools", + "module_version": "1.22-GCC-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "GCC/14.3.0", + "module_name": "GCC", + "module_version": "14.3.0" + }, + { + "full_module_name": "libidn2/2.3.8-GCCcore-14.3.0", + "module_name": "libidn2", + "module_version": "2.3.8-GCCcore-14.3.0" + }, + { + "full_module_name": "libiconv/1.18-GCCcore-14.3.0", + "module_name": "libiconv", + "module_version": "1.18-GCCcore-14.3.0" + }, + { + "full_module_name": "libunistring/1.3-GCCcore-14.3.0", + "module_name": "libunistring", + "module_version": "1.3-GCCcore-14.3.0" + }, + { + "full_module_name": "libpsl/0.21.5-GCCcore-14.3.0", + "module_name": "libpsl", + "module_version": "0.21.5-GCCcore-14.3.0" + }, + { + "full_module_name": "OpenSSL/3", + "module_name": "OpenSSL", + "module_version": "3" + }, + { + "full_module_name": "cURL/8.14.1-GCCcore-14.3.0", + "module_name": "cURL", + "module_version": "8.14.1-GCCcore-14.3.0" + }, + { + "full_module_name": "HTSlib/1.22.1-GCC-14.3.0", + "module_name": "HTSlib", + "module_version": "1.22.1-GCC-14.3.0" + }, + { + "full_module_name": "GSL/2.8-GCC-14.3.0", + "module_name": "GSL", + "module_version": "2.8-GCC-14.3.0" + }, + { + "full_module_name": "BCFtools/1.22-GCC-14.3.0", + "module_name": "BCFtools", + "module_version": "1.22-GCC-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Samtools is a suite of programs for interacting with high-throughput sequencing data.\n BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence\n variants", + "version": "1.22", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://www.htslib.org/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "Samtools is a suite of programs for interacting with high-throughput sequencing data.\n BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence\n variants" + }, + "BLIS": { + "versions": [ + { + "homepage": "https://github.com/flame/blis/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCC", + "version": "14.2.0" + }, + "toolchain_families_compatibility": [ + "2025a_foss" + ], + "module": { + "full_module_name": "BLIS/1.1-GCC-14.2.0", + "module_name": "BLIS", + "module_version": "1.1-GCC-14.2.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.2.0", + "module_name": "GCCcore", + "module_version": "14.2.0" + }, + { + "full_module_name": "GCC/14.2.0", + "module_name": "GCC", + "module_version": "14.2.0" + }, + { + "full_module_name": "BLIS/1.1-GCC-14.2.0", + "module_name": "BLIS", + "module_version": "1.1-GCC-14.2.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "BLIS is a portable software framework for instantiating high-performance\nBLAS-like dense linear algebra libraries.", + "version": "1.1", + "versionsuffix": "", + "extensions": [] + }, + { + "homepage": "https://github.com/flame/blis/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCC", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "BLIS/2.0-GCC-14.3.0", + "module_name": "BLIS", + "module_version": "2.0-GCC-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "GCC/14.3.0", + "module_name": "GCC", + "module_version": "14.3.0" + }, + { + "full_module_name": "BLIS/2.0-GCC-14.3.0", + "module_name": "BLIS", + "module_version": "2.0-GCC-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "BLIS is a portable software framework for instantiating high-performance\nBLAS-like dense linear algebra libraries.", + "version": "2.0", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://github.com/flame/blis/", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "BLIS is a portable software framework for instantiating high-performance\nBLAS-like dense linear algebra libraries." + }, + "BamTools": { + "versions": [ + { + "homepage": "https://github.com/pezmaster31/bamtools", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCC", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "BamTools/2.5.3-GCC-14.3.0", + "module_name": "BamTools", + "module_version": "2.5.3-GCC-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "GCC/14.3.0", + "module_name": "GCC", + "module_version": "14.3.0" + }, + { + "full_module_name": "JsonCpp/1.9.6-GCCcore-14.3.0", + "module_name": "JsonCpp", + "module_version": "1.9.6-GCCcore-14.3.0" + }, + { + "full_module_name": "BamTools/2.5.3-GCC-14.3.0", + "module_name": "BamTools", + "module_version": "2.5.3-GCC-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", + "version": "2.5.3", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://github.com/pezmaster31/bamtools", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + }, + "hatchling": { + "versions": [ + { + "homepage": "https://hatch.pypa.io", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.2.0" + }, + "toolchain_families_compatibility": [ + "2025a_foss" + ], + "module": { + "full_module_name": "hatchling/1.27.0-GCCcore-14.2.0", + "module_name": "hatchling", + "module_version": "1.27.0-GCCcore-14.2.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.2.0", + "module_name": "GCCcore", + "module_version": "14.2.0" + }, + { + "full_module_name": "Tcl/8.6.16-GCCcore-14.2.0", + "module_name": "Tcl", + "module_version": "8.6.16-GCCcore-14.2.0" + }, + { + "full_module_name": "SQLite/3.47.2-GCCcore-14.2.0", + "module_name": "SQLite", + "module_version": "3.47.2-GCCcore-14.2.0" + }, + { + "full_module_name": "libffi/3.4.5-GCCcore-14.2.0", + "module_name": "libffi", + "module_version": "3.4.5-GCCcore-14.2.0" + }, + { + "full_module_name": "OpenSSL/3", + "module_name": "OpenSSL", + "module_version": "3" + }, + { + "full_module_name": "Python/3.13.1-GCCcore-14.2.0", + "module_name": "Python", + "module_version": "3.13.1-GCCcore-14.2.0" + }, + { + "full_module_name": "hatchling/1.27.0-GCCcore-14.2.0", + "module_name": "hatchling", + "module_version": "1.27.0-GCCcore-14.2.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Extensible, standards compliant build backend used by Hatch,\na modern, extensible Python project manager.", + "version": "1.27.0", + "versionsuffix": "", + "extensions": [ + { + "type": "python", + "name": "pathspec", + "version": "0.12.1" + }, + { + "type": "python", + "name": "pluggy", + "version": "1.5.0" + }, + { + "type": "python", + "name": "editables", + "version": "0.5" + }, + { + "type": "python", + "name": "trove-classifiers", + "version": "2025.2.18.16" + }, + { + "type": "python", + "name": "hatchling", + "version": "1.27.0" + }, + { + "type": "python", + "name": "hatch-vcs", + "version": "0.4.0" + }, + { + "type": "python", + "name": "hatch-fancy-pypi-readme", + "version": "24.1.0" + }, + { + "type": "python", + "name": "hatch-requirements-txt", + "version": "0.4.1" + }, + { + "type": "python", + "name": "hatch-docstring-description", + "version": "1.1.1" + } + ] + }, + { + "homepage": "https://hatch.pypa.io", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "hatchling/1.27.0-GCCcore-14.3.0", + "module_name": "hatchling", + "module_version": "1.27.0-GCCcore-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "libtommath/1.3.0-GCCcore-14.3.0", + "module_name": "libtommath", + "module_version": "1.3.0-GCCcore-14.3.0" + }, + { + "full_module_name": "Tcl/9.0.1-GCCcore-14.3.0", + "module_name": "Tcl", + "module_version": "9.0.1-GCCcore-14.3.0" + }, + { + "full_module_name": "SQLite/3.50.1-GCCcore-14.3.0", + "module_name": "SQLite", + "module_version": "3.50.1-GCCcore-14.3.0" + }, + { + "full_module_name": "libffi/3.5.1-GCCcore-14.3.0", + "module_name": "libffi", + "module_version": "3.5.1-GCCcore-14.3.0" + }, + { + "full_module_name": "OpenSSL/3", + "module_name": "OpenSSL", + "module_version": "3" + }, + { + "full_module_name": "Python/3.13.5-GCCcore-14.3.0", + "module_name": "Python", + "module_version": "3.13.5-GCCcore-14.3.0" + }, + { + "full_module_name": "hatchling/1.27.0-GCCcore-14.3.0", + "module_name": "hatchling", + "module_version": "1.27.0-GCCcore-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Extensible, standards compliant build backend used by Hatch,\na modern, extensible Python project manager.", + "version": "1.27.0", + "versionsuffix": "", + "extensions": [ + { + "type": "python", + "name": "pathspec", + "version": "0.12.1" + }, + { + "type": "python", + "name": "pluggy", + "version": "1.6.0" + }, + { + "type": "python", + "name": "editables", + "version": "0.5" + }, + { + "type": "python", + "name": "trove-classifiers", + "version": "2025.5.9.12" + }, + { + "type": "python", + "name": "hatchling", + "version": "1.27.0" + }, + { + "type": "python", + "name": "hatch-vcs", + "version": "0.5.0" + }, + { + "type": "python", + "name": "hatch-fancy-pypi-readme", + "version": "25.1.0" + }, + { + "type": "python", + "name": "hatch-requirements-txt", + "version": "0.4.1" + }, + { + "type": "python", + "name": "hatch-docstring-description", + "version": "1.1.1" + } + ] + } + ], + "homepage": "https://hatch.pypa.io", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "Extensible, standards compliant build backend used by Hatch,\na modern, extensible Python project manager." + }, + "zstd": { + "versions": [ + { + "homepage": "https://facebook.github.io/zstd", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.2.0" + }, + "toolchain_families_compatibility": [ + "2025a_foss" + ], + "module": { + "full_module_name": "zstd/1.5.6-GCCcore-14.2.0", + "module_name": "zstd", + "module_version": "1.5.6-GCCcore-14.2.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.2.0", + "module_name": "GCCcore", + "module_version": "14.2.0" + }, + { + "full_module_name": "gzip/1.13-GCCcore-14.2.0", + "module_name": "gzip", + "module_version": "1.13-GCCcore-14.2.0" + }, + { + "full_module_name": "lz4/1.10.0-GCCcore-14.2.0", + "module_name": "lz4", + "module_version": "1.10.0-GCCcore-14.2.0" + }, + { + "full_module_name": "zstd/1.5.6-GCCcore-14.2.0", + "module_name": "zstd", + "module_version": "1.5.6-GCCcore-14.2.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Zstandard is a real-time compression algorithm, providing high compression ratios.\n It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder.\n It also offers a special mode for small data, called dictionary compression, and can create dictionaries\n from any sample set.", + "version": "1.5.6", + "versionsuffix": "", + "extensions": [] + }, + { + "homepage": "https://facebook.github.io/zstd", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "toolchain": { + "name": "GCCcore", + "version": "14.3.0" + }, + "toolchain_families_compatibility": [ + "2025b_foss" + ], + "module": { + "full_module_name": "zstd/1.5.7-GCCcore-14.3.0", + "module_name": "zstd", + "module_version": "1.5.7-GCCcore-14.3.0" + }, + "required_modules": [ + { + "full_module_name": "EESSI/2025.06", + "module_name": "EESSI", + "module_version": "2025.06" + }, + { + "full_module_name": "GCCcore/14.3.0", + "module_name": "GCCcore", + "module_version": "14.3.0" + }, + { + "full_module_name": "gzip/1.14-GCCcore-14.3.0", + "module_name": "gzip", + "module_version": "1.14-GCCcore-14.3.0" + }, + { + "full_module_name": "lz4/1.10.0-GCCcore-14.3.0", + "module_name": "lz4", + "module_version": "1.10.0-GCCcore-14.3.0" + }, + { + "full_module_name": "zstd/1.5.7-GCCcore-14.3.0", + "module_name": "zstd", + "module_version": "1.5.7-GCCcore-14.3.0" + } + ], + "cpu_arch": [ + "riscv64/generic" + ], + "gpu_arch": {}, + "description": "Zstandard is a real-time compression algorithm, providing high compression ratios.\n It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder.\n It also offers a special mode for small data, called dictionary compression, and can create dictionaries\n from any sample set.", + "version": "1.5.7", + "versionsuffix": "", + "extensions": [] + } + ], + "homepage": "https://facebook.github.io/zstd", + "license": [], + "image": "", + "categories": [], + "identifier": "", + "description": "Zstandard is a real-time compression algorithm, providing high compression ratios.\n It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder.\n It also offers a special mode for small data, called dictionary compression, and can create dictionaries\n from any sample set." + } + } +} diff --git a/scripts/available_software/tests/data/eessi_api_metadata_software.json b/scripts/available_software/tests/test_dir/data/eessi_api_metadata_software.json similarity index 100% rename from scripts/available_software/tests/data/eessi_api_metadata_software.json rename to scripts/available_software/tests/test_dir/data/eessi_api_metadata_software.json diff --git a/scripts/available_software/tests/test_dir/detail/.gitkeep b/scripts/available_software/tests/test_dir/detail/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/available_software/tests/reference_detail/CUDA-Samples.md b/scripts/available_software/tests/test_dir/reference_detail/CUDA-Samples.md similarity index 100% rename from scripts/available_software/tests/reference_detail/CUDA-Samples.md rename to scripts/available_software/tests/test_dir/reference_detail/CUDA-Samples.md diff --git a/scripts/available_software/tests/reference_detail/ESPResSo.md b/scripts/available_software/tests/test_dir/reference_detail/ESPResSo.md similarity index 100% rename from scripts/available_software/tests/reference_detail/ESPResSo.md rename to scripts/available_software/tests/test_dir/reference_detail/ESPResSo.md diff --git a/scripts/available_software/tests/reference_detail/PMIx.md b/scripts/available_software/tests/test_dir/reference_detail/PMIx.md similarity index 100% rename from scripts/available_software/tests/reference_detail/PMIx.md rename to scripts/available_software/tests/test_dir/reference_detail/PMIx.md diff --git a/scripts/available_software/tests/reference_detail/Salmon.md b/scripts/available_software/tests/test_dir/reference_detail/Salmon.md similarity index 100% rename from scripts/available_software/tests/reference_detail/Salmon.md rename to scripts/available_software/tests/test_dir/reference_detail/Salmon.md diff --git a/scripts/available_software/tests/reference_detail/hatchling.md b/scripts/available_software/tests/test_dir/reference_detail/hatchling.md similarity index 100% rename from scripts/available_software/tests/reference_detail/hatchling.md rename to scripts/available_software/tests/test_dir/reference_detail/hatchling.md diff --git a/scripts/available_software/tests/reference_detail/xterm.md b/scripts/available_software/tests/test_dir/reference_detail/xterm.md similarity index 100% rename from scripts/available_software/tests/reference_detail/xterm.md rename to scripts/available_software/tests/test_dir/reference_detail/xterm.md diff --git a/scripts/available_software/tests/test_dir_riscv/detail/.gitkeep b/scripts/available_software/tests/test_dir_riscv/detail/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/ANTLR.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/ANTLR.md new file mode 100644 index 0000000000..dd65b5cef3 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/ANTLR.md @@ -0,0 +1,46 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: "ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)\n is\ + \ a language tool that provides a framework for constructing recognizers,\n compilers,\ + \ and translators from grammatical descriptions containing\n Java, C#, C++, or\ + \ Python actions." + license: Not confirmed + name: ANTLR + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''2.7.7'']' + url: https://www.antlr2.org/ +--- +# ANTLR + + +ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions. + +homepage: [https://www.antlr2.org/](https://www.antlr2.org/) + +## Available installations + + +|ANTLR version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|2.7.7|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`ANTLR/2.7.7-GCCcore-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/Abseil.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/Abseil.md new file mode 100644 index 0000000000..9cd730c41e --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/Abseil.md @@ -0,0 +1,50 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: 'Abseil is an open-source collection of C++ library code designed to + augment the + + C++ standard library. The Abseil library code is collected from Google''s own + + C++ code base, has been extensively tested and used in production, and is the + + same code we depend on in our daily coding lives.' + license: Not confirmed + name: Abseil + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''20250512.1'']' + url: https://abseil.io/ +--- +# Abseil + + +Abseil is an open-source collection of C++ library code designed to augment the +C++ standard library. The Abseil library code is collected from Google's own +C++ code base, has been extensively tested and used in production, and is the +same code we depend on in our daily coding lives. + +homepage: [https://abseil.io/](https://abseil.io/) + +## Available installations + + +|Abseil version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|20250512.1|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`Abseil/20250512.1-GCCcore-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/Automake.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/Automake.md new file mode 100644 index 0000000000..dc2d7415b2 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/Automake.md @@ -0,0 +1,41 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: 'Automake: GNU Standards-compliant Makefile generator' + license: Not confirmed + name: Automake + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''1.18'', ''1.17'']' + url: https://www.gnu.org/software/automake/automake.html +--- +# Automake + + +Automake: GNU Standards-compliant Makefile generator + +homepage: [https://www.gnu.org/software/automake/automake.html](https://www.gnu.org/software/automake/automake.html) + +## Available installations + + +|Automake version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|1.17|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`Automake/1.17-GCCcore-14.2.0`| +|1.18|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`Automake/1.18-GCCcore-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/BCFtools.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/BCFtools.md new file mode 100644 index 0000000000..02b0ab704e --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/BCFtools.md @@ -0,0 +1,44 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: "Samtools is a suite of programs for interacting with high-throughput\ + \ sequencing data.\n BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising\ + \ SNP and short indel sequence\n variants" + license: Not confirmed + name: BCFtools + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''1.22'']' + url: https://www.htslib.org/ +--- +# BCFtools + + +Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants + +homepage: [https://www.htslib.org/](https://www.htslib.org/) + +## Available installations + + +|BCFtools version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|1.22|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`BCFtools/1.22-GCC-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/BLIS.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/BLIS.md new file mode 100644 index 0000000000..995b826881 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/BLIS.md @@ -0,0 +1,44 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: 'BLIS is a portable software framework for instantiating high-performance + + BLAS-like dense linear algebra libraries.' + license: Not confirmed + name: BLIS + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''2.0'', ''1.1'']' + url: https://github.com/flame/blis/ +--- +# BLIS + + +BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries. + +homepage: [https://github.com/flame/blis/](https://github.com/flame/blis/) + +## Available installations + + +|BLIS version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|1.1|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`BLIS/1.1-GCC-14.2.0`| +|2.0|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`BLIS/2.0-GCC-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/BamTools.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/BamTools.md new file mode 100644 index 0000000000..d6d85f06d1 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/BamTools.md @@ -0,0 +1,41 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: BamTools provides both a programmer's API and an end-user's toolkit + for handling BAM files. + license: Not confirmed + name: BamTools + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''2.5.3'']' + url: https://github.com/pezmaster31/bamtools +--- +# BamTools + + +BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files. + +homepage: [https://github.com/pezmaster31/bamtools](https://github.com/pezmaster31/bamtools) + +## Available installations + + +|BamTools version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|2.5.3|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`BamTools/2.5.3-GCC-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/hatchling.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/hatchling.md new file mode 100644 index 0000000000..f270c887e1 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/hatchling.md @@ -0,0 +1,116 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: 'Extensible, standards compliant build backend used by Hatch, + + a modern, extensible Python project manager.' + license: Not confirmed + name: hatchling + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''1.27.0'']' + url: https://hatch.pypa.io +--- +# hatchling + + +Extensible, standards compliant build backend used by Hatch, +a modern, extensible Python project manager. + +homepage: [https://hatch.pypa.io](https://hatch.pypa.io) + +## Available installations + + +|hatchling version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|1.27.0|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`hatchling/1.27.0-GCCcore-14.2.0`| +|1.27.0|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`hatchling/1.27.0-GCCcore-14.3.0`| + +## Extensions + +Overview of extensions included in hatchling installations + + +### editables + + +|`editables` version|hatchling modules that include it| +| --- | --- | +|0.5|`hatchling/1.27.0-GCCcore-14.2.0`
`hatchling/1.27.0-GCCcore-14.3.0`| + +### hatch-docstring-description + + +|`hatch-docstring-description` version|hatchling modules that include it| +| --- | --- | +|1.1.1|`hatchling/1.27.0-GCCcore-14.2.0`
`hatchling/1.27.0-GCCcore-14.3.0`| + +### hatch-fancy-pypi-readme + + +|`hatch-fancy-pypi-readme` version|hatchling modules that include it| +| --- | --- | +|24.1.0|`hatchling/1.27.0-GCCcore-14.2.0`| +|25.1.0|`hatchling/1.27.0-GCCcore-14.3.0`| + +### hatch-requirements-txt + + +|`hatch-requirements-txt` version|hatchling modules that include it| +| --- | --- | +|0.4.1|`hatchling/1.27.0-GCCcore-14.2.0`
`hatchling/1.27.0-GCCcore-14.3.0`| + +### hatch-vcs + + +|`hatch-vcs` version|hatchling modules that include it| +| --- | --- | +|0.4.0|`hatchling/1.27.0-GCCcore-14.2.0`| +|0.5.0|`hatchling/1.27.0-GCCcore-14.3.0`| + +### hatchling + + +|`hatchling` version|hatchling modules that include it| +| --- | --- | +|1.27.0|`hatchling/1.27.0-GCCcore-14.2.0`
`hatchling/1.27.0-GCCcore-14.3.0`| + +### pathspec + + +|`pathspec` version|hatchling modules that include it| +| --- | --- | +|0.12.1|`hatchling/1.27.0-GCCcore-14.2.0`
`hatchling/1.27.0-GCCcore-14.3.0`| + +### pluggy + + +|`pluggy` version|hatchling modules that include it| +| --- | --- | +|1.5.0|`hatchling/1.27.0-GCCcore-14.2.0`| +|1.6.0|`hatchling/1.27.0-GCCcore-14.3.0`| + +### trove-classifiers + + +|`trove-classifiers` version|hatchling modules that include it| +| --- | --- | +|2025.2.18.16|`hatchling/1.27.0-GCCcore-14.2.0`| +|2025.5.9.12|`hatchling/1.27.0-GCCcore-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_dir_riscv/reference_detail/zstd.md b/scripts/available_software/tests/test_dir_riscv/reference_detail/zstd.md new file mode 100644 index 0000000000..8e1ad87897 --- /dev/null +++ b/scripts/available_software/tests/test_dir_riscv/reference_detail/zstd.md @@ -0,0 +1,48 @@ +--- +json_ld: + '@context': https://schema.org + '@type': SoftwareApplication + applicationCategory: DeveloperApplication + description: "Zstandard is a real-time compression algorithm, providing high compression\ + \ ratios.\n It offers a very wide range of compression/speed trade-off, while\ + \ being backed by a very fast decoder.\n It also offers a special mode for small\ + \ data, called dictionary compression, and can create dictionaries\n from any\ + \ sample set." + license: Not confirmed + name: zstd + offers: + '@type': Offer + price: 0 + operatingSystem: LINUX + review: + '@type': Review + author: + '@type': Organization + name: EESSI + reviewBody: Application has been successfully made available on all architectures + supported by EESSI + reviewRating: + '@type': Rating + ratingValue: 5 + softwareRequirements: See https://www.eessi.io/docs/ for how to make EESSI available + on your system + softwareVersion: '[''1.5.7'', ''1.5.6'']' + url: https://facebook.github.io/zstd +--- +# zstd + + +Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set. + +homepage: [https://facebook.github.io/zstd](https://facebook.github.io/zstd) + +## Available installations + + +|zstd version|Supported CPU targets|Supported GPU targets|EESSI version|Module| +| --- | --- | --- | --- | --- | +|1.5.6|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`zstd/1.5.6-GCCcore-14.2.0`| +|1.5.7|`generic`: `riscv64`
Arm:
AMD:
Intel:
|*(none)*|2025.06|`zstd/1.5.7-GCCcore-14.3.0`| \ No newline at end of file diff --git a/scripts/available_software/tests/test_md.py b/scripts/available_software/tests/test_md.py index 1466672234..b8c5965938 100644 --- a/scripts/available_software/tests/test_md.py +++ b/scripts/available_software/tests/test_md.py @@ -8,7 +8,7 @@ class TestMarkdown: # Class level setup/teardown # --------------------------- - path = os.path.dirname(os.path.realpath(__file__)) + path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'test_dir') @classmethod def setup_class(cls): @@ -16,20 +16,22 @@ def setup_class(cls): @classmethod def teardown_class(cls): - directory = os.path.join(cls.path, "detail") - if os.path.exists(directory): - for file in os.listdir(directory): - if file.endswith(".md"): - os.remove(os.path.join(directory, file)) + directories = [os.path.join(cls.path, "detail"), os.path.join(cls.path + '_riscv', "detail")] + for directory in directories: + if os.path.exists(directory): + for file in os.listdir(directory): + if file.endswith(".md"): + os.remove(os.path.join(directory, file)) # --------------------------- # Markdown tests # --------------------------- def test_md_detailed_template(self): - markdown_target = "detail" available_software.main() - for markdown_file in os.listdir(os.path.join(self.path, "reference_detail")): - target_markdown_file = os.path.join(self.path, markdown_target, markdown_file) - assert os.path.exists(target_markdown_file) - assert filecmp.cmp(target_markdown_file, os.path.join(self.path, "reference_detail", markdown_file)) + directories = [self.path, self.path + '_riscv'] + for directory in directories: + for markdown_file in os.listdir(os.path.join(directory, "reference_detail")): + target_markdown_file = os.path.join(directory, 'detail', markdown_file) + assert os.path.exists(target_markdown_file) + assert filecmp.cmp(target_markdown_file, os.path.join(directory, "reference_detail", markdown_file))