From ca9daf581bb6d55899ef8abcbbc0bb90d5440316 Mon Sep 17 00:00:00 2001 From: Mateusz Kapusta Date: Mon, 25 May 2026 07:19:51 +0000 Subject: [PATCH] add cibuild setup and full publishing pipeline --- .dockerignore | 1 + cibuildwheel.toml | 8 + pixi.lock | 441 ++++++++++++++++++++++++++++-------------- pixi.toml | 37 +++- pyproject.toml | 1 - scripts/build_pmix.sh | 46 +++++ 6 files changed, 383 insertions(+), 151 deletions(-) create mode 100644 .dockerignore create mode 100644 cibuildwheel.toml create mode 100644 scripts/build_pmix.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..29508df --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.pixi/ diff --git a/cibuildwheel.toml b/cibuildwheel.toml new file mode 100644 index 0000000..07192e8 --- /dev/null +++ b/cibuildwheel.toml @@ -0,0 +1,8 @@ +[tool.cibuildwheel] +build = ["cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"] +before-all = "bash {project}/scripts/build_pmix.sh 2>&1 | tee /tmp/pmix-build.log && echo 'BUILD DONE' && ls /tmp/pmix/lib/ || echo 'BUILD FAILED'" +build-frontend = "build" + +[tool.cibuildwheel.linux] +environment = { PMIX_PREFIX = "/tmp/pmix", PKG_CONFIG_PATH = "/tmp/pmix/lib/pkgconfig", LD_LIBRARY_PATH = "/tmp/pmix/lib", LIBRARY_PATH = "/tmp/pmix/lib", C_INCLUDE_PATH = "/tmp/pmix/include", CFLAGS = "-I/tmp/pmix/include", LDFLAGS = "-L/tmp/pmix/lib -Wl,-rpath,/tmp/pmix/lib" } +repair-wheel-command = "LD_LIBRARY_PATH=/tmp/pmix/lib auditwheel repair -w {dest_dir} {wheel}" diff --git a/pixi.lock b/pixi.lock index bd71297..a5c6d0c 100644 --- a/pixi.lock +++ b/pixi.lock @@ -10,8 +10,12 @@ environments: packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bashlex-0.18-py312h7900ff3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.4.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cibuildwheel-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.2.0-py312hf79963d_0.conda @@ -23,20 +27,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.4-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-python-13.2.0-pyhc455866_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.2-he2cc418_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.0-py312hcaba1f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h5875eb1_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-7_h5875eb1_mkl.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-hd0affe5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_hfef963f_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-7_hfef963f_mkl.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.17.1.22-h85c024f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.0-hecca717_0.conda @@ -49,7 +56,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h5e43f62_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-7_h5e43f62_mkl.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda @@ -64,7 +71,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cpu_mkl_h7058990_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cpu_mkl_h7c10738_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda @@ -74,7 +81,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.5-h4922eb0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2025.3.1-h0e700b2_12.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2026.0.0-h0e700b2_915.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-he0a73b1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mpi-1.0.1-openmpi.conda @@ -84,23 +91,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.4-py312h33ff503_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nvshmem4py-0.3.0.37673636-py312h7bcfba5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2025.3.1-hf2ce2f3_12.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2026.0.0-hf2ce2f3_915.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openmpi-5.0.10-h67ed482_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.19.1-py312hd9148b4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/patchelf-0.17.2-h58526e2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.6-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyelftools-0.32-pyh707e725_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cpu_mkl_py312_hca44ed5_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-cpu-2.10.0-cpu_mkl_hd61e0f4_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cpu_mkl_py312_h87a5e5b_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-cpu-2.10.0-cpu_mkl_hd61e0f4_104.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda @@ -115,10 +126,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ucc-1.7.0-h2521932_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ucx-1.20.0-hf72d326_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - pypi: https://files.pythonhosted.org/packages/b0/c2/bb8ba1cec816fa356e19da83c59bfd4ac34dba1ae41eb7622c18f4b1d48d/auditwheel-6.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0d/fe/6bea5c9162869c5beba5d9c8abbed835ec85bf1ec1fba05a3822325c45f3/build-1.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/95/38/0d29a6fd7d0d1373f0c0c88a04ba20e359b257753ac497564cd660fc1d55/cryptography-48.0.0-cp311-abi3-manylinux_2_28_x86_64.whl @@ -135,8 +145,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/0e/bf298920729f216adcb002acf7ea01b90842603d2e4e2ce9b900d9ee8fab/nh3-0.3.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/5a/4a949d170476de3c04ac036b5466422fbcbf348a917d8042eedf2cac7d1b/requests-2.34.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl @@ -148,16 +156,23 @@ environments: - pypi: ./ osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bashlex-0.18-py312h81bd7bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.4.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cibuildwheel-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fmt-12.1.0-h403dcb5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmpy2-2.3.0-py312he1ee7cc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda @@ -181,7 +196,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpmix-devel-5.0.8-hce30654_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.33.5-h4a5acfd_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.1-h1b79a29_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtorch-2.10.0-cpu_generic_hf7cc835_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtorch-2.10.0-cpu_generic_h721bd14_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.51.0-h6caf38d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h6967ea9_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-heed7d32_0.conda @@ -202,16 +217,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/patchelf-0.18.0-h965bd2d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.6-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyelftools-0.32-pyh707e725_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-2.10.0-cpu_generic_py312_h2470ad0_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-cpu-2.10.0-cpu_generic_hcc7c195_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-2.10.0-cpu_generic_py312_h2470ad0_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-cpu-2.10.0-cpu_generic_hcc7c195_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sleef-3.9.0-hb028509_0.conda @@ -222,9 +241,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - pypi: https://files.pythonhosted.org/packages/b0/c2/bb8ba1cec816fa356e19da83c59bfd4ac34dba1ae41eb7622c18f4b1d48d/auditwheel-6.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/0d/fe/6bea5c9162869c5beba5d9c8abbed835ec85bf1ec1fba05a3822325c45f3/build-1.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl - pypi: https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl @@ -237,8 +255,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/85/30/d162e99746a2fb1d98bb0ef23af3e201b156cf09f7de867c7390c8fe1c06/nh3-0.3.5-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl - - pypi: https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/5a/4a949d170476de3c04ac036b5466422fbcbf348a917d8042eedf2cac7d1b/requests-2.34.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl @@ -278,21 +294,42 @@ packages: - packaging>=20.9 - pyelftools>=0.24 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/0d/fe/6bea5c9162869c5beba5d9c8abbed835ec85bf1ec1fba05a3822325c45f3/build-1.5.0-py3-none-any.whl - name: build - version: 1.5.0 - sha256: 13f3eecb844759ab66efec90ca17639bbf14dc06cb2fdf37a9010322d9c50a6f - requires_dist: - - packaging>=24.0 - - pyproject-hooks - - colorama ; os_name == 'nt' - - importlib-metadata>=4.6 ; python_full_version < '3.10.2' - - tomli>=1.1.0 ; python_full_version < '3.11' - - keyring ; extra == 'keyring' - - uv>=0.1.18 ; extra == 'uv' - - virtualenv>=20.17 ; python_full_version >= '3.10' and python_full_version < '3.14' and extra == 'virtualenv' - - virtualenv>=20.31 ; python_full_version >= '3.14' and extra == 'virtualenv' - requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/bashlex-0.18-py312h7900ff3_3.conda + sha256: 88e4625bcebe758782143efdccd031592bedfbef41d0d5636507b9693cfa562f + md5: a06444714683e0c2354d56ac8e3d7ba1 + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: GPL-3.0-only + license_family: GPL + purls: + - pkg:pypi/bashlex?source=hash-mapping + size: 159910 + timestamp: 1756367489794 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bashlex-0.18-py312h81bd7bf_3.conda + sha256: d945b19e4abecc3bae1ffa07180c452252e21b66c855e0431bf5ee9eb7515669 + md5: 101999691c78ce988b9389fc247ba27c + depends: + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: GPL-3.0-only + license_family: GPL + purls: + - pkg:pypi/bashlex?source=hash-mapping + size: 159852 + timestamp: 1756367756728 +- conda: https://conda.anaconda.org/conda-forge/noarch/bracex-2.2.1-pyhd8ed1ab_0.tar.bz2 + sha256: e3f867b5be7837366e989df8f6e64f94ec180676fea3494285ee873f24921156 + md5: 586272349d7bef5b1ef527b56dca73cb + depends: + - python >=3.5 + license: MIT + license_family: MIT + purls: + - pkg:pypi/bracex?source=hash-mapping + size: 14045 + timestamp: 1636190617443 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 md5: d2ffd7602c02f2b316fd921d39876885 @@ -323,11 +360,16 @@ packages: purls: [] size: 131039 timestamp: 1776865545798 -- pypi: https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl - name: certifi - version: 2026.4.22 - sha256: 3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda + sha256: 645655a3510e38e625da136595f3f16f2130c3263630cc3bc8f60f619ddbe490 + md5: 9fefff2f745ea1cc2ef15211a20c054a + depends: + - python >=3.10 + license: ISC + purls: + - pkg:pypi/certifi?source=compressed-mapping + size: 134201 + timestamp: 1779285131141 - pypi: https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: cffi version: 2.0.0 @@ -345,6 +387,30 @@ packages: version: 3.4.7 sha256: 5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116 requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/cibuildwheel-3.4.1-pyhc364b38_0.conda + sha256: 3e1ced641bbb9965dd134ae68581fe39131411cc56ad24622b0a29f56d13aabe + md5: cafb3c595252ee85e2715593770aee62 + depends: + - python >=3.11 + - bashlex + - bracex + - certifi + - dependency-groups + - filelock + - humanize + - packaging + - patchelf + - platformdirs + - pyelftools + - python-build + - wheel + - python + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/cibuildwheel?source=hash-mapping + size: 133137 + timestamp: 1775147048491 - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 md5: 962b9857ee8e7018c22f2776ffa0b2d7 @@ -497,6 +563,20 @@ packages: purls: [] size: 21908 timestamp: 1773093709154 +- conda: https://conda.anaconda.org/conda-forge/noarch/dependency-groups-1.3.1-pyhe01879c_0.conda + sha256: dedddeb6e87dbc186b0cee88c9d3973e6dc65e1c939668f33b2fa8bbdb8bb5d8 + md5: b36dcdb7288182d4ddadb60c489f3d62 + depends: + - python >=3.9 + - packaging + - tomli + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/dependency-groups?source=hash-mapping + size: 14484 + timestamp: 1746252388474 - pypi: https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl name: docutils version: 0.22.4 @@ -611,6 +691,17 @@ packages: - pkg:pypi/gmpy2?source=hash-mapping size: 194024 timestamp: 1773245811244 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda + sha256: 6c4343b376d0b12a4c75ab992640970d36c933cad1fd924f6a1181fa91710e80 + md5: daddf757c3ecd6067b9af1df1f25d89e + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/humanize?source=hash-mapping + size: 67994 + timestamp: 1766267728652 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a md5: c80d8a3b84358cb967fa81e7075fbc8a @@ -650,6 +741,19 @@ packages: - mypy>=1.11.2 ; extra == 'all' - pytest>=8.3.2 ; extra == 'all' requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 + md5: 080594bf4493e6bae2607e65390c520a + depends: + - python >=3.10 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=hash-mapping + size: 34387 + timestamp: 1773931568510 - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 md5: 9614359868482abba1bd15ce465e3c42 @@ -820,25 +924,25 @@ packages: purls: [] size: 1229639 timestamp: 1770863511331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h5875eb1_mkl.conda - build_number: 6 - sha256: a73ec64c0f60a7733f82a679342bdad88e0230ba8243b12ece13a23aded431f4 - md5: d03e4571f7876dcd4e530f3d07faf333 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-7_h5875eb1_mkl.conda + build_number: 7 + sha256: 0bf7e4e63710ecee50232e8fbf629ff6f55a54b59f3c357bbd9d62eed01a664c + md5: 0f4380d54c4e70f89f10e96703dcd8d4 depends: - - mkl >=2025.3.1,<2026.0a0 + - mkl >=2026.0.0,<2027.0a0 constrains: - - libcblas 3.11.0 6*_mkl - - liblapack 3.11.0 6*_mkl - - liblapacke 3.11.0 6*_mkl - - blas 2.306 mkl + - blas 2.307 mkl + - libcblas 3.11.0 7*_mkl + - liblapack 3.11.0 7*_mkl + - liblapacke 3.11.0 7*_mkl track_features: - blas_mkl - blas_mkl_2 license: BSD-3-Clause license_family: BSD purls: [] - size: 18980 - timestamp: 1774503032324 + size: 19112 + timestamp: 1778489855165 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-7_h51639a9_openblas.conda build_number: 7 sha256: 662935bfb93d2d097e26e273a3a2f504a9f833f64aa6f9e295b577655478c39b @@ -868,23 +972,23 @@ packages: purls: [] size: 124432 timestamp: 1774333989027 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_hfef963f_mkl.conda - build_number: 6 - sha256: d98a39a8e61af301bf67bf3fb946baff9686864886560cdd48d5259c080c58a5 - md5: 72cf77ee057f87d826f9b98cacd67a59 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-7_hfef963f_mkl.conda + build_number: 7 + sha256: 898cd317f61f3592b3a0297b533d34f936436b9d8a734891f6cbc0fa54ffaf52 + md5: 9e665ed48d8976fe8aca4b9384eb8739 depends: - - libblas 3.11.0 6_h5875eb1_mkl + - libblas 3.11.0 7_h5875eb1_mkl constrains: - - liblapack 3.11.0 6*_mkl - - liblapacke 3.11.0 6*_mkl - - blas 2.306 mkl + - blas 2.307 mkl + - liblapack 3.11.0 7*_mkl + - liblapacke 3.11.0 7*_mkl track_features: - blas_mkl license: BSD-3-Clause license_family: BSD purls: [] - size: 18635 - timestamp: 1774503047304 + size: 18751 + timestamp: 1778489862494 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-7_hb0561ab_openblas.conda build_number: 7 sha256: 3ac3d27022b3ca8b1980c087e0ede250434f6ed90a4fdc78a8a5ed382bc75505 @@ -1165,23 +1269,23 @@ packages: purls: [] size: 750379 timestamp: 1754909073836 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h5e43f62_mkl.conda - build_number: 6 - sha256: 8715428e721a63880d4e548375a744f177200a5161aec3ebe533f33eaf7ec3a5 - md5: 8b13738802df008211c9ecd08775ca21 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-7_h5e43f62_mkl.conda + build_number: 7 + sha256: a170a14599cf803294dbcfbb97b9887bb59cc2492eec1ed8b923058e64da4858 + md5: 31880f0ea984b1902237c679c9d25212 depends: - - libblas 3.11.0 6_h5875eb1_mkl + - libblas 3.11.0 7_h5875eb1_mkl constrains: - - libcblas 3.11.0 6*_mkl - - liblapacke 3.11.0 6*_mkl - - blas 2.306 mkl + - blas 2.307 mkl + - libcblas 3.11.0 7*_mkl + - liblapacke 3.11.0 7*_mkl track_features: - blas_mkl license: BSD-3-Clause license_family: BSD purls: [] - size: 18634 - timestamp: 1774503062183 + size: 18762 + timestamp: 1778489869820 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-7_hd9741b5_openblas.conda build_number: 7 sha256: ff3018918ca8b22173dcb231842e819767fd05a08df61483eb5f3e9f2895d114 @@ -1443,9 +1547,9 @@ packages: purls: [] size: 492799 timestamp: 1773797095649 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cpu_mkl_h7058990_103.conda - sha256: 92d93119edc7a058987a72984e07a434f999031fcc7a0c851d28cb87c372128a - md5: 2df90510834746b1f52c5299bc99a81f +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cpu_mkl_h7c10738_104.conda + sha256: e5f7dd7f75b0083e0d631acfd0245a1575420b23b1798a27a4865fe15c2bc1d5 + md5: a32a86eb04008f3f0c0abc9d3684c5a9 depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex * *_llvm @@ -1459,23 +1563,23 @@ packages: - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - mkl >=2025.3.0,<2026.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-openmp >=22.1.5 + - mkl >=2026.0.0,<2027.0a0 - pybind11-abi 11 - sleef >=3.9.0,<4.0a0 constrains: - pytorch-cpu 2.10.0 + - pytorch 2.10.0 cpu_mkl_*_104 - pytorch-gpu <0.0a0 - - pytorch 2.10.0 cpu_mkl_*_103 license: BSD-3-Clause license_family: BSD purls: [] - size: 61645121 - timestamp: 1772260200165 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtorch-2.10.0-cpu_generic_hf7cc835_3.conda - sha256: a47f1ec77004982a78e3e1533d841bea0930c22594c12bc67e2cb74cd7709b97 - md5: 98f89ad42eaba858443d31336677aed2 + size: 61616658 + timestamp: 1779114902033 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtorch-2.10.0-cpu_generic_h721bd14_4.conda + sha256: 587fe684003122f76c16c09da43a8dc89319cf3e36da434e2976500e5728ff98 + md5: 84a746ba647d0731918ab1609d6fb4bc depends: - __osx >=11.0 - fmt >=12.1.0,<12.2.0a0 @@ -1487,21 +1591,21 @@ packages: - liblapack >=3.9.0,<4.0a0 - libprotobuf >=6.33.5,<6.33.6.0a0 - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 - llvm-openmp >=19.1.7 - pybind11-abi 11 - sleef >=3.9.0,<4.0a0 constrains: + - pytorch 2.10.0 cpu_generic_*_4 + - libopenblas * openmp_* - pytorch-cpu 2.10.0 - - openblas * openmp_* - pytorch-gpu <0.0a0 - - libopenblas * openmp_* - - pytorch 2.10.0 cpu_generic_*_3 + - openblas * openmp_* license: BSD-3-Clause license_family: BSD purls: [] - size: 30298089 - timestamp: 1772181525404 + size: 31813488 + timestamp: 1779114489175 - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda sha256: 1a1e367c04d66030aa93b4d33905f7f6fbb59cfc292e816fe3e9c1e8b3f4d1e2 md5: 2c2270f93d6f9073cbf72d821dfc7d72 @@ -1740,23 +1844,23 @@ packages: version: 0.1.2 sha256: 84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 requires_python: '>=3.7' -- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2025.3.1-h0e700b2_12.conda - sha256: ed9609e4687c64532d829e466eda9fa1a8ae25938144fba3a3a20df804d796fd - md5: 1a4a54fad5e36b8282ec6208dcb9bfb7 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2026.0.0-h0e700b2_915.conda + sha256: b23dc574c681cfa9708378b781d206fa790f1944cfb7b4c20177824b96938544 + md5: 44208bd851118db1e20923441f1bb3bb depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex * *_llvm - _openmp_mutex >=4.5 - libgcc >=14 - libstdcxx >=14 - - llvm-openmp >=22.1.4 - - onemkl-license 2025.3.1 hf2ce2f3_12 - - tbb >=2022.3.0 + - llvm-openmp >=22.1.5 + - onemkl-license 2026.0.0 hf2ce2f3_915 + - tbb >=2023.0.0 license: LicenseRef-IntelSimplifiedSoftwareOct2022 license_family: Proprietary purls: [] - size: 125389937 - timestamp: 1778104806895 + size: 143064527 + timestamp: 1779292528964 - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl name: more-itertools version: 11.0.2 @@ -1953,14 +2057,14 @@ packages: - pkg:pypi/nvshmem4py-cu13?source=hash-mapping size: 1216388 timestamp: 1777500016622 -- conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2025.3.1-hf2ce2f3_12.conda - sha256: bdc5e2eec18512a21ab330d5b2b3dd8b285410f4076efc5379a2ef193d81b832 - md5: 95321ce2d03500a23a6e80034cbd4804 +- conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2026.0.0-hf2ce2f3_915.conda + sha256: fd53c7f3e874b6fd2add63103028ed707b728cc275597d12951886cfcda46e7d + md5: f9a902d29c0980c672f77eff7be1794c license: LicenseRef-IntelSimplifiedSoftwareOct2022 license_family: Proprietary purls: [] - size: 40041 - timestamp: 1778104572837 + size: 39987 + timestamp: 1779292418348 - conda: https://conda.anaconda.org/conda-forge/linux-64/openmpi-5.0.10-h67ed482_1.conda sha256: 9d13b09c95f5e9429f295dc89a896dae41a4ca4f77118139b1ff02001ae25127 md5: afa5d72e0e68fdf2b51b1c80a3d2086b @@ -2113,6 +2217,18 @@ packages: - pkg:pypi/pip?source=hash-mapping size: 1201616 timestamp: 1777924080196 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.6-pyhcf101f3_0.conda + sha256: 8f29915c172f1f7f4f7c9391cd5dac3ebf5d13745c8b7c8006032615246345a5 + md5: 89c0b6d1793601a2a3a3f7d2d3d8b937 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/platformdirs?source=hash-mapping + size: 25862 + timestamp: 1775741140609 - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e md5: d7585b6550ad04c8c5e21097ada2888e @@ -2168,10 +2284,17 @@ packages: version: '3.0' sha256: b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl - name: pyelftools - version: '0.32' - sha256: 013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyelftools-0.32-pyh707e725_1.conda + sha256: de3a334388959397ba7b69ee92d5dfaa0c1bd6a7ffcf49c3c4de2ac045c69d28 + md5: eae78c632c980c396cf6f711cf515c3a + depends: + - __unix + - python >=3.9 + license: Unlicense + purls: + - pkg:pypi/pyelftools?source=hash-mapping + size: 149336 + timestamp: 1744148364068 - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 md5: 16c18772b340887160c79a6acc022db0 @@ -2183,11 +2306,18 @@ packages: - pkg:pypi/pygments?source=hash-mapping size: 893031 timestamp: 1774796815820 -- pypi: https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl - name: pyproject-hooks - version: 1.2.0 - sha256: 9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913 - requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyhd8ed1ab_1.conda + sha256: 065ac44591da9abf1ff740feb25929554b920b00d09287a551fcced2c9791092 + md5: d4582021af437c931d7d77ec39007845 + depends: + - python >=3.9 + - tomli >=1.1.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyproject-hooks?source=hash-mapping + size: 15528 + timestamp: 1733710122949 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda sha256: 960f59442173eee0731906a9077bd5ccf60f4b4226f05a22d1728ab9a21a879c md5: 6a991452eadf2771952f39d43615bb3e @@ -2258,6 +2388,25 @@ packages: purls: [] size: 12127424 timestamp: 1772730755512 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.5.0-pyhc364b38_0.conda + sha256: eb8d5e44fddee9033eb7cfdd5ea584b7594b50e31c7602bef553af0fd4ee9266 + md5: fa587158c0d768127faa1a3b4df01e5d + depends: + - python >=3.10 + - colorama + - importlib-metadata >=4.6 + - packaging >=24.0 + - pyproject_hooks + - tomli >=1.1.0 + - python + constrains: + - build <0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/build?source=hash-mapping + size: 28946 + timestamp: 1778048948266 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda build_number: 8 sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 @@ -2269,9 +2418,9 @@ packages: purls: [] size: 6958 timestamp: 1752805918820 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cpu_mkl_py312_hca44ed5_103.conda - sha256: 0ac2511916f1e82e436e432e9e2c08471e58480f95435716f28ec5bd618ee9ce - md5: 4ecb7390be8580b0b2116bbc1fdda486 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cpu_mkl_py312_h87a5e5b_104.conda + sha256: 1131b84b4af62c7d90173df6ba09f4645dc5b96871eb9c824aa43d856a0a640e + md5: 08f6e2e68253673debe71c2b3c205a42 depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex * *_llvm @@ -2287,11 +2436,11 @@ packages: - libgcc >=14 - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - - libtorch 2.10.0 cpu_mkl_h7058990_103 + - libtorch 2.10.0 cpu_mkl_h7c10738_104 - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - mkl >=2025.3.0,<2026.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-openmp >=22.1.5 + - mkl >=2026.0.0,<2027.0a0 - mpmath <1.4 - networkx - numpy >=1.23,<3 @@ -2311,11 +2460,11 @@ packages: license_family: BSD purls: - pkg:pypi/torch?source=hash-mapping - size: 24291825 - timestamp: 1772260740719 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-2.10.0-cpu_generic_py312_h2470ad0_3.conda - sha256: 6da6392a6d89f043c914c658cdaf98c49e6860ab7e91a0afcb8463723bca4364 - md5: b4c7ecd785628fbd767d9cb854ec2c0c + size: 24290497 + timestamp: 1779116659430 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-2.10.0-cpu_generic_py312_h2470ad0_4.conda + sha256: 909c31785b49b85f28b9153792d4e3aec98f2475d9a2702eb993e6e162e8caa3 + md5: 3af042da9f06b64d794cfa0b362c2aa8 depends: - __osx >=11.0 - filelock @@ -2328,9 +2477,9 @@ packages: - libcxx >=19 - liblapack >=3.9.0,<4.0a0 - libprotobuf >=6.33.5,<6.33.6.0a0 - - libtorch 2.10.0 cpu_generic_hf7cc835_3 + - libtorch 2.10.0 cpu_generic_h721bd14_4 - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 - llvm-openmp >=19.1.7 - mpmath <1.4 - networkx @@ -2346,34 +2495,34 @@ packages: - sympy >=1.13.3 - typing_extensions >=4.10.0 constrains: - - pytorch-cpu 2.10.0 - pytorch-gpu <0.0a0 + - pytorch-cpu 2.10.0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/torch?source=hash-mapping - size: 22846148 - timestamp: 1772185000775 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-cpu-2.10.0-cpu_mkl_hd61e0f4_103.conda - sha256: e14e2c02f199461f3d3be03079f3b196714e725f31c72786eef0beb3d6ea8e64 - md5: 54ad123774a53ce33aa7e99b6e53b4a6 + size: 22761757 + timestamp: 1779114670641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-cpu-2.10.0-cpu_mkl_hd61e0f4_104.conda + sha256: 46ed03a9c491566e4cff0d5882c05382268349bd37b5ff027e93afba8ce01507 + md5: 7b0d64a2709e2a54ff699423f1714a97 depends: - - pytorch 2.10.0 cpu_mkl*103 + - pytorch 2.10.0 cpu_mkl*104 license: BSD-3-Clause license_family: BSD purls: [] - size: 53626 - timestamp: 1772265602729 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-cpu-2.10.0-cpu_generic_hcc7c195_3.conda - sha256: 214d16ede70ccd6242e6e8019f6f83eaf2c43738b9085e0e202352069065be7b - md5: e7ebf31f2c197adaba9bbf84a40dffd9 + size: 53597 + timestamp: 1779117281958 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytorch-cpu-2.10.0-cpu_generic_hcc7c195_4.conda + sha256: a521bea5e8f04423f9e1a15842b8f3fb68af93e0a236411cbc5d23404f84ae48 + md5: c819f7303bfe1f7f5b15b5c2188a939d depends: - - pytorch 2.10.0 cpu_generic*3 + - pytorch 2.10.0 cpu_generic*4 license: BSD-3-Clause license_family: BSD purls: [] - size: 53451 - timestamp: 1772185114535 + size: 53656 + timestamp: 1779115840502 - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda sha256: f0931894c751b22be09d7c976343a2957a14a59cfe0db04d916d1b93bd66ffcf md5: da47d3251c0f0d16b2801afe5a77b532 @@ -2460,7 +2609,7 @@ packages: - pypi: ./ name: rixa version: 0.0.1 - sha256: 56a396625884e845e65157ac3e58ffe405010231a4d1f3912b1913b335d2f043 + sha256: 77ce30d4284a5b4629682655de6076c82c1d42ba09125183c573354e1d4198c3 requires_dist: - torch>=2.0 ; extra == 'pytorch' - numpy>=1.26 ; extra == 'pytorch' @@ -2676,6 +2825,18 @@ packages: - pkg:pypi/wheel?source=hash-mapping size: 33491 timestamp: 1776878563806 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 + md5: ba3dcdc8584155c97c648ae9c044b7a3 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=compressed-mapping + size: 24190 + timestamp: 1779159948016 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 diff --git a/pixi.toml b/pixi.toml index 27223bd..18a5361 100644 --- a/pixi.toml +++ b/pixi.toml @@ -13,11 +13,12 @@ version = "0.0.1" python = ">=3.10" openmpi = ">=5.0" libpmix-devel = ">=5.0" -setuptools = "*" -pytest = "*" -pip = "*" -pytorch-cpu = "*" patchelf = ">=0.17.2,<0.19" +cibuildwheel = ">=3.4.1,<4" +pytest = ">=9.0.3,<10" +pytorch-cpu = ">=2.10.0,<3" +pip = ">=26.1.1,<27" +setuptools = ">=82.0.1,<83" [target.linux-64.dependencies] nvshmem4py = "*" @@ -46,11 +47,27 @@ build = "pip install --no-build-isolation -e ." test = "pytest tests -v" ci = { depends-on = ["build", "test"] } -#publishing and building -wheel = "python -m build --wheel" -sdist = "python -m build --sdist" -audit = "auditwheel repair dist/*.whl -w wheelhouse/" -check-wheel = "twine check wheelhouse/* dist/*" -pre-publish = { depends-on = ["wheel","sdist", "audit","check-wheel"]} +## CLEAN AND TEST OBJECTS clean = "rm -rf dist/ wheelhouse/ build/" +check-wheel = "twine check wheelhouse/* " +check-dist = "twine check dist/* " +sdist= "python -m build --sdist" + +### TESTING BUILD +wheel-test = "python -m build --wheel" +audit-test = "auditwheel repair dist/*.whl -w wheelhouse/" +pre-publish-test = { depends-on = ["clean","wheel-test","sdist", "audit-test","check-wheel","check-dist"]} + +## PRODUCTION BUILD +build-wheelhouse = "cibuildwheel --config-file cibuildwheel.toml" +pre-publish = { depends-on = ["clean", "build-wheelhouse", "sdist","check-wheel","check-dist"]} + +## PUBLISH publish-test = "twine upload --repository testpypi wheelhouse/*" +publish = "twine upload --repository wheelhouse/*" + +publish-source-test = "twine upload --repository testpypi dist/*" +publish-source = "twine upload --repository dist/*" + +full-publish-test = {depends-on = ["publish-test", "publish-source-test"]} +full-publish = {depends-on = ["publish", "publish-source"]} diff --git a/pyproject.toml b/pyproject.toml index 4bb5e23..f92a4de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,6 @@ readme = "README.md" requires-python = ">=3.10" dependencies = [] -license = {text = "MIT"} authors = [ {name = "Mateusz Kapusta", email = "mr.kapusta@student.uw.edu.pl"} ] diff --git a/scripts/build_pmix.sh b/scripts/build_pmix.sh new file mode 100644 index 0000000..f1a5952 --- /dev/null +++ b/scripts/build_pmix.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +set -euxo pipefail + +PMIX_VERSION="5.0.9" +PMIX_PREFIX="/tmp/pmix" +BUILD_DIR="/tmp/pmix-build" + +echo ">>> Building PMIx v${PMIX_VERSION}" + +# Clean up any previous attempt +rm -rf "${BUILD_DIR}" +mkdir -p "${BUILD_DIR}" +cd "${BUILD_DIR}" + +if command -v yum &>/dev/null; then + yum install -y libevent-devel hwloc-devel +elif command -v apk &>/dev/null; then + apk add --no-cache libevent-dev hwloc-dev +else + echo "ERROR: No supported package manager found" + exit 1 +fi + + +# Download the official release tarball (no autogen.pl needed) +curl -fsSL \ + "https://github.com/openpmix/openpmix/releases/download/v${PMIX_VERSION}/pmix-${PMIX_VERSION}.tar.bz2" \ + -o "pmix-${PMIX_VERSION}.tar.bz2" + +tar -xjf "pmix-${PMIX_VERSION}.tar.bz2" +cd "pmix-${PMIX_VERSION}" + +./configure \ + --prefix="${PMIX_PREFIX}" \ + --enable-shared \ + --disable-static \ + --disable-server \ + --disable-tools \ + --disable-pmi-backward-compat \ + --disable-sphinx \ + +make -j4 +make install + + +echo ">>> PMIx v${PMIX_VERSION} installed to ${PMIX_PREFIX}" -- 2.51.2