diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.3.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.3.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..02491ce558a0 --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.3.0-GCCcore-14.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.3.0' + +homepage = 'https://github.com/ezyang/expecttest' +description = """This library implements expect tests (also known as "golden" tests). Expect tests are a method of + writing tests where instead of hard-coding the expected output of a test, you run the test to get the output, and + the test framework automatically populates the expected output. If the output of the test changes, you can rerun + the test with the environment variable EXPECTTEST_ACCEPT=1 to automatically update the expected output.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6e8512fb86523ada1f94fd1b14e280f924e379064bb8a29ee399950e513eeccd'] + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '2.1.2'), +] +dependencies = [ + ('Python', '3.13.1'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-3.3.20-gompi-2025a-CUDA-12.8.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-3.3.20-gompi-2025a-CUDA-12.8.0.eb new file mode 100644 index 000000000000..51eb1af0a706 --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-3.3.20-gompi-2025a-CUDA-12.8.0.eb @@ -0,0 +1,63 @@ +easyblock = 'CMakeMake' + +name = 'NVSHMEM' +version = '3.3.20' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2025a'} + +source_urls = [ + 'https://github.com/NVIDIA/nvshmem/releases/download/v%(version)s-0/', + 'https://developer.download.nvidia.com/compute/redist/nvshmem/%(version)s/source/', +] +sources = ['%(namelower)s_src_cuda12-all-all-%(version)s.tar.gz'] +patches = ['NVSHMEM-3.3.20_update_cxx_standard.patch'] + +checksums = [ + # nvshmem_src_cuda12-all-all-3.3.20.tar.gz + '96ec9620e82ec90de92c7d61a7ba03c0eba05075bf10e1fc4a066d45e7f7d21f', + # NVSHMEM-3.3.20_update_cxx_standard.patch + '560eda0fb6e44c8f7666fb18a87d5b6505f0fb77316908718df6e835db52b49f' +] + +builddependencies = [ + ('Autotools', '20240712'), + ('pkgconf', '2.3.0'), + ('CMake', '3.31.3'), +] + +dependencies = [ + ('CUDA', '12.8.0', '', SYSTEM), + ('NCCL', '2.27.7', versionsuffix), + ('UCX-CUDA', '1.18.0', versionsuffix), +] + +configopts = '-DNVSHMEM_USE_GDRCOPY=1 ' +configopts += '-DGDRCOPY_HOME=${EBROOTGDRCOPY} ' +configopts += '-DMPI_HOME=${EBROOTOPENMPI} ' +configopts += '-DNVSHMEM_MPI_SUPPORT=1 ' +configopts += '-DNVSHMEMTEST_USE_MPI_LAUNCHER=1 ' +configopts += '-DNCCL_HOME=${EBROOTNCCL} ' +configopts += '-DNVSHMEM_USE_NCCL=1 ' +# configopts += '-DNVSHMEM_IBGDA_SUPPORT=1 ' +configopts += '-DNVSHMEM_PREFIX=%(installdir)s ' +# NVSHMEM builds a wheel package if this option is enabled. +# Properly installing the Python bindings is better handled in a separate EC. +configopts += '-DNVSHMEM_BUILD_PYTHON_LIB=OFF ' + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/optree/optree-0.18.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/o/optree/optree-0.18.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..23085bd3a834 --- /dev/null +++ b/easybuild/easyconfigs/o/optree/optree-0.18.0-GCCcore-14.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'optree' +version = '0.18.0' + +homepage = 'https://optree.readthedocs.io/en/latest/' +description = "Optimized PyTree Utilities" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3804fb6ddc923855db2dc4805b4524c66e00f1ef30b166be4aadd52822b13e06'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] +dependencies = [ + ('Python', '3.13.1'), +] + +preinstallopts = "sed -i '/^license/d' pyproject.toml && " + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a-CUDA-12.8.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a-CUDA-12.8.0.eb new file mode 100644 index 000000000000..e23f7088e536 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a-CUDA-12.8.0.eb @@ -0,0 +1,286 @@ +name = 'PyTorch' +version = '2.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2025a'} + +local_six_version = '1.11.0' +# This is specific to a (tagged) release. +# Extract from `get_disabled_tests` in tools/stats/import_test_stats.py +local_disabled_tests_S3_ID = 'UsscdNP.2GMOzUxAvqIx8GAj4MuhX1Xi' +source_urls = [GITHUB_RELEASE] +sources = [ + '%(namelower)s-v%(version)s.tar.gz', + { + 'filename': '%(name)s-%(version)s-disabled-tests.json', + 'download_filename': f'disabled-tests-condensed.json?versionId={local_disabled_tests_S3_ID}', + 'source_urls': ['https://ossci-metrics.s3.amazonaws.com'], + # See `DEFAULT_DISABLED_TESTS_FILE` in torch/testing/_internal/common_utils.py + 'extract_cmd': 'cp %s %(builddir)s/pytorch-v%(version)s/test/.pytorch-disabled-tests.json', + }, + { + # Avoid downloading this during the build, see third_party/NNPACK/cmake/DownloadSix.cmake for the version + 'filename': f'six-{local_six_version}.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/s/six'], + }, +] +patches = [ + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', + 'PyTorch-2.1.0_remove-test-requiring-online-access.patch', + 'PyTorch-2.6.0_fix-server-in-test_control_plane.patch', + 'PyTorch-2.6.0_show-test-duration.patch', + 'PyTorch-2.6.0_skip-test_segfault.patch', + 'PyTorch-2.7.0_avoid_caffe2_test_cpp_jit.patch', + 'PyTorch-2.7.1_avoid-caffe2-sandcastle-test-lib.patch', + 'PyTorch-2.7.1_skip-test_data_parallel_rnn.patch', + 'PyTorch-2.7.1_skip-test_gds_fails_in_ci.patch', + 'PyTorch-2.7.1_skip-test_mixed_mm_exhaustive_dtypes.patch', + 'PyTorch-2.7.1_skip-test_outside_linear_module_free.patch', + 'PyTorch-2.7.1_suport-64bit-BARs.patch', + 'PyTorch-2.7.1_tolerance-test_partial_flat_weights.patch', + 'PyTorch-2.9.0_disable-test_nan_assert.patch', + 'PyTorch-2.9.0_enable-symbolizer-in-test_workspace_allocation_error.patch', + 'PyTorch-2.9.0_fix-attention-squeeze.patch', + 'PyTorch-2.9.0_fix-FP16-CPU-tests-in-test_torchinductor_opinfo.patch', + 'PyTorch-2.9.0_fix-nccl-test-env.patch', + 'PyTorch-2.9.0_fix-test_exclude_padding.patch', + 'PyTorch-2.9.0_fix-test_version_error.patch', + 'PyTorch-2.9.0_honor-XDG_CACHE_HOME.patch', + 'PyTorch-2.9.0_increase-tolerance-in-test_transformers.patch', + 'PyTorch-2.9.0_remove-faulty-close.patch', + 'PyTorch-2.9.0_revert-pybind11-3-change.patch', + 'PyTorch-2.9.0_skip-test_benchmark_on_non_zero_device.patch', + 'PyTorch-2.9.0_skip-test_convolution1-on-H100.patch', + 'PyTorch-2.9.1_skip-test_dtensor_op_db_nn_functional_multi_head_attention_forward_cpu_float32.patch', + 'PyTorch-2.9.0_skip-test_inductor_all_gather_into_tensor_coalesced.patch', + 'PyTorch-2.9.0_skip-test_original_aten_preserved_pad_mm.patch', + 'PyTorch-2.9.0_skip-test_override-without-CUDA.patch', + 'PyTorch-2.9.0_skip-test_unbacked_reduction.patch', + 'PyTorch-2.9.0_skip-tests-requiring-CUDA-12.8.patch', + 'PyTorch-2.9.0_skip-unexpected-success-in-test_fake_export.patch', + 'PyTorch-2.9.1_avoid-multiprocess-tests-hanging-forever.patch', + 'PyTorch-2.9.1_check-device-avail-test_schedule.patch', + 'PyTorch-2.9.1_disable-slow-tests.patch', + 'PyTorch-2.9.1_fix-hypothesis-deadline.patch', + 'PyTorch-2.9.1_fix-iteration-in-fligh-reporter.patch', + 'PyTorch-2.9.1_fix-TestExportOpInfoCPU-with-single-GPU.patch', + 'PyTorch-2.9.1_fix-test_dist2-decorators.patch', + 'PyTorch-2.9.1_fix-test_recursion_in_except_handler.patch', + 'PyTorch-2.9.1_GCC14-ARM-workaround.patch', + 'PyTorch-2.9.1_ignore-warning-incompatible-pointer-types.patch', + 'PyTorch-2.9.1_normalize_tree_output.patch', + 'PyTorch-2.9.1_set-test-timeout.patch', + 'PyTorch-2.9.1_skip-bool-bessel-tests.patch', + 'PyTorch-2.9.1_skip-flex-attention-tests-on-unsupported-cpus.patch', + 'PyTorch-2.9.1_skip-flex-attention-test_block_mask_non_divisible.patch', + 'PyTorch-2.9.1_skip-test_checkpoint_save_failure_continues_serving.patch', + 'PyTorch-2.9.1_skip-test_norm_matrix_degenerate_shapes.patch', + 'PyTorch-2.9.1_skip-tests-requiring-SM90.patch', + 'PyTorch-2.9.1_skip-RingFlexAttentionTest.patch', +] +checksums = [ + {'pytorch-v2.9.1.tar.gz': 'e17504700ebc4c87f9b57059df1c4d790b769458c04db144c7a92aea90f2c92b'}, + {'PyTorch-2.9.1-disabled-tests.json': '471f8aa36e056173d09ffd421ead45539a8d35fec6e61a8a0050d92a5fcd9f04'}, + {'six-1.11.0.tar.gz': '70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, + {'PyTorch-2.1.0_remove-test-requiring-online-access.patch': + '35184b8c5a1b10f79e511cc25db3b8a5585a5d58b5d1aa25dd3d250200b14fd7'}, + {'PyTorch-2.6.0_fix-server-in-test_control_plane.patch': + '1337689ff28ecaa8d1d0edf60d322bcdd7846fec040925325d357b19eb6e4342'}, + {'PyTorch-2.6.0_show-test-duration.patch': '5508f2f9619204d9f3c356dbd4000a00d58f452ab2d64ae920eb8bc8b5484d75'}, + {'PyTorch-2.6.0_skip-test_segfault.patch': '26806bd62e6b61b56ebaa52d68ca44c415a28124f684bd2fb373557ada68ef52'}, + {'PyTorch-2.7.0_avoid_caffe2_test_cpp_jit.patch': + '2f3255e067f5c6f0d78b4fbce94784c41bddf3d01bab9673856b0d0bbc4e3fec'}, + {'PyTorch-2.7.1_avoid-caffe2-sandcastle-test-lib.patch': + 'aaf22cb431357dc78e4db895d64febf1c7ee187e8ad27bd13544d011127354d4'}, + {'PyTorch-2.7.1_skip-test_data_parallel_rnn.patch': + 'aa85b678e89db4bb41d2c5f4990f0d05959be92e61918291cb5609685b7f1841'}, + {'PyTorch-2.7.1_skip-test_gds_fails_in_ci.patch': + '503030c3591196510a3c2d95db30b28a0b396adb8b50ff0d221f6bdb1f939935'}, + {'PyTorch-2.7.1_skip-test_mixed_mm_exhaustive_dtypes.patch': + '709288abc802c9eb687c15f2677ebaf408d8325a4cb470d23cb72447ee0b8e13'}, + {'PyTorch-2.7.1_skip-test_outside_linear_module_free.patch': + '4916a256b2b9914e4fdb930681b80df93ea561ddee2fc9978c4973a5650be5e9'}, + {'PyTorch-2.7.1_suport-64bit-BARs.patch': '317c3d220aa87426d86e137a6c1a8f910adf9580ca0848371e0f6800c05dbde1'}, + {'PyTorch-2.7.1_tolerance-test_partial_flat_weights.patch': + 'f304440a57e00b8052a5ffbf285adad8d0fdc5a812a659420b59a20deb5a9942'}, + {'PyTorch-2.9.0_disable-test_nan_assert.patch': '98e9f98ce8fb89ae368739bc039be69040ed446a1c74ee5c2a1ef8ba60986c7d'}, + {'PyTorch-2.9.0_enable-symbolizer-in-test_workspace_allocation_error.patch': + 'ba4032b967c0393c916a26fb2b117ba40670ae8e809cb34399a6379b4e523d72'}, + {'PyTorch-2.9.0_fix-attention-squeeze.patch': '8f040e74780cab391bb4c84f86390a13230e1a309ddf65db9900d9a1c66e1288'}, + {'PyTorch-2.9.0_fix-FP16-CPU-tests-in-test_torchinductor_opinfo.patch': + 'b696d7be8c55ff1ccf8731dccf119b8792cd9593eaff457f37e76114e52346d2'}, + {'PyTorch-2.9.0_fix-nccl-test-env.patch': '9326223c400262788734ec608f6134c5d240f4d5315a8d294179a28f885d6845'}, + {'PyTorch-2.9.0_fix-test_exclude_padding.patch': + '349850874fb75d57a24437d871a4994a773e501632ce66a2adca613380a152dc'}, + {'PyTorch-2.9.0_fix-test_version_error.patch': 'b10bb10d0a353e4ba7dbef28ca5fef03a8ba552896e1982708aa90ab6f24f34f'}, + {'PyTorch-2.9.0_honor-XDG_CACHE_HOME.patch': '239631258431174e4aed8947ae6096e003a3213bfbfa112cd0cdebae89469164'}, + {'PyTorch-2.9.0_increase-tolerance-in-test_transformers.patch': + 'c27ab34900835c2a15edc26d481343a16433bfa52f635a80cbab252c1320a545'}, + {'PyTorch-2.9.0_remove-faulty-close.patch': '32ca744d68dcfa669e46ced9d2776af3dcc380dd9c3458ba7c1c432e5c5295b3'}, + {'PyTorch-2.9.0_revert-pybind11-3-change.patch': + '5289894011fefc67482b1e19c9d1c502e94a943fc7a2d5ed5a6a1eaf444570a0'}, + {'PyTorch-2.9.0_skip-test_benchmark_on_non_zero_device.patch': + '85e236431d1a5da3fb7fccc2554640898c29f5fab46a41d15b3ab61dd1f924fc'}, + {'PyTorch-2.9.0_skip-test_convolution1-on-H100.patch': + '704750c7cc08b58779907d608cd4b7505043e394fb27530b16d72a0dc27c277e'}, + {'PyTorch-2.9.1_skip-test_dtensor_op_db_nn_functional_multi_head_attention_forward_cpu_float32.patch': + 'e57486cc42f3dbcae29753168febc251d070a283229e2d76ccbdf19fee53f06e'}, + {'PyTorch-2.9.0_skip-test_inductor_all_gather_into_tensor_coalesced.patch': + '644153d4c1d8267c0631df2902a6dfe8ec2a197f3374f2a2f5654e6bd0edc05e'}, + {'PyTorch-2.9.0_skip-test_original_aten_preserved_pad_mm.patch': + 'ac9e05d296cd5ff938a44662cd022efcc8133c744ca82b045c6a15bc64f67cf4'}, + {'PyTorch-2.9.0_skip-test_override-without-CUDA.patch': + '967512d1487bf1ad06982cc5b976c0b38ba062c3f3473cb4542c4b9ac0740662'}, + {'PyTorch-2.9.0_skip-test_unbacked_reduction.patch': + 'b51dd5d7c9cfeed946cbc5c7fc22f2e78e1fa52dda55569b957c20ca4ed01fe8'}, + {'PyTorch-2.9.0_skip-tests-requiring-CUDA-12.8.patch': + '6d79aff5291627b86d8fea025bf2379e4065c7d9cbef5cf83452c35922848728'}, + {'PyTorch-2.9.0_skip-unexpected-success-in-test_fake_export.patch': + '2e73f71ea0f09e613cc4a108893e7948b6daf239e3fe42fd2d3ae5d43c3cf9de'}, + {'PyTorch-2.9.1_avoid-multiprocess-tests-hanging-forever.patch': + '86ce380e69b3b20e010d817889cb1b825b05b4054a045b00f2ac12161b77d7e4'}, + {'PyTorch-2.9.1_check-device-avail-test_schedule.patch': + '64c28d38ce69147565509add36d310473ce46f14a0a876d38b5049cb7fce9817'}, + {'PyTorch-2.9.1_disable-slow-tests.patch': '76e6d8f7366b91a0ddc65f73685f2b09988bb5537d10d294f9bb6a48c7fec3d0'}, + {'PyTorch-2.9.1_fix-hypothesis-deadline.patch': + 'f7a130669eee9924a303df9e2bd5743ff023a7d994b7a3e43c86dcccf0206c49'}, + {'PyTorch-2.9.1_fix-iteration-in-fligh-reporter.patch': + 'ab408275ec66e836112a50054acc4e789ef38196efeb6137c6061d60d9ac9ead'}, + {'PyTorch-2.9.1_fix-TestExportOpInfoCPU-with-single-GPU.patch': + 'bdddf5a9ba47d57ec96f4bbefc3b85c4904e44de93dc5c7a65bc03e343035ae9'}, + {'PyTorch-2.9.1_fix-test_dist2-decorators.patch': + 'bf4ed805f00775ed33351de7bce40ebf4eac16aff6c61d2e91790982bc43d73b'}, + {'PyTorch-2.9.1_fix-test_recursion_in_except_handler.patch': + 'e7a64dbdc202151c5bff6aac86d77b0f6e7c52dc3117e3bfe9b57ec1371f87ad'}, + {'PyTorch-2.9.1_GCC14-ARM-workaround.patch': 'ea8a8662e20fae2fb3a74c7f8bf390aba80a598ab37f9131c720d25ebb14965d'}, + {'PyTorch-2.9.1_ignore-warning-incompatible-pointer-types.patch': + 'c4dad43a5d76e292bb0cada56ea05e8cbd522e3e83749cf3b2c15cd1e4ff6d7b'}, + {'PyTorch-2.9.1_normalize_tree_output.patch': '7d5994580339b73c28de595d9e5a0448db97b7d284f17efd18909e4613d170df'}, + {'PyTorch-2.9.1_set-test-timeout.patch': '15fa1149c250b1333b0bc491f659aaf89d5d6eaf6df5ebc81eea545478c1239c'}, + {'PyTorch-2.9.1_skip-bool-bessel-tests.patch': '9c07cddaf4c1b17fe9a54874f10b8edbfb85785c40ac1e3aea11c7f4b5abca69'}, + {'PyTorch-2.9.1_skip-flex-attention-tests-on-unsupported-cpus.patch': + 'e544f765beac7bdb3fc0ada98a3f92fd7e511ed8874de085aa2f213cca769d40'}, + {'PyTorch-2.9.1_skip-flex-attention-test_block_mask_non_divisible.patch': + 'd8489c192da549083569e09e5f94d2a83c9e41e111b1322f86512a9c5a58c0d9'}, + {'PyTorch-2.9.1_skip-test_checkpoint_save_failure_continues_serving.patch': + 'fa22d7ed5bf20afa4798c8af3ec732b1a3f530ecc4be5c223b3796e839b0b812'}, + {'PyTorch-2.9.1_skip-test_norm_matrix_degenerate_shapes.patch': + 'd6082e62696a38dbfbc87c228f7ccb54dba4cfc615ce158f1f3bf77e6e30ff4f'}, + {'PyTorch-2.9.1_skip-tests-requiring-SM90.patch': + '7db02152db2ae70c0fd4c4602fe381e26a74b8e4f7b16b1a3554b2353d761b10'}, + {'PyTorch-2.9.1_skip-RingFlexAttentionTest.patch': + '3cf0b11136fb18c45072687eafd3024d91b504d231a4fa40e04bc62d8d6019c7'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.31.3'), + ('hypothesis', '6.133.2'), + # For tests + ('parameterized', '0.9.0'), + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '16.1'), + ('pytest-shard', '0.1.2'), + ('pytest-subtests', '0.15.0'), + ('tlparse', '0.4.3'), + ('optree', '0.18.0'), + ('unittest-xml-reporting', '3.1.0'), +] + +dependencies = [ + ('CUDA', '12.8.0', '', SYSTEM), + # PyTorch is very sensitive to the NCCL & cuDNN versions. (Maybe the same for cuSPARSELt) + # Prefer those (listed per CUDA version) in + # https://github.com/pytorch/pytorch/blob/main/.github/scripts/generate_binary_build_matrix.py + # or https://github.com/pytorch/pytorch/blob/main/.ci/docker/common/install_cuda.sh + ('NCCL', '2.27.7', '-CUDA-%(cudaver)s'), + ('cuDNN', '9.10.1.4', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.9.0', '-CUDA-%(cudaver)s'), + ('cuSPARSELt', '0.8.0.4', '-CUDA-%(cudaver)s', SYSTEM), + ('NVSHMEM', '3.3.20', '-CUDA-%(cudaver)s'), + ('Triton', '3.5.0', versionsuffix), + ('Ninja', '1.12.1'), + ('Python', '3.13.1'), + ('expecttest', '0.3.0'), + ('GMP', '6.3.0'), + ('MPFR', '4.2.2'), + ('networkx', '3.5'), + ('numactl', '2.0.19'), + ('Pillow', '11.3.0'), + ('protobuf-python', '6.31.1'), + ('protobuf', '31.1'), + ('pybind11', '2.13.6'), + ('PuLP', '3.3.0'), + ('PyYAML', '6.0.2'), + ('pyzstd', '0.19.0'), + ('SciPy-bundle', '2025.06'), + ('sympy', '1.14.0'), + ('Z3', '4.13.4'), +] + +prebuildopts = (f"""sed -i '1i set(PYTHON_SIX_SOURCE_DIR "%(builddir)s/six-{local_six_version}")' """ + "cmake/Dependencies.cmake && ") +buildcmd = '%(python)s setup.py build' # Run the (long) build in the build step + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # no xdoctest + 'doctests', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + # This test is expected to fail when run in their CI, but won't in our case. + # It just checks for a "CI" env variable + 'test_ci_sanity_check_fail', + # Requires pwlf Python package + 'distributed/_tools/test_sac_ilp', 'distributed/_tools/test_sac_estimator', + # 9 failures in H100, 7 are present in PYPI package, 2 are related to GC in Python < 3.12.4 + 'dynamo/test_dynamic_shapes', + # Broken test: https://github.com/pytorch/pytorch/issues/162179 + 'distributed/_composable/fsdp/test_fully_shard_logging', + # Broken: https://github.com/pytorch/pytorch/issues/137027 + 'inductor/test_extension_backend', + # Requires optional Python packages + 'test_public_bindings', + # 1 Failure and not important + 'dynamo/test_utils', + # Packaging test only, not important for us + 'test_license', + ] +} + +runtest = ( + # Disable symbol resolution in stack traces that can cause hangs and slowdowns + ' TORCH_DISABLE_ADDR2LINE=1' + ' TORCHINDUCTOR_CUTLASS_DIR=%(start_dir)s/third_party/cutlass' + ' PYTEST_ADDOPTS=--full-trace' + ' PYTHONUNBUFFERED=1' + ' %(python)s test/run_test.py' + ' --continue-through-error --pipe-logs --verbose' + ' %(excluded_tests)s' +) + +postinstallcmds = [ + "mkdir %(installdir)s/extra", + "cp -r third_party/cutlass %(installdir)s/extra/", +] + +modextrapaths = {'TORCHINDUCTOR_CUTLASS_DIR': 'extra/cutlass'} + +tests = ['PyTorch-check-cpp-extension.py', 'PyTorch-check-cutlass.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a.eb new file mode 100644 index 000000000000..f22a65507625 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.9.1-foss-2025a.eb @@ -0,0 +1,278 @@ +name = 'PyTorch' +version = '2.9.1' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2025a'} + +local_six_version = '1.11.0' +# This is specific to a (tagged) release. +# Extract from `get_disabled_tests` in tools/stats/import_test_stats.py +local_disabled_tests_S3_ID = 'UsscdNP.2GMOzUxAvqIx8GAj4MuhX1Xi' +source_urls = [GITHUB_RELEASE] +sources = [ + '%(namelower)s-v%(version)s.tar.gz', + { + 'filename': '%(name)s-%(version)s-disabled-tests.json', + 'download_filename': f'disabled-tests-condensed.json?versionId={local_disabled_tests_S3_ID}', + 'source_urls': ['https://ossci-metrics.s3.amazonaws.com'], + # See `DEFAULT_DISABLED_TESTS_FILE` in torch/testing/_internal/common_utils.py + 'extract_cmd': 'cp %s %(builddir)s/pytorch-v%(version)s/test/.pytorch-disabled-tests.json', + }, + { + # Avoid downloading this during the build, see third_party/NNPACK/cmake/DownloadSix.cmake for the version + 'filename': f'six-{local_six_version}.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/s/six'], + }, +] +patches = [ + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', + 'PyTorch-2.1.0_remove-test-requiring-online-access.patch', + 'PyTorch-2.6.0_fix-server-in-test_control_plane.patch', + 'PyTorch-2.6.0_show-test-duration.patch', + 'PyTorch-2.6.0_skip-test_segfault.patch', + 'PyTorch-2.7.0_avoid_caffe2_test_cpp_jit.patch', + 'PyTorch-2.7.1_avoid-caffe2-sandcastle-test-lib.patch', + 'PyTorch-2.7.1_skip-test_data_parallel_rnn.patch', + 'PyTorch-2.7.1_skip-test_gds_fails_in_ci.patch', + 'PyTorch-2.7.1_skip-test_mixed_mm_exhaustive_dtypes.patch', + 'PyTorch-2.7.1_skip-test_outside_linear_module_free.patch', + 'PyTorch-2.7.1_suport-64bit-BARs.patch', + 'PyTorch-2.7.1_tolerance-test_partial_flat_weights.patch', + 'PyTorch-2.9.0_disable-test_nan_assert.patch', + 'PyTorch-2.9.0_enable-symbolizer-in-test_workspace_allocation_error.patch', + 'PyTorch-2.9.0_fix-attention-squeeze.patch', + 'PyTorch-2.9.0_fix-FP16-CPU-tests-in-test_torchinductor_opinfo.patch', + 'PyTorch-2.9.0_fix-nccl-test-env.patch', + 'PyTorch-2.9.0_fix-test_exclude_padding.patch', + 'PyTorch-2.9.0_fix-test_version_error.patch', + 'PyTorch-2.9.0_honor-XDG_CACHE_HOME.patch', + 'PyTorch-2.9.0_increase-tolerance-in-test_transformers.patch', + 'PyTorch-2.9.0_remove-faulty-close.patch', + 'PyTorch-2.9.0_revert-pybind11-3-change.patch', + 'PyTorch-2.9.0_skip-test_benchmark_on_non_zero_device.patch', + 'PyTorch-2.9.0_skip-test_convolution1-on-H100.patch', + 'PyTorch-2.9.1_skip-test_dtensor_op_db_nn_functional_multi_head_attention_forward_cpu_float32.patch', + 'PyTorch-2.9.0_skip-test_inductor_all_gather_into_tensor_coalesced.patch', + 'PyTorch-2.9.0_skip-test_original_aten_preserved_pad_mm.patch', + 'PyTorch-2.9.0_skip-test_override-without-CUDA.patch', + 'PyTorch-2.9.0_skip-test_unbacked_reduction.patch', + 'PyTorch-2.9.0_skip-tests-requiring-CUDA-12.8.patch', + 'PyTorch-2.9.0_skip-unexpected-success-in-test_fake_export.patch', + 'PyTorch-2.9.1_avoid-multiprocess-tests-hanging-forever.patch', + 'PyTorch-2.9.1_check-device-avail-test_schedule.patch', + 'PyTorch-2.9.1_disable-slow-tests.patch', + 'PyTorch-2.9.1_fix-hypothesis-deadline.patch', + 'PyTorch-2.9.1_fix-iteration-in-fligh-reporter.patch', + 'PyTorch-2.9.1_fix-TestExportOpInfoCPU-with-single-GPU.patch', + 'PyTorch-2.9.1_fix-test_dist2-decorators.patch', + 'PyTorch-2.9.1_fix-test_recursion_in_except_handler.patch', + 'PyTorch-2.9.1_GCC14-ARM-workaround.patch', + 'PyTorch-2.9.1_ignore-warning-incompatible-pointer-types.patch', + 'PyTorch-2.9.1_normalize_tree_output.patch', + 'PyTorch-2.9.1_set-test-timeout.patch', + 'PyTorch-2.9.1_skip-bool-bessel-tests.patch', + 'PyTorch-2.9.1_skip-flex-attention-tests-on-unsupported-cpus.patch', + 'PyTorch-2.9.1_skip-flex-attention-test_block_mask_non_divisible.patch', + 'PyTorch-2.9.1_skip-test_checkpoint_save_failure_continues_serving.patch', + 'PyTorch-2.9.1_skip-test_norm_matrix_degenerate_shapes.patch', + 'PyTorch-2.9.1_skip-tests-requiring-SM90.patch', + 'PyTorch-2.9.1_skip-RingFlexAttentionTest.patch', +] +checksums = [ + {'pytorch-v2.9.1.tar.gz': 'e17504700ebc4c87f9b57059df1c4d790b769458c04db144c7a92aea90f2c92b'}, + {'PyTorch-2.9.1-disabled-tests.json': '471f8aa36e056173d09ffd421ead45539a8d35fec6e61a8a0050d92a5fcd9f04'}, + {'six-1.11.0.tar.gz': '70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, + {'PyTorch-2.1.0_remove-test-requiring-online-access.patch': + '35184b8c5a1b10f79e511cc25db3b8a5585a5d58b5d1aa25dd3d250200b14fd7'}, + {'PyTorch-2.6.0_fix-server-in-test_control_plane.patch': + '1337689ff28ecaa8d1d0edf60d322bcdd7846fec040925325d357b19eb6e4342'}, + {'PyTorch-2.6.0_show-test-duration.patch': '5508f2f9619204d9f3c356dbd4000a00d58f452ab2d64ae920eb8bc8b5484d75'}, + {'PyTorch-2.6.0_skip-test_segfault.patch': '26806bd62e6b61b56ebaa52d68ca44c415a28124f684bd2fb373557ada68ef52'}, + {'PyTorch-2.7.0_avoid_caffe2_test_cpp_jit.patch': + '2f3255e067f5c6f0d78b4fbce94784c41bddf3d01bab9673856b0d0bbc4e3fec'}, + {'PyTorch-2.7.1_avoid-caffe2-sandcastle-test-lib.patch': + 'aaf22cb431357dc78e4db895d64febf1c7ee187e8ad27bd13544d011127354d4'}, + {'PyTorch-2.7.1_skip-test_data_parallel_rnn.patch': + 'aa85b678e89db4bb41d2c5f4990f0d05959be92e61918291cb5609685b7f1841'}, + {'PyTorch-2.7.1_skip-test_gds_fails_in_ci.patch': + '503030c3591196510a3c2d95db30b28a0b396adb8b50ff0d221f6bdb1f939935'}, + {'PyTorch-2.7.1_skip-test_mixed_mm_exhaustive_dtypes.patch': + '709288abc802c9eb687c15f2677ebaf408d8325a4cb470d23cb72447ee0b8e13'}, + {'PyTorch-2.7.1_skip-test_outside_linear_module_free.patch': + '4916a256b2b9914e4fdb930681b80df93ea561ddee2fc9978c4973a5650be5e9'}, + {'PyTorch-2.7.1_suport-64bit-BARs.patch': '317c3d220aa87426d86e137a6c1a8f910adf9580ca0848371e0f6800c05dbde1'}, + {'PyTorch-2.7.1_tolerance-test_partial_flat_weights.patch': + 'f304440a57e00b8052a5ffbf285adad8d0fdc5a812a659420b59a20deb5a9942'}, + {'PyTorch-2.9.0_disable-test_nan_assert.patch': '98e9f98ce8fb89ae368739bc039be69040ed446a1c74ee5c2a1ef8ba60986c7d'}, + {'PyTorch-2.9.0_enable-symbolizer-in-test_workspace_allocation_error.patch': + 'ba4032b967c0393c916a26fb2b117ba40670ae8e809cb34399a6379b4e523d72'}, + {'PyTorch-2.9.0_fix-attention-squeeze.patch': '8f040e74780cab391bb4c84f86390a13230e1a309ddf65db9900d9a1c66e1288'}, + {'PyTorch-2.9.0_fix-FP16-CPU-tests-in-test_torchinductor_opinfo.patch': + 'b696d7be8c55ff1ccf8731dccf119b8792cd9593eaff457f37e76114e52346d2'}, + {'PyTorch-2.9.0_fix-nccl-test-env.patch': '9326223c400262788734ec608f6134c5d240f4d5315a8d294179a28f885d6845'}, + {'PyTorch-2.9.0_fix-test_exclude_padding.patch': + '349850874fb75d57a24437d871a4994a773e501632ce66a2adca613380a152dc'}, + {'PyTorch-2.9.0_fix-test_version_error.patch': 'b10bb10d0a353e4ba7dbef28ca5fef03a8ba552896e1982708aa90ab6f24f34f'}, + {'PyTorch-2.9.0_honor-XDG_CACHE_HOME.patch': '239631258431174e4aed8947ae6096e003a3213bfbfa112cd0cdebae89469164'}, + {'PyTorch-2.9.0_increase-tolerance-in-test_transformers.patch': + 'c27ab34900835c2a15edc26d481343a16433bfa52f635a80cbab252c1320a545'}, + {'PyTorch-2.9.0_remove-faulty-close.patch': '32ca744d68dcfa669e46ced9d2776af3dcc380dd9c3458ba7c1c432e5c5295b3'}, + {'PyTorch-2.9.0_revert-pybind11-3-change.patch': + '5289894011fefc67482b1e19c9d1c502e94a943fc7a2d5ed5a6a1eaf444570a0'}, + {'PyTorch-2.9.0_skip-test_benchmark_on_non_zero_device.patch': + '85e236431d1a5da3fb7fccc2554640898c29f5fab46a41d15b3ab61dd1f924fc'}, + {'PyTorch-2.9.0_skip-test_convolution1-on-H100.patch': + '704750c7cc08b58779907d608cd4b7505043e394fb27530b16d72a0dc27c277e'}, + {'PyTorch-2.9.1_skip-test_dtensor_op_db_nn_functional_multi_head_attention_forward_cpu_float32.patch': + 'e57486cc42f3dbcae29753168febc251d070a283229e2d76ccbdf19fee53f06e'}, + {'PyTorch-2.9.0_skip-test_inductor_all_gather_into_tensor_coalesced.patch': + '644153d4c1d8267c0631df2902a6dfe8ec2a197f3374f2a2f5654e6bd0edc05e'}, + {'PyTorch-2.9.0_skip-test_original_aten_preserved_pad_mm.patch': + 'ac9e05d296cd5ff938a44662cd022efcc8133c744ca82b045c6a15bc64f67cf4'}, + {'PyTorch-2.9.0_skip-test_override-without-CUDA.patch': + '967512d1487bf1ad06982cc5b976c0b38ba062c3f3473cb4542c4b9ac0740662'}, + {'PyTorch-2.9.0_skip-test_unbacked_reduction.patch': + 'b51dd5d7c9cfeed946cbc5c7fc22f2e78e1fa52dda55569b957c20ca4ed01fe8'}, + {'PyTorch-2.9.0_skip-tests-requiring-CUDA-12.8.patch': + '6d79aff5291627b86d8fea025bf2379e4065c7d9cbef5cf83452c35922848728'}, + {'PyTorch-2.9.0_skip-unexpected-success-in-test_fake_export.patch': + '2e73f71ea0f09e613cc4a108893e7948b6daf239e3fe42fd2d3ae5d43c3cf9de'}, + {'PyTorch-2.9.1_avoid-multiprocess-tests-hanging-forever.patch': + '86ce380e69b3b20e010d817889cb1b825b05b4054a045b00f2ac12161b77d7e4'}, + {'PyTorch-2.9.1_check-device-avail-test_schedule.patch': + '64c28d38ce69147565509add36d310473ce46f14a0a876d38b5049cb7fce9817'}, + {'PyTorch-2.9.1_disable-slow-tests.patch': '76e6d8f7366b91a0ddc65f73685f2b09988bb5537d10d294f9bb6a48c7fec3d0'}, + {'PyTorch-2.9.1_fix-hypothesis-deadline.patch': + 'f7a130669eee9924a303df9e2bd5743ff023a7d994b7a3e43c86dcccf0206c49'}, + {'PyTorch-2.9.1_fix-iteration-in-fligh-reporter.patch': + 'ab408275ec66e836112a50054acc4e789ef38196efeb6137c6061d60d9ac9ead'}, + {'PyTorch-2.9.1_fix-TestExportOpInfoCPU-with-single-GPU.patch': + 'bdddf5a9ba47d57ec96f4bbefc3b85c4904e44de93dc5c7a65bc03e343035ae9'}, + {'PyTorch-2.9.1_fix-test_dist2-decorators.patch': + 'bf4ed805f00775ed33351de7bce40ebf4eac16aff6c61d2e91790982bc43d73b'}, + {'PyTorch-2.9.1_fix-test_recursion_in_except_handler.patch': + 'e7a64dbdc202151c5bff6aac86d77b0f6e7c52dc3117e3bfe9b57ec1371f87ad'}, + {'PyTorch-2.9.1_GCC14-ARM-workaround.patch': 'ea8a8662e20fae2fb3a74c7f8bf390aba80a598ab37f9131c720d25ebb14965d'}, + {'PyTorch-2.9.1_ignore-warning-incompatible-pointer-types.patch': + 'c4dad43a5d76e292bb0cada56ea05e8cbd522e3e83749cf3b2c15cd1e4ff6d7b'}, + {'PyTorch-2.9.1_normalize_tree_output.patch': '7d5994580339b73c28de595d9e5a0448db97b7d284f17efd18909e4613d170df'}, + {'PyTorch-2.9.1_set-test-timeout.patch': '15fa1149c250b1333b0bc491f659aaf89d5d6eaf6df5ebc81eea545478c1239c'}, + {'PyTorch-2.9.1_skip-bool-bessel-tests.patch': '9c07cddaf4c1b17fe9a54874f10b8edbfb85785c40ac1e3aea11c7f4b5abca69'}, + {'PyTorch-2.9.1_skip-flex-attention-tests-on-unsupported-cpus.patch': + 'e544f765beac7bdb3fc0ada98a3f92fd7e511ed8874de085aa2f213cca769d40'}, + {'PyTorch-2.9.1_skip-flex-attention-test_block_mask_non_divisible.patch': + 'd8489c192da549083569e09e5f94d2a83c9e41e111b1322f86512a9c5a58c0d9'}, + {'PyTorch-2.9.1_skip-test_checkpoint_save_failure_continues_serving.patch': + 'fa22d7ed5bf20afa4798c8af3ec732b1a3f530ecc4be5c223b3796e839b0b812'}, + {'PyTorch-2.9.1_skip-test_norm_matrix_degenerate_shapes.patch': + 'd6082e62696a38dbfbc87c228f7ccb54dba4cfc615ce158f1f3bf77e6e30ff4f'}, + {'PyTorch-2.9.1_skip-tests-requiring-SM90.patch': + '7db02152db2ae70c0fd4c4602fe381e26a74b8e4f7b16b1a3554b2353d761b10'}, + {'PyTorch-2.9.1_skip-RingFlexAttentionTest.patch': + '3cf0b11136fb18c45072687eafd3024d91b504d231a4fa40e04bc62d8d6019c7'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.31.3'), + ('hypothesis', '6.133.2'), + # For tests + ('parameterized', '0.9.0'), + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '16.1'), + ('pytest-shard', '0.1.2'), + ('pytest-subtests', '0.15.0'), + ('tlparse', '0.4.3'), + ('optree', '0.18.0'), + ('unittest-xml-reporting', '3.1.0'), +] + +dependencies = [ + # PyTorch is very sensitive to the NCCL & cuDNN versions. (Maybe the same for cuSPARSELt) + # Prefer those (listed per CUDA version) in + # https://github.com/pytorch/pytorch/blob/main/.github/scripts/generate_binary_build_matrix.py + # or https://github.com/pytorch/pytorch/blob/main/.ci/docker/common/install_cuda.sh + ('Ninja', '1.12.1'), + ('Python', '3.13.1'), + ('expecttest', '0.3.0'), + ('GMP', '6.3.0'), + ('MPFR', '4.2.2'), + ('networkx', '3.5'), + ('numactl', '2.0.19'), + ('Pillow', '11.3.0'), + ('protobuf-python', '6.31.1'), + ('protobuf', '31.1'), + ('pybind11', '2.13.6'), + ('PuLP', '3.3.0'), + ('PyYAML', '6.0.2'), + ('pyzstd', '0.19.0'), + ('SciPy-bundle', '2025.06'), + ('sympy', '1.14.0'), + ('Z3', '4.13.4'), +] + +prebuildopts = (f"""sed -i '1i set(PYTHON_SIX_SOURCE_DIR "%(builddir)s/six-{local_six_version}")' """ + "cmake/Dependencies.cmake && ") +buildcmd = '%(python)s setup.py build' # Run the (long) build in the build step + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # no xdoctest + 'doctests', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + # This test is expected to fail when run in their CI, but won't in our case. + # It just checks for a "CI" env variable + 'test_ci_sanity_check_fail', + # Requires pwlf Python package + 'distributed/_tools/test_sac_ilp', 'distributed/_tools/test_sac_estimator', + # 9 failures in H100, 7 are present in PYPI package, 2 are related to GC in Python < 3.12.4 + 'dynamo/test_dynamic_shapes', + # Broken test: https://github.com/pytorch/pytorch/issues/162179 + 'distributed/_composable/fsdp/test_fully_shard_logging', + # Broken: https://github.com/pytorch/pytorch/issues/137027 + 'inductor/test_extension_backend', + # Requires optional Python packages + 'test_public_bindings', + # 1 Failure and not important + 'dynamo/test_utils', + # Packaging test only, not important for us + 'test_license', + ] +} + +runtest = ( + # Disable symbol resolution in stack traces that can cause hangs and slowdowns + ' TORCH_DISABLE_ADDR2LINE=1' + ' TORCHINDUCTOR_CUTLASS_DIR=%(start_dir)s/third_party/cutlass' + ' PYTEST_ADDOPTS=--full-trace' + ' PYTHONUNBUFFERED=1' + ' %(python)s test/run_test.py' + ' --continue-through-error --pipe-logs --verbose' + ' %(excluded_tests)s' +) + +postinstallcmds = [ + "mkdir %(installdir)s/extra", + "cp -r third_party/cutlass %(installdir)s/extra/", +] + +modextrapaths = {'TORCHINDUCTOR_CUTLASS_DIR': 'extra/cutlass'} + +tests = ['PyTorch-check-cpp-extension.py', 'PyTorch-check-cutlass.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..af4c7f41cb77 --- /dev/null +++ b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-14.2.0.eb @@ -0,0 +1,18 @@ +easyblock = 'PythonPackage' + +name = 'parameterized' +version = '0.9.0' + +homepage = 'https://github.com/wolever/parameterized' +description = " Parameterized testing with any Python test framework " + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Python', '3.13.1')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..8ed22df50b59 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-14.2.0.eb @@ -0,0 +1,20 @@ +easyblock = 'PythonPackage' + +name = 'pytest-flakefinder' +version = '1.1.0' + +homepage = 'https://github.com/dropbox/pytest-flakefinder' +description = "Runs tests multiple times to expose flakiness." + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.13.1'), + ('Python-bundle-PyPI', '2025.04'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-16.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-16.1-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..ebf4241b7998 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-16.1-GCCcore-14.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '16.1' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = "pytest plugin to re-run tests to eliminate flaky failures." + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/pytest-dev/pytest-rerunfailures/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c6834f205a88069758d67230747a7ce248133d6e9cf494bce40f4b38b0333398'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.13.1'), + ('Python-bundle-PyPI', '2025.04'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..c72e6b3234f4 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-14.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'pytest-shard' +version = '0.1.2' + +homepage = 'https://github.com/AdamGleave/pytest-shard' +description = """pytest plugin to support parallelism across multiple machines. + +Shards tests based on a hash of their test name enabling easy parallelism across machines, +suitable for a wide variety of continuous integration services. +Tests are split at the finest level of granularity, individual test cases, +enabling parallelism even if all of your tests are in a single file +(or even single parameterized test method). +""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.13.1'), + ('Python-bundle-PyPI', '2025.04'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-subtests/pytest-subtests-0.15.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pytest-subtests/pytest-subtests-0.15.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..9bd3a2a38868 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-subtests/pytest-subtests-0.15.0-GCCcore-14.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'pytest-subtests' +version = '0.15.0' + +homepage = 'https://github.com/pytest-dev/pytest-subtests' +description = "unittest subTest() support and subtests fixture." + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +sources = ['pytest_subtests-%(version)s.tar.gz'] +checksums = ['cb495bde05551b784b8f0b8adfaa27edb4131469a27c339b80fd8d6ba33f887c'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.13.1'), + ('Python-bundle-PyPI', '2025.04'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyzstd/pyzstd-0.19.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pyzstd/pyzstd-0.19.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..3a5815377829 --- /dev/null +++ b/easybuild/easyconfigs/p/pyzstd/pyzstd-0.19.0-GCCcore-14.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'pyzstd' +version = '0.19.0' + +homepage = 'https://github.com/Rogdham/pyzstd' +description = """Pyzstd module provides classes and functions for compressing and decompressing data, +using Facebook's Zstandard (or zstd as short name) algorithm. + +The API style is similar to Python's bz2/lzma/zlib modules.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.27.0'), +] +dependencies = [ + ('Python', '3.13.1'), + ('zstd', '1.5.6'), +] + +exts_list = [ + ('backports.zstd', '1.2.0', { + 'sources': { + 'download_filename': 'backports_zstd-%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + 'checksums': ['6c3fc19342db750b52fde793e4440a93575761b1493bb4a1d3b26033d2bd3452'], + 'preinstallopts': "sed -i '/^license/d' pyproject.toml && ", + }), + (name, version, { + # Use preinstalled zstd library + 'installopts': '--config-settings="--build-option=--dynamic-link-zstd"', + 'checksums': ['44e7b9be7b445aac742003ddee52ca31385d52dffb8c60adf633fad8e795f10d'], + }) +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tlparse/tlparse-0.4.3-GCCcore-14.2.0.eb b/easybuild/easyconfigs/t/tlparse/tlparse-0.4.3-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..857daab6df51 --- /dev/null +++ b/easybuild/easyconfigs/t/tlparse/tlparse-0.4.3-GCCcore-14.2.0.eb @@ -0,0 +1,352 @@ +easyblock = 'CargoPythonPackage' + +name = 'tlparse' +version = '0.4.3' + +homepage = 'https://github.com/ezyang/tlparse' +description = "Parse structured PT2 (PyTorch 2) logs" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +github_account = 'ezyang' +source_urls = [GITHUB_SOURCE] +sources = [V_VERSION_TAR_GZ] +checksums = [ + {'v0.4.3.tar.gz': '2e34202dbf2f1406c4fc0e3a636fe763e4f96b22ae8e51777adaff8e771ae25d'}, + {'adler2-2.0.1.tar.gz': '320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anstream-0.6.20.tar.gz': '3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192'}, + {'anstyle-1.0.11.tar.gz': '862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd'}, + {'anstyle-parse-0.2.7.tar.gz': '4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2'}, + {'anstyle-query-1.1.4.tar.gz': '9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2'}, + {'anstyle-wincon-3.0.10.tar.gz': '3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a'}, + {'anyhow-1.0.99.tar.gz': 'b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100'}, + {'assert_cmd-2.0.17.tar.gz': '2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66'}, + {'autocfg-1.5.0.tar.gz': 'c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8'}, + {'base16ct-0.2.0.tar.gz': '4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf'}, + {'base64-0.22.1.tar.gz': '72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.9.4.tar.gz': '2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.12.0.tar.gz': '234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4'}, + {'bumpalo-3.19.0.tar.gz': '46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'cc-1.2.37.tar.gz': '65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44'}, + {'cfg-if-1.0.3.tar.gz': '2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9'}, + {'chrono-0.4.42.tar.gz': '145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2'}, + {'clap-4.5.47.tar.gz': '7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931'}, + {'clap_builder-4.5.47.tar.gz': '2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6'}, + {'clap_derive-4.5.47.tar.gz': 'bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c'}, + {'clap_lex-0.7.5.tar.gz': 'b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675'}, + {'colorchoice-1.0.4.tar.gz': 'b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75'}, + {'console-0.15.11.tar.gz': '054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8'}, + {'core-foundation-sys-0.8.7.tar.gz': '773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b'}, + {'crc32fast-1.5.0.tar.gz': '9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'deranged-0.5.3.tar.gz': 'd630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc'}, + {'difflib-0.4.0.tar.gz': '6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'encode_unicode-1.0.0.tar.gz': '34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0'}, + {'equivalent-1.0.2.tar.gz': '877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f'}, + {'errno-0.3.14.tar.gz': '39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb'}, + {'fastrand-2.3.0.tar.gz': '37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be'}, + {'find-msvc-tools-0.1.1.tar.gz': '7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d'}, + {'flate2-1.1.2.tar.gz': '4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d'}, + {'float-cmp-0.10.0.tar.gz': 'b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.3.3.tar.gz': '26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4'}, + {'hashbrown-0.15.5.tar.gz': '9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'html-escape-0.2.13.tar.gz': '6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476'}, + {'iana-time-zone-0.1.64.tar.gz': '33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'indexmap-2.11.1.tar.gz': '206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921'}, + {'indicatif-0.17.11.tar.gz': '183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235'}, + {'is_terminal_polyfill-1.70.1.tar.gz': '7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf'}, + {'itoa-1.0.15.tar.gz': '4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c'}, + {'js-sys-0.3.78.tar.gz': '0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738'}, + {'libc-0.2.175.tar.gz': '6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543'}, + {'linked-hash-map-0.5.6.tar.gz': '0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f'}, + {'linux-raw-sys-0.11.0.tar.gz': 'df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039'}, + {'log-0.4.28.tar.gz': '34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.7.5.tar.gz': '32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0'}, + {'miniz_oxide-0.8.9.tar.gz': '1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'normpath-1.4.0.tar.gz': 'c178369371fd7db523726931e50d430b560e3059665abc537ba3277e9274c9c4'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.21.3.tar.gz': '42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d'}, + {'once_cell_polyfill-1.70.1.tar.gz': 'a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad'}, + {'onig-6.5.1.tar.gz': '336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0'}, + {'onig_sys-69.9.1.tar.gz': 'c7f86c6eef3d6df15f23bcfb6af487cbd2fed4e5581d58d5bf1f5f8b7f6727dc'}, + {'opener-0.6.1.tar.gz': '6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788'}, + {'pkg-config-0.3.32.tar.gz': '7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c'}, + {'plist-1.7.4.tar.gz': '3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1'}, + {'portable-atomic-1.11.1.tar.gz': 'f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'predicates-3.1.3.tar.gz': 'a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573'}, + {'predicates-core-1.0.9.tar.gz': '727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa'}, + {'predicates-tree-1.0.12.tar.gz': '72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c'}, + {'proc-macro2-1.0.101.tar.gz': '89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de'}, + {'quick-xml-0.38.3.tar.gz': '42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89'}, + {'quote-1.0.40.tar.gz': '1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d'}, + {'r-efi-5.3.0.tar.gz': '69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f'}, + {'regex-1.11.2.tar.gz': '23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912'}, + {'regex-automata-0.4.10.tar.gz': '6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6'}, + {'regex-syntax-0.8.6.tar.gz': 'caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001'}, + {'rustix-1.1.2.tar.gz': 'cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e'}, + {'rustversion-1.0.22.tar.gz': 'b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d'}, + {'ryu-1.0.20.tar.gz': '28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'serde-1.0.219.tar.gz': '5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6'}, + {'serde_derive-1.0.219.tar.gz': '5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00'}, + {'serde_json-1.0.143.tar.gz': 'd401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'syn-2.0.106.tar.gz': 'ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6'}, + {'syntect-5.2.0.tar.gz': '874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1'}, + {'tempfile-3.22.0.tar.gz': '84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53'}, + {'termtree-0.5.1.tar.gz': '8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683'}, + {'thiserror-1.0.69.tar.gz': 'b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52'}, + {'thiserror-impl-1.0.69.tar.gz': '4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1'}, + {'time-0.3.43.tar.gz': '83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031'}, + {'time-core-0.1.6.tar.gz': '40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b'}, + {'time-macros-0.2.24.tar.gz': '30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'typenum-1.18.0.tar.gz': '1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f'}, + {'unicode-ident-1.0.19.tar.gz': 'f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d'}, + {'unicode-width-0.2.1.tar.gz': '4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c'}, + {'utf8-width-0.1.7.tar.gz': '86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wait-timeout-0.2.1.tar.gz': '09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11'}, + {'walkdir-2.5.0.tar.gz': '29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b'}, + {'wasi-0.14.5+wasi-0.2.4.tar.gz': 'a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4'}, + {'wasip2-1.0.0+wasi-0.2.4.tar.gz': '03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24'}, + {'wasm-bindgen-0.2.101.tar.gz': '7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b'}, + {'wasm-bindgen-backend-0.2.101.tar.gz': 'e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb'}, + {'wasm-bindgen-macro-0.2.101.tar.gz': '7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d'}, + {'wasm-bindgen-macro-support-0.2.101.tar.gz': '7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa'}, + {'wasm-bindgen-shared-0.2.101.tar.gz': 'f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1'}, + {'web-time-1.1.0.tar.gz': '5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.11.tar.gz': 'c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.62.0.tar.gz': '57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c'}, + {'windows-implement-0.60.0.tar.gz': 'a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836'}, + {'windows-interface-0.59.1.tar.gz': 'bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8'}, + {'windows-link-0.1.3.tar.gz': '5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a'}, + {'windows-link-0.2.0.tar.gz': '45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65'}, + {'windows-result-0.4.0.tar.gz': '7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f'}, + {'windows-strings-0.5.0.tar.gz': '7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda'}, + {'windows-sys-0.59.0.tar.gz': '1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b'}, + {'windows-sys-0.60.2.tar.gz': 'f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb'}, + {'windows-sys-0.61.0.tar.gz': 'e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa'}, + {'windows-targets-0.52.6.tar.gz': '9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973'}, + {'windows-targets-0.53.3.tar.gz': 'd5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91'}, + {'windows_aarch64_gnullvm-0.52.6.tar.gz': '32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3'}, + {'windows_aarch64_gnullvm-0.53.0.tar.gz': '86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764'}, + {'windows_aarch64_msvc-0.52.6.tar.gz': '09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469'}, + {'windows_aarch64_msvc-0.53.0.tar.gz': 'c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c'}, + {'windows_i686_gnu-0.52.6.tar.gz': '8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b'}, + {'windows_i686_gnu-0.53.0.tar.gz': 'c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3'}, + {'windows_i686_gnullvm-0.52.6.tar.gz': '0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66'}, + {'windows_i686_gnullvm-0.53.0.tar.gz': '9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11'}, + {'windows_i686_msvc-0.52.6.tar.gz': '240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66'}, + {'windows_i686_msvc-0.53.0.tar.gz': '581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d'}, + {'windows_x86_64_gnu-0.52.6.tar.gz': '147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78'}, + {'windows_x86_64_gnu-0.53.0.tar.gz': '2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba'}, + {'windows_x86_64_gnullvm-0.52.6.tar.gz': '24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d'}, + {'windows_x86_64_gnullvm-0.53.0.tar.gz': '0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57'}, + {'windows_x86_64_msvc-0.52.6.tar.gz': '589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec'}, + {'windows_x86_64_msvc-0.53.0.tar.gz': '271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486'}, + {'wit-bindgen-0.45.1.tar.gz': '5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36'}, + {'yaml-rust-0.4.5.tar.gz': '56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Rust', '1.91.1'), + ('maturin', '1.8.3'), +] +dependencies = [ + ('Python', '3.13.1'), +] + +options = {'modulename': False} +crates = [ + ('adler2', '2.0.1'), + ('aho-corasick', '1.1.3'), + ('android_system_properties', '0.1.5'), + ('anstream', '0.6.20'), + ('anstyle', '1.0.11'), + ('anstyle-parse', '0.2.7'), + ('anstyle-query', '1.1.4'), + ('anstyle-wincon', '3.0.10'), + ('anyhow', '1.0.99'), + ('assert_cmd', '2.0.17'), + ('autocfg', '1.5.0'), + ('base16ct', '0.2.0'), + ('base64', '0.22.1'), + ('bincode', '1.3.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.9.4'), + ('block-buffer', '0.10.4'), + ('bstr', '1.12.0'), + ('bumpalo', '3.19.0'), + ('byteorder', '1.5.0'), + ('cc', '1.2.37'), + ('cfg-if', '1.0.3'), + ('chrono', '0.4.42'), + ('clap', '4.5.47'), + ('clap_builder', '4.5.47'), + ('clap_derive', '4.5.47'), + ('clap_lex', '0.7.5'), + ('colorchoice', '1.0.4'), + ('console', '0.15.11'), + ('core-foundation-sys', '0.8.7'), + ('crc32fast', '1.5.0'), + ('crypto-common', '0.1.6'), + ('deranged', '0.5.3'), + ('difflib', '0.4.0'), + ('digest', '0.10.7'), + ('doc-comment', '0.3.3'), + ('encode_unicode', '1.0.0'), + ('equivalent', '1.0.2'), + ('errno', '0.3.14'), + ('fastrand', '2.3.0'), + ('find-msvc-tools', '0.1.1'), + ('flate2', '1.1.2'), + ('float-cmp', '0.10.0'), + ('fnv', '1.0.7'), + ('fxhash', '0.2.1'), + ('generic-array', '0.14.7'), + ('getrandom', '0.3.3'), + ('hashbrown', '0.15.5'), + ('heck', '0.5.0'), + ('html-escape', '0.2.13'), + ('iana-time-zone', '0.1.64'), + ('iana-time-zone-haiku', '0.1.2'), + ('indexmap', '2.11.1'), + ('indicatif', '0.17.11'), + ('is_terminal_polyfill', '1.70.1'), + ('itoa', '1.0.15'), + ('js-sys', '0.3.78'), + ('libc', '0.2.175'), + ('linked-hash-map', '0.5.6'), + ('linux-raw-sys', '0.11.0'), + ('log', '0.4.28'), + ('md-5', '0.10.6'), + ('memchr', '2.7.5'), + ('miniz_oxide', '0.8.9'), + ('normalize-line-endings', '0.3.0'), + ('normpath', '1.4.0'), + ('num-conv', '0.1.0'), + ('num-traits', '0.2.19'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.21.3'), + ('once_cell_polyfill', '1.70.1'), + ('onig', '6.5.1'), + ('onig_sys', '69.9.1'), + ('opener', '0.6.1'), + ('pkg-config', '0.3.32'), + ('plist', '1.7.4'), + ('portable-atomic', '1.11.1'), + ('powerfmt', '0.2.0'), + ('predicates', '3.1.3'), + ('predicates-core', '1.0.9'), + ('predicates-tree', '1.0.12'), + ('proc-macro2', '1.0.101'), + ('quick-xml', '0.38.3'), + ('quote', '1.0.40'), + ('r-efi', '5.3.0'), + ('regex', '1.11.2'), + ('regex-automata', '0.4.10'), + ('regex-syntax', '0.8.6'), + ('rustix', '1.1.2'), + ('rustversion', '1.0.22'), + ('ryu', '1.0.20'), + ('same-file', '1.0.6'), + ('serde', '1.0.219'), + ('serde_derive', '1.0.219'), + ('serde_json', '1.0.143'), + ('shlex', '1.3.0'), + ('strsim', '0.11.1'), + ('syn', '2.0.106'), + ('syntect', '5.2.0'), + ('tempfile', '3.22.0'), + ('termtree', '0.5.1'), + ('thiserror', '1.0.69'), + ('thiserror-impl', '1.0.69'), + ('time', '0.3.43'), + ('time-core', '0.1.6'), + ('time-macros', '0.2.24'), + ('tinytemplate', '1.2.1'), + ('typenum', '1.18.0'), + ('unicode-ident', '1.0.19'), + ('unicode-width', '0.2.1'), + ('utf8-width', '0.1.7'), + ('utf8parse', '0.2.2'), + ('version_check', '0.9.5'), + ('wait-timeout', '0.2.1'), + ('walkdir', '2.5.0'), + ('wasi', '0.14.5+wasi-0.2.4'), + ('wasip2', '1.0.0+wasi-0.2.4'), + ('wasm-bindgen', '0.2.101'), + ('wasm-bindgen-backend', '0.2.101'), + ('wasm-bindgen-macro', '0.2.101'), + ('wasm-bindgen-macro-support', '0.2.101'), + ('wasm-bindgen-shared', '0.2.101'), + ('web-time', '1.1.0'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.11'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.62.0'), + ('windows-implement', '0.60.0'), + ('windows-interface', '0.59.1'), + ('windows-link', '0.1.3'), + ('windows-link', '0.2.0'), + ('windows-result', '0.4.0'), + ('windows-strings', '0.5.0'), + ('windows-sys', '0.59.0'), + ('windows-sys', '0.60.2'), + ('windows-sys', '0.61.0'), + ('windows-targets', '0.52.6'), + ('windows-targets', '0.53.3'), + ('windows_aarch64_gnullvm', '0.52.6'), + ('windows_aarch64_gnullvm', '0.53.0'), + ('windows_aarch64_msvc', '0.52.6'), + ('windows_aarch64_msvc', '0.53.0'), + ('windows_i686_gnu', '0.52.6'), + ('windows_i686_gnu', '0.53.0'), + ('windows_i686_gnullvm', '0.52.6'), + ('windows_i686_gnullvm', '0.53.0'), + ('windows_i686_msvc', '0.52.6'), + ('windows_i686_msvc', '0.53.0'), + ('windows_x86_64_gnu', '0.52.6'), + ('windows_x86_64_gnu', '0.53.0'), + ('windows_x86_64_gnullvm', '0.52.6'), + ('windows_x86_64_gnullvm', '0.53.0'), + ('windows_x86_64_msvc', '0.52.6'), + ('windows_x86_64_msvc', '0.53.0'), + ('wit-bindgen', '0.45.1'), + ('yaml-rust', '0.4.5'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools'