From 0196f38a7ff4b0a880e3950f3836ec52b438f4ce Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Wed, 20 May 2026 21:32:44 -0500 Subject: [PATCH 01/17] ENH: Migrate recipe to v1 format for rattler-build --- recipe/build_output.bat | 8 ++ recipe/build_output.sh | 2 + recipe/meta.yaml | 217 -------------------------------------- recipe/recipe.yaml | 223 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 233 insertions(+), 217 deletions(-) delete mode 100644 recipe/meta.yaml create mode 100644 recipe/recipe.yaml diff --git a/recipe/build_output.bat b/recipe/build_output.bat index 841c561b..48759cbc 100644 --- a/recipe/build_output.bat +++ b/recipe/build_output.bat @@ -1,3 +1,11 @@ +set "CUDA_HOME=%PREFIX%\\%SUBDIR%" +set "LIB=%PREFIX%\\%SUBDIR%\\lib\\%target_name%;%LIB%" + set DIR_NAME=%PKG_NAME:-=_% cd %DIR_NAME% +IF "%DIR_NAME%"=="cuda_bindings" ( + REM The upstream setup.py calls get_version() without dist_name + REM so only the generic SETUPTOOLS_SCM_PRETEND_VERSION is honored. + set SETUPTOOLS_SCM_PRETEND_VERSION=%PKG_VERSION% +) %PYTHON% -m pip install . --no-deps -vv diff --git a/recipe/build_output.sh b/recipe/build_output.sh index 068fdeea..3881ccc5 100644 --- a/recipe/build_output.sh +++ b/recipe/build_output.sh @@ -1,5 +1,7 @@ #!/bin/bash +export CUDA_HOME="${PREFIX}/${SUBDIR}" + DIR_NAME="$(echo $PKG_NAME | tr '-' '_')" cd $DIR_NAME if [[ ${DIR_NAME} == "cuda_python" ]]; then diff --git a/recipe/meta.yaml b/recipe/meta.yaml deleted file mode 100644 index 0e34dd6e..00000000 --- a/recipe/meta.yaml +++ /dev/null @@ -1,217 +0,0 @@ -{% set number = 1 %} -{% set version = "13.2.0" %} -{% set sha256 = "6899b7684ccaf3249d521cc092768baeae390780375bb115bcd80350b65b1dff" %} - -{% set is_freethreading = environ.get("is_freethreading", False) %} -{% set bindings_major_version = version.split(".")[0]|int %} -{% set bindings_minor_version = version.split(".")[1]|int %} -{% set bindings_patch_version = version.split(".")[2]|int %} -{% set target_name = "x86_64-linux" %} # [linux64] -{% set target_name = "sbsa-linux" %} # [aarch64] -{% set target_name = "x64" %} # [win64] -{% set subdir = "" %} -{% set subdir = os.sep.join(["", "targets", target_name]) %} # [linux64 or aarch64] -{% set subdir = os.sep.join(["", "Library"]) %} # [win64] - -package: - name: cuda-python-split - version: 1 - -source: - url: https://github.com/NVIDIA/cuda-python/releases/download/v{{ version }}/cuda-python-v{{ version }}.tar.gz - sha256: {{ sha256 }} - -build: - number: 0 - skip: true # [py < 39 or ppc64le or osx] - -# Have certain top-level requirements so conda-smithy can render the correct variants -requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - {{ stdlib('c') }} - host: - - python - -outputs: - - - name: cuda-python - version: {{ version }} - script: build_output.sh # [linux] - script: build_output.bat # [win] - build: - noarch: python - number: {{ number }} - skip: true # [not linux64] - requirements: - host: - - python {{ python_min }}.* - - pip - - setuptools - - setuptools-scm >=8 - run: - - python >={{ python_min }} - - {{ pin_subpackage('cuda-bindings', max_pin='x.x') }} - - cuda-version >=13.0,<14.0a0 - test: - requires: - - python >={{ python_min }} - - numpy - imports: - - cuda.bindings - - cuda.bindings.driver - - cuda.bindings.runtime - - cuda.bindings.cufile # [linux] - - cuda.bindings.nvrtc - - cuda.bindings.nvjitlink - - cuda.bindings.nvvm - - cuda.bindings.nvml - - cuda.bindings.nvfatbin - commands: - - python -c "import importlib.metadata; importlib.metadata.version('cuda-python')" - about: - home: https://nvidia.github.io/cuda-python/ - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - license_file: cuda_python/LICENSE - license_url: https://github.com/NVIDIA/cuda-python/blob/main/LICENSE - summary: CUDA Python - description: | - CUDA Python is the home for accessing NVIDIA’s CUDA platform from Python. - doc_url: https://nvidia.github.io/cuda-python/ - dev_url: https://github.com/NVIDIA/cuda-python - - - name: cuda-bindings - version: {{ version }} - script: build_output.sh # [linux] - script: build_output.bat # [win] - build: - number: {{ number }} - script_env: - # Ensure that CUDA includes can be found by the host compiler - - CUDA_HOME={{ PREFIX ~ subdir }} - - LIB={{ PREFIX ~ subdir }}\lib\{{ target_name }};%LIB% # [win64] - ignore_run_exports_from: - # The run-exports from these dev packages are too tight, so we ignore them. - # The cuda-python package supports CUDA Enhanced Compatibility through its - # use of dlopen, so it is compatible with other CUDA minor versions. - - cuda-nvvm-impl - - cuda-cudart-dev - - cuda-cudart-static - - cuda-nvrtc-dev - - libcufile-dev # [linux] - requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - {{ stdlib('c') }} - - cross-python_{{ target_platform }} # [build_platform != target_platform] - - python # [build_platform != target_platform] - - cython # [build_platform != target_platform] - host: - # cuda.bindings needs to be built with the matching major.minor headers - - cuda-version {{ bindings_major_version }}.{{ bindings_minor_version }} - - cuda-crt-dev_{{ target_platform }} - - cuda-cudart-dev - - cuda-cudart-static - - cuda-cudart - - cuda-nvvm-impl - - cuda-nvrtc - - cuda-nvrtc-dev - - cuda-profiler-api - - libcufile # [linux] - - libcufile-dev # [linux] - - cython - - pip - - pyclibrary - - python - - setuptools - - setuptools-scm >=8 - run: - - python - - cuda-pathfinder >=1.1.0,<2 - - {{ pin_compatible('cuda-version', min_pin='x', max_pin='x') }} - # cuda-python requires cuda-nvrtc from the same major version. We ignored - # run-exports of cuda-nvrtc-dev and instead allow a looser pinning here. - # Same for cuda-nvvm-impl. - - {{ pin_compatible('cuda-nvrtc', min_pin='x', max_pin='x') }} - - {{ pin_compatible('cuda-nvvm-impl', min_pin='x', max_pin='x') }} - - {{ pin_compatible('libcufile', min_pin='x', max_pin='x') }} # [linux] - - {{ pin_compatible('libnvfatbin', min_pin='x', max_pin='x') }} - - libnvjitlink >=13.0,<14.0a0 - run_constrained: - # cuda-cudart is not a hard dependency because cuda-python statically links to - # cudart. This package is optionally dlopen'd for getting the local cudart - # version with cuda.cudart.getLocalRuntimeVersion(). We ignored run-exports - # of cuda-cudart-dev and instead allow a looser pinning here. - - {{ pin_compatible('cuda-cudart', min_pin='x', max_pin='x') }} - - {{ pin_subpackage('cuda-python', max_pin='x.x') }} - test: - requires: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - cuda-nvcc - - cuda-nvrtc-dev - - cuda-profiler-api - - cython - - pip - - numpy - files: - - test_cimport.pyx - commands: - - export C_INCLUDE_PATH="$CONDA_PREFIX/{{ subdir }}/include" # [linux] - - set "CL=%CL% /I%CONDA_PREFIX%\{{ subdir }}\include" # [win] - # workaround for https://github.com/conda-forge/setuptools-feedstock/issues/399 - - pip install setuptools - - cythonize -i -3 -Xfreethreading_compatible=True *.pyx - - python -c "import test_cimport; test_cimport.test()" - - python -c "import cuda.bindings; print(cuda.bindings.__version__)" - imports: - - cuda - - cuda.bindings - - cuda.bindings.driver - - cuda.bindings.runtime - - cuda.bindings.cufile # [linux] - - cuda.bindings.nvrtc - - cuda.bindings.nvjitlink - - cuda.bindings.nvvm - - cuda.bindings.nvml - - cuda.bindings.nvfatbin - about: - home: https://nvidia.github.io/cuda-python/cuda-bindings - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - license_file: cuda_bindings/LICENSE - license_url: https://github.com/NVIDIA/cuda-python/blob/main/LICENSE - summary: CUDA Python Low-level Bindings - description: | - CUDA Python provides a standard set of low-level interfaces, - providing full coverage of and access to the CUDA host APIs from Python. - doc_url: https://nvidia.github.io/cuda-python/cuda-bindings - dev_url: https://github.com/NVIDIA/cuda-python - -about: - home: https://nvidia.github.io/cuda-python/ - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - license_file: LICENSE.md - license_url: https://github.com/NVIDIA/cuda-python/blob/main/LICENSE - summary: CUDA Python - description: | - CUDA Python is the home for accessing NVIDIA's CUDA platform from Python. - doc_url: https://nvidia.github.io/cuda-python/ - dev_url: https://github.com/NVIDIA/cuda-python - -extra: - feedstock-name: cuda-python - recipe-maintainers: - - rwgk - - rparolin - - cpcloud - - bdice - - jakirkham - - leofang - - m3vaz - - mmccarty - - vyasr - - vzhurba01 - - kkraus14 - - oleksandr-pavlyk diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml new file mode 100644 index 00000000..a69f96b6 --- /dev/null +++ b/recipe/recipe.yaml @@ -0,0 +1,223 @@ +# Have certain top-level requirements so conda-smithy can render the correct variants +schema_version: 1 + +context: + number: 2 + version: "13.2.0" + sha256: 6899b7684ccaf3249d521cc092768baeae390780375bb115bcd80350b65b1dff + is_freethreading: environ | get("is_freethreading", False) + bindings_major_version: ${{ (version | split("."))[0] | int }} + bindings_minor_version: ${{ (version | split("."))[1] | int }} + bindings_patch_version: ${{ (version | split("."))[2] | int }} + target_name: ${{ 'x86_64-linux' if linux else "sbsa-linux" if aarch64 else "win64" if win else "" }} + subdir: ${{ "targets/" ~ target_name if linux or aarch64 else "Library\\" if win else "" }} + +recipe: + name: cuda-python-split + version: 1 + +source: + url: https://github.com/NVIDIA/cuda-python/releases/download/v${{ version }}/cuda-python-v${{ version }}.tar.gz + sha256: ${{ sha256 }} + +build: + number: 0 + skip: match(python, "<3.9") or ppc64le or osx + +outputs: + - package: + name: cuda-python + version: ${{ version }} + build: + number: ${{ number }} + skip: not linux64 + noarch: python + script: + env: + SUBDIR: ${{ subdir }} + file: ${{ 'build_output.bat' if win else 'build_output.sh' if linux else '' }} + requirements: + host: + - python ${{ python_min }}.* + - pip + - setuptools + - setuptools-scm >=8 + run: + - python >=${{ python_min }} + - ${{ pin_subpackage('cuda-bindings', upper_bound='x.x') }} + - cuda-version >=13.0,<14.0a0 + tests: + - script: + - python -c "import importlib.metadata; importlib.metadata.version('cuda-python')" + # Imports depend on numpy + - if: linux + then: python -c "import cuda.bindings.cufile" + - python -c "import cuda.bindings.nvml" + requirements: + run: + - python >=${{ python_min }} + - numpy + - python: + imports: + - cuda.bindings + - cuda.bindings.driver + - cuda.bindings.runtime + - cuda.bindings.nvrtc + - cuda.bindings.nvjitlink + - cuda.bindings.nvvm + - cuda.bindings.nvfatbin + pip_check: false + # TODO: add support for v1 + # python_version: >=${{ python_min }} + about: + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + license_file: cuda_python/LICENSE + summary: CUDA Python + description: | + CUDA Python is the home for accessing NVIDIA’s CUDA platform from Python. + homepage: https://nvidia.github.io/cuda-python/ + repository: https://github.com/NVIDIA/cuda-python + documentation: https://nvidia.github.io/cuda-python/ + + - package: + name: cuda-bindings + version: ${{ version }} + build: + number: ${{ number }} + script: + env: + SUBDIR: ${{ subdir }} + file: ${{ 'build_output.bat' if win else 'build_output.sh' if linux else '' }} + requirements: + build: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - python + - cython + host: + # cuda.bindings needs to be built with the matching major.minor headers + - cuda-version ==${{ bindings_major_version }}.${{ bindings_minor_version }} + - cuda-crt-dev_${{ target_platform }} + - cuda-cudart-dev + - cuda-cudart-static + - cuda-cudart + - cuda-nvvm-impl + - cuda-nvrtc + - cuda-nvrtc-dev + - cuda-profiler-api + - if: linux + then: + - libcufile + - libcufile-dev + - cython + - pip + - pyclibrary + - python + - setuptools + - setuptools-scm >=8 + run: + - python + - cuda-pathfinder >=1.1.0,<2 + - ${{ pin_compatible('cuda-version', lower_bound='x', upper_bound='x') }} + # cuda-python requires cuda-nvrtc from the same major version. We ignored + # run-exports of cuda-nvrtc-dev and instead allow a looser pinning here. + # Same for cuda-nvvm-impl. + - ${{ pin_compatible('cuda-nvrtc', lower_bound='x', upper_bound='x') }} + - ${{ pin_compatible('cuda-nvvm-impl', lower_bound='x', upper_bound='x') }} + # TODO: add support for v1 + # - skip: false linux + # then: ${{ pin_compatible('libcufile', lower_bound='x', upper_bound='x') }} + # - ${{ pin_compatible('libnvfatbin', lower_bound='x', upper_bound='x') }} + - libnvjitlink >=13.0,<14.0a0 + ignore_run_exports: + from_package: + - cuda-nvvm-impl + - cuda-cudart-dev + - cuda-cudart-static + - cuda-nvrtc-dev + # TODO: add support for v1 + # - skip: false linux + # then: libcufile-dev + run_constraints: + - ${{ pin_compatible('cuda-cudart', lower_bound='x', upper_bound='x') }} + # Rattler-build thinks this introduces circular dependency + # - ${{ pin_subpackage('cuda-python', upper_bound='x.x') }} + tests: + - script: + - if: linux + then: export C_INCLUDE_PATH="$CONDA_PREFIX/${{ subdir }}/include" + - if: win + then: set "CL=%CL% /I%CONDA_PREFIX%\${{ subdir }}\include" + - pip install setuptools + - cythonize -i -3 -Xfreethreading_compatible=True *.pyx + - python -c "import test_cimport; test_cimport.test()" + - python -c "import cuda.bindings; print(cuda.bindings.__version__)" + # Imports depend on numpy + - python -c "import cuda.bindings.nvml" + requirements: + run: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - cuda-nvcc + - cuda-nvrtc-dev + - cuda-profiler-api + - cython + - pip + - numpy + files: + recipe: + - test_cimport.pyx + - python: + imports: + - cuda + - cuda.bindings + - cuda.bindings.driver + - cuda.bindings.runtime + # TODO: add support for v1 + # - skip: false linux + # then: cuda.bindings.cufile + - cuda.bindings.nvrtc + - cuda.bindings.nvjitlink + - cuda.bindings.nvvm + - cuda.bindings.nvfatbin + pip_check: false + about: + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + license_file: cuda_bindings/LICENSE + summary: CUDA Python Low-level Bindings + description: | + CUDA Python provides a standard set of low-level interfaces, + providing full coverage of and access to the CUDA host APIs from Python. + homepage: https://nvidia.github.io/cuda-python/cuda-bindings + repository: https://github.com/NVIDIA/cuda-python + documentation: https://nvidia.github.io/cuda-python/cuda-bindings + +about: + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + license_file: LICENSE.md + summary: CUDA Python + description: | + CUDA Python is the home for accessing NVIDIA's CUDA platform from Python. + homepage: https://nvidia.github.io/cuda-python/ + repository: https://github.com/NVIDIA/cuda-python + documentation: https://nvidia.github.io/cuda-python/ + +extra: + feedstock-name: cuda-python + recipe-maintainers: + - rwgk + - rparolin + - cpcloud + - bdice + - jakirkham + - leofang + - m3vaz + - mmccarty + - vyasr + - vzhurba01 + - kkraus14 + - oleksandr-pavlyk From 44c3d69f49f4da2b9a47731513ae5d3574c95af4 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sat, 23 May 2026 22:27:42 -0500 Subject: [PATCH 02/17] Explicitly state 'rattler-build' as conda_build_tool --- conda-forge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/conda-forge.yml b/conda-forge.yml index 3d212762..92fd1a48 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -12,6 +12,7 @@ build_platform: linux_ppc64le: linux_64 conda_build: pkg_format: '2' +conda_build_tool: rattler-build conda_forge_output_validation: true github: branch_name: main From 338f358f2aa2cc42e682a26ced9917441b6dcc92 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sun, 24 May 2026 03:32:09 +0000 Subject: [PATCH 03/17] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.05.23.20.09.3 --- .azure-pipelines/azure-pipelines-win.yml | 24 ++-- ...on3.10.____cpython.yaml => linux_64_.yaml} | 11 +- ...ethreadingfalsepython3.11.____cpython.yaml | 37 ------ ...ethreadingfalsepython3.12.____cpython.yaml | 37 ------ ...reethreadingfalsepython3.13.____cp313.yaml | 37 ------ ...reethreadingfalsepython3.14.____cp314.yaml | 37 ------ ...reethreadingtruepython3.14.____cp314t.yaml | 37 ------ ...linux_aarch64_python3.10.____cpython.yaml} | 6 - ...linux_aarch64_python3.11.____cpython.yaml} | 6 - ...linux_aarch64_python3.12.____cpython.yaml} | 6 - ...> linux_aarch64_python3.13.____cp313.yaml} | 6 - ...> linux_aarch64_python3.14.____cp314.yaml} | 6 - ... linux_aarch64_python3.14.____cp314t.yaml} | 6 - ...aml => win_64_python3.10.____cpython.yaml} | 7 -- ...aml => win_64_python3.11.____cpython.yaml} | 7 -- ...aml => win_64_python3.12.____cpython.yaml} | 7 -- ....yaml => win_64_python3.13.____cp313.yaml} | 7 -- ....yaml => win_64_python3.14.____cp314.yaml} | 7 -- ...yaml => win_64_python3.14.____cp314t.yaml} | 7 -- .github/workflows/conda-build.yml | 44 ++----- .scripts/build_steps.sh | 24 ++-- .scripts/run_win_build.bat | 6 +- README.md | 109 +++++------------- 23 files changed, 65 insertions(+), 416 deletions(-) rename .ci_support/{linux_64_is_freethreadingfalsepython3.10.____cpython.yaml => linux_64_.yaml} (83%) delete mode 100644 .ci_support/linux_64_is_freethreadingfalsepython3.11.____cpython.yaml delete mode 100644 .ci_support/linux_64_is_freethreadingfalsepython3.12.____cpython.yaml delete mode 100644 .ci_support/linux_64_is_freethreadingfalsepython3.13.____cp313.yaml delete mode 100644 .ci_support/linux_64_is_freethreadingfalsepython3.14.____cp314.yaml delete mode 100644 .ci_support/linux_64_is_freethreadingtruepython3.14.____cp314t.yaml rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml => linux_aarch64_python3.10.____cpython.yaml} (86%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml => linux_aarch64_python3.11.____cpython.yaml} (86%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml => linux_aarch64_python3.12.____cpython.yaml} (86%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml => linux_aarch64_python3.13.____cp313.yaml} (86%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml => linux_aarch64_python3.14.____cp314.yaml} (86%) rename .ci_support/{linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml => linux_aarch64_python3.14.____cp314t.yaml} (86%) rename .ci_support/{win_64_is_freethreadingfalsepython3.10.____cpython.yaml => win_64_python3.10.____cpython.yaml} (76%) rename .ci_support/{win_64_is_freethreadingfalsepython3.11.____cpython.yaml => win_64_python3.11.____cpython.yaml} (76%) rename .ci_support/{win_64_is_freethreadingfalsepython3.12.____cpython.yaml => win_64_python3.12.____cpython.yaml} (76%) rename .ci_support/{win_64_is_freethreadingfalsepython3.13.____cp313.yaml => win_64_python3.13.____cp313.yaml} (76%) rename .ci_support/{win_64_is_freethreadingfalsepython3.14.____cp314.yaml => win_64_python3.14.____cp314.yaml} (76%) rename .ci_support/{win_64_is_freethreadingtruepython3.14.____cp314t.yaml => win_64_python3.14.____cp314t.yaml} (76%) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index f8fc2f4f..bc21c05c 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,28 +8,28 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_is_freethreadingfalsepython3.10.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.10.____cpython + win_64_python3.10.____cpython: + CONFIG: win_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' store_build_artifacts: false - win_64_is_freethreadingfalsepython3.11.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.11.____cpython + win_64_python3.11.____cpython: + CONFIG: win_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' store_build_artifacts: false - win_64_is_freethreadingfalsepython3.12.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.12.____cpython + win_64_python3.12.____cpython: + CONFIG: win_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' store_build_artifacts: false - win_64_is_freethreadingfalsepython3.13.____cp313: - CONFIG: win_64_is_freethreadingfalsepython3.13.____cp313 + win_64_python3.13.____cp313: + CONFIG: win_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' store_build_artifacts: false - win_64_is_freethreadingfalsepython3.14.____cp314: - CONFIG: win_64_is_freethreadingfalsepython3.14.____cp314 + win_64_python3.14.____cp314: + CONFIG: win_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' store_build_artifacts: false - win_64_is_freethreadingtruepython3.14.____cp314t: - CONFIG: win_64_is_freethreadingtruepython3.14.____cp314t + win_64_python3.14.____cp314t: + CONFIG: win_64_python3.14.____cp314t UPLOAD_PACKAGES: 'True' store_build_artifacts: false timeoutInMinutes: 360 diff --git a/.ci_support/linux_64_is_freethreadingfalsepython3.10.____cpython.yaml b/.ci_support/linux_64_.yaml similarity index 83% rename from .ci_support/linux_64_is_freethreadingfalsepython3.10.____cpython.yaml rename to .ci_support/linux_64_.yaml index a377bc2d..afd31ddc 100644 --- a/.ci_support/linux_64_is_freethreadingfalsepython3.10.____cpython.yaml +++ b/.ci_support/linux_64_.yaml @@ -16,16 +16,17 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +- 3.14.* *_cp314t python_min: - '3.10' target_platform: @@ -33,5 +34,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingfalsepython3.11.____cpython.yaml b/.ci_support/linux_64_is_freethreadingfalsepython3.11.____cpython.yaml deleted file mode 100644 index b35982ff..00000000 --- a/.ci_support/linux_64_is_freethreadingfalsepython3.11.____cpython.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.11.* *_cpython -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingfalsepython3.12.____cpython.yaml b/.ci_support/linux_64_is_freethreadingfalsepython3.12.____cpython.yaml deleted file mode 100644 index 6cee85c7..00000000 --- a/.ci_support/linux_64_is_freethreadingfalsepython3.12.____cpython.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingfalsepython3.13.____cp313.yaml b/.ci_support/linux_64_is_freethreadingfalsepython3.13.____cp313.yaml deleted file mode 100644 index 708f29db..00000000 --- a/.ci_support/linux_64_is_freethreadingfalsepython3.13.____cp313.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingfalsepython3.14.____cp314.yaml b/.ci_support/linux_64_is_freethreadingfalsepython3.14.____cp314.yaml deleted file mode 100644 index d11e5587..00000000 --- a/.ci_support/linux_64_is_freethreadingfalsepython3.14.____cp314.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingtruepython3.14.____cp314t.yaml b/.ci_support/linux_64_is_freethreadingtruepython3.14.____cp314t.yaml deleted file mode 100644 index 462a4efa..00000000 --- a/.ci_support/linux_64_is_freethreadingtruepython3.14.____cp314t.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- true -numpy: -- '2' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314t -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml rename to .ci_support/linux_aarch64_python3.10.____cpython.yaml index 66e6766c..1abd5778 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml rename to .ci_support/linux_aarch64_python3.11.____cpython.yaml index ce76db45..5bfda903 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml rename to .ci_support/linux_aarch64_python3.12.____cpython.yaml index b509df15..d5868c35 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml rename to .ci_support/linux_aarch64_python3.13.____cp313.yaml index 1bdbe435..8d539fa3 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml rename to .ci_support/linux_aarch64_python3.14.____cp314.yaml index 700a317c..f3df6ff3 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml similarity index 86% rename from .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml rename to .ci_support/linux_aarch64_python3.14.____cp314t.yaml index 456e912c..613442da 100644 --- a/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml @@ -16,10 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- true -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -33,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml rename to .ci_support/win_64_python3.10.____cpython.yaml index f53f57a7..e53bc4a2 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml rename to .ci_support/win_64_python3.11.____cpython.yaml index b07a6170..f2cdd6a2 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml rename to .ci_support/win_64_python3.12.____cpython.yaml index 0d4ce20b..7ce691f4 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml rename to .ci_support/win_64_python3.13.____cp313.yaml index c4b1a53e..9addad34 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml rename to .ci_support/win_64_python3.14.____cp314.yaml index 480ba979..74b70416 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml b/.ci_support/win_64_python3.14.____cp314t.yaml similarity index 76% rename from .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml rename to .ci_support/win_64_python3.14.____cp314t.yaml index db15115c..ffcdac54 100644 --- a/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml +++ b/.ci_support/win_64_python3.14.____cp314t.yaml @@ -8,10 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- true -numpy: -- '2' pin_run_as_build: python: min_pin: x.x @@ -22,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index c381de9c..2b6cb393 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -22,73 +22,43 @@ jobs: max-parallel: 50 matrix: include: - - CONFIG: linux_64_is_freethreadingfalsepython3.10.____cpython + - CONFIG: linux_64_ STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_is_freethreadingfalsepython3.11.____cpython + - CONFIG: linux_aarch64_python3.10.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_is_freethreadingfalsepython3.12.____cpython + - CONFIG: linux_aarch64_python3.11.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_is_freethreadingfalsepython3.13.____cp313 + - CONFIG: linux_aarch64_python3.12.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_is_freethreadingfalsepython3.14.____cp314 + - CONFIG: linux_aarch64_python3.13.____cp313 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_is_freethreadingtruepython3.14.____cp314t + - CONFIG: linux_aarch64_python3.14.____cp314 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.10.____cpython - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.11.____cpython - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.12.____cpython - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.13.____cp313 - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.14.____cp314 - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_is_freethreadingtruepython3.14.____cp314t + - CONFIG: linux_aarch64_python3.14.____cp314t STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index d7df163b..80306f83 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -36,7 +36,7 @@ mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d- echo > /opt/conda/conda-meta/history micromamba install --root-prefix ~/.conda --prefix /opt/conda \ --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -58,20 +58,16 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - - # Drop into an interactive shell - /bin/bash + echo "rattler-build currently doesn't support debug mode" else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ - --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + + rattler-build build --recipe "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="${flow_run_id:-}" \ + --extra-meta remote_url="${remote_url:-}" \ + --extra-meta sha="${sha:-}" ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 2b9fd756..6ec69f57 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -31,7 +31,7 @@ if !errorlevel! neq 0 exit /b !errorlevel! echo Creating environment call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ --channel conda-forge ^ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% del /S /Q "%MAMBA_ROOT_PREFIX%" >nul @@ -64,14 +64,14 @@ if EXIST LICENSE.txt ( ) if NOT [%flow_run_id%] == [] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% --extra-meta remote_url=%remote_url% --extra-meta sha=%sha%" ) call :end_group :: Build the recipe echo Building recipe -conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +rattler-build.exe build --recipe "recipe" -m .ci_support\%CONFIG%.yaml %EXTRA_CB_OPTIONS% --target-platform %HOST_PLATFORM% if !errorlevel! neq 0 exit /b !errorlevel! call :start_group "Inspecting artifacts" diff --git a/README.md b/README.md index 0796546b..89e4e0eb 100644 --- a/README.md +++ b/README.md @@ -7,25 +7,9 @@ Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cuda-python-fee About cuda-python ----------------- -Home: https://nvidia.github.io/cuda-python/ - -Package license: [LicenseRef-NVIDIA-SOFTWARE-LICENSE](https://github.com/NVIDIA/cuda-python/blob/main/LICENSE) - -Summary: CUDA Python - -Development: https://github.com/NVIDIA/cuda-python - -Documentation: https://nvidia.github.io/cuda-python/ - -CUDA Python is the home for accessing NVIDIA's CUDA platform from Python. - - -About cuda-bindings -------------------- - Home: https://nvidia.github.io/cuda-python/cuda-bindings -Package license: [LicenseRef-NVIDIA-SOFTWARE-LICENSE](https://github.com/NVIDIA/cuda-python/blob/main/LICENSE) +Package license: LicenseRef-NVIDIA-SOFTWARE-LICENSE Summary: CUDA Python Low-level Bindings @@ -36,13 +20,12 @@ Documentation: https://nvidia.github.io/cuda-python/cuda-bindings CUDA Python provides a standard set of low-level interfaces, providing full coverage of and access to the CUDA host APIs from Python. - About cuda-python ----------------- Home: https://nvidia.github.io/cuda-python/ -Package license: [LicenseRef-NVIDIA-SOFTWARE-LICENSE](https://github.com/NVIDIA/cuda-python/blob/main/LICENSE) +Package license: LicenseRef-NVIDIA-SOFTWARE-LICENSE Summary: CUDA Python @@ -52,7 +35,6 @@ Documentation: https://nvidia.github.io/cuda-python/ CUDA Python is the home for accessing NVIDIA’s CUDA platform from Python. - Current build status ==================== @@ -71,129 +53,94 @@ Current build status - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + From 1b10b5a2635a1a68d378a7c0ef22125b9b7db02a Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sat, 23 May 2026 23:25:56 -0500 Subject: [PATCH 04/17] Set conda_install_tool to pixi in conda-forge.yml --- conda-forge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/conda-forge.yml b/conda-forge.yml index 92fd1a48..e2f231c1 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -13,6 +13,7 @@ build_platform: conda_build: pkg_format: '2' conda_build_tool: rattler-build +conda_install_tool: pixi conda_forge_output_validation: true github: branch_name: main From 150fb713d98dab6b97e645586b48a778db0de589 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sat, 23 May 2026 23:26:46 -0500 Subject: [PATCH 05/17] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.05.23.20.09.33 --- .scripts/build_steps.sh | 18 ++++-- .scripts/run_win_build.bat | 55 +++++++++------- pixi.toml | 124 +++++++++++++++++++++++++++++++++++++ 3 files changed, 171 insertions(+), 26 deletions(-) create mode 100644 pixi.toml diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 80306f83..ce848e28 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -32,11 +32,19 @@ pkgs_dirs: solver: libmamba CONDARC -mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) -echo > /opt/conda/conda-meta/history -micromamba install --root-prefix ~/.conda --prefix /opt/conda \ - --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" +pushd "${FEEDSTOCK_ROOT}" +arch=$(uname -m) +if [[ "$arch" == "x86_64" ]]; then + arch="64" +fi +sed -i.bak -e "s/platforms = .*/platforms = [\"linux-${arch}\"]/" -e "s/# __PLATFORM_SPECIFIC_ENV__ =/docker-build-linux-$arch =/" pixi.toml +echo "Creating environment" +PIXI_CACHE_DIR=/opt/conda pixi install --environment docker-build-linux-$arch +pixi list +echo "Activating environment" +eval "$(pixi shell-hook --environment docker-build-linux-$arch)" +mv pixi.toml.bak pixi.toml +popd export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 6ec69f57..90effaac 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -13,36 +13,49 @@ setlocal enableextensions enabledelayedexpansion FOR %%A IN ("%~dp0.") DO SET "REPO_ROOT=%%~dpA" -if "%MINIFORGE_HOME%"=="" set "MINIFORGE_HOME=%USERPROFILE%\Miniforge3" +if "%MINIFORGE_HOME%"=="" ( + set "MINIFORGE_HOME=%REPO_ROOT%\.pixi\envs\default" +) else ( + set "PIXI_CACHE_DIR=%MINIFORGE_HOME%" +) :: Remove trailing backslash, if present if "%MINIFORGE_HOME:~-1%"=="\" set "MINIFORGE_HOME=%MINIFORGE_HOME:~0,-1%" -call :start_group "Provisioning base env with micromamba" -set "MAMBA_ROOT_PREFIX=%MINIFORGE_HOME%-micromamba-%RANDOM%" -set "MICROMAMBA_VERSION=1.5.10-0" -set "MICROMAMBA_URL=https://github.com/mamba-org/micromamba-releases/releases/download/%MICROMAMBA_VERSION%/micromamba-win-64" -set "MICROMAMBA_TMPDIR=%TMP%\micromamba-%RANDOM%" -set "MICROMAMBA_EXE=%MICROMAMBA_TMPDIR%\micromamba.exe" - -echo Downloading micromamba %MICROMAMBA_VERSION% -if not exist "%MICROMAMBA_TMPDIR%" mkdir "%MICROMAMBA_TMPDIR%" -powershell -ExecutionPolicy Bypass -Command "(New-Object Net.WebClient).DownloadFile('%MICROMAMBA_URL%', '%MICROMAMBA_EXE%')" +call :start_group "Provisioning base env with pixi" +echo Installing pixi +powershell -NoProfile -ExecutionPolicy unrestricted -Command "iwr -useb https://pixi.sh/install.ps1 | iex" if !errorlevel! neq 0 exit /b !errorlevel! - -echo Creating environment -call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ - --channel conda-forge ^ - pip rattler-build conda-forge-ci-setup=4 "conda-build>=24.1" +set "PATH=%USERPROFILE%\.pixi\bin;%PATH%" +echo Installing environment +if "%PIXI_CACHE_DIR%"=="%MINIFORGE_HOME%" ( + mkdir "%MINIFORGE_HOME%" + copy /Y pixi.toml "%MINIFORGE_HOME%" + pushd "%MINIFORGE_HOME%" +) else ( + pushd "%REPO_ROOT%" +) +move /y pixi.toml pixi.toml.bak +set "arch=64" +if "%PROCESSOR_ARCHITECTURE%"=="ARM64" set "arch=arm64" +powershell -NoProfile -ExecutionPolicy unrestricted -Command "(Get-Content pixi.toml.bak -Encoding UTF8) -replace 'platforms = .*', 'platforms = [''win-%arch%'']' | Out-File pixi.toml -Encoding UTF8" +:: Git on Windows needs to run post link scripts to properly set up SSL certificates +pixi config set --global run-post-link-scripts insecure +if !errorlevel! neq 0 exit /b !errorlevel! +pixi install +if !errorlevel! neq 0 exit /b !errorlevel! +pixi list +if !errorlevel! neq 0 exit /b !errorlevel! +set "ACTIVATE_PIXI=%TMP%\pixi-activate-%RANDOM%.bat" +pixi shell-hook > "%ACTIVATE_PIXI%" +if !errorlevel! neq 0 exit /b !errorlevel! +call "%ACTIVATE_PIXI%" if !errorlevel! neq 0 exit /b !errorlevel! -echo Removing %MAMBA_ROOT_PREFIX% -del /S /Q "%MAMBA_ROOT_PREFIX%" >nul -del /S /Q "%MICROMAMBA_TMPDIR%" >nul +move /y pixi.toml.bak pixi.toml +popd call :end_group call :start_group "Configuring conda" :: Activate the base conda environment -echo Activating environment -call "%MINIFORGE_HOME%\Scripts\activate.bat" :: Configure the solver set "CONDA_SOLVER=libmamba" if !errorlevel! neq 0 exit /b !errorlevel! diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 00000000..f593267d --- /dev/null +++ b/pixi.toml @@ -0,0 +1,124 @@ +# -*- mode: toml -*- +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +"$schema" = "https://pixi.sh/v0.59.0/schema/manifest/schema.json" + +[workspace] +name = "cuda-python-feedstock" +version = "3.61.2" # conda-smithy version used to generate this file +description = "Pixi configuration for conda-forge/cuda-python-feedstock" +authors = ["@conda-forge/cuda-python"] +channels = ["conda-forge"] +platforms = ["linux-64", "linux-aarch64", "linux-ppc64le", "osx-64", "win-64"] +requires-pixi = ">=0.59.0" + +[dependencies] +conda-build = ">=24.1" +conda-forge-ci-setup = "4.*" +rattler-build = "*" + +[tasks.inspect-all] +cmd = "inspect_artifacts --all-packages" +description = "List contents of all packages found in rattler-build build directory." +[tasks.build] +cmd = "rattler-build build --recipe recipe" +description = "Build cuda-python-feedstock directly (without setup scripts), no particular variant specified" +[tasks."build-linux_64_"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_.yaml" +description = "Build cuda-python-feedstock with variant linux_64_ directly (without setup scripts)" +[tasks."inspect-linux_64_"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_64_" +[tasks."build-linux_aarch64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.10.____cpython" +[tasks."build-linux_aarch64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.11.____cpython" +[tasks."build-linux_aarch64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.12.____cpython" +[tasks."build-linux_aarch64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.13.____cp313" +[tasks."build-linux_aarch64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314" +[tasks."build-linux_aarch64_python3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314t" +[tasks."build-win_64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.10.____cpython" +[tasks."build-win_64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.11.____cpython" +[tasks."build-win_64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.12.____cpython" +[tasks."build-win_64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-win_64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.13.____cp313" +[tasks."build-win_64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-win_64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314" +[tasks."build-win_64_python3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-win_64_python3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314t" + +[feature.smithy.dependencies] +conda-smithy = "*" +[feature.smithy.tasks.build-locally] +cmd = "python ./build-locally.py" +description = "Build packages locally using the same setup scripts used in conda-forge's CI" +[feature.smithy.tasks.smithy] +cmd = "conda-smithy" +description = "Run conda-smithy. Pass necessary arguments." +[feature.smithy.tasks.rerender] +cmd = "conda-smithy rerender" +description = "Rerender the feedstock." +[feature.smithy.tasks.lint] +cmd = "conda-smithy lint --conda-forge recipe" +description = "Lint the feedstock recipe" + +[environments] +smithy = ["smithy"] + +# This is a copy of default, to be enabled by build_steps.sh during Docker builds +# __PLATFORM_SPECIFIC_ENV__ = [] From 60e3033678608fca286c59790b517191af470478 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sat, 23 May 2026 23:28:08 -0500 Subject: [PATCH 06/17] Fix conditional aarch64 logic when setting target_name --- recipe/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index a69f96b6..dab14e86 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -9,8 +9,8 @@ context: bindings_major_version: ${{ (version | split("."))[0] | int }} bindings_minor_version: ${{ (version | split("."))[1] | int }} bindings_patch_version: ${{ (version | split("."))[2] | int }} - target_name: ${{ 'x86_64-linux' if linux else "sbsa-linux" if aarch64 else "win64" if win else "" }} - subdir: ${{ "targets/" ~ target_name if linux or aarch64 else "Library\\" if win else "" }} + target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "win64" if win else "" }} + subdir: ${{ "targets/" ~ target_name if aarch64 or linux else "Library\\" if win else "" }} recipe: name: cuda-python-split From d3717f9feeffe4281f011d59bfe9afa43e2514b5 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sun, 24 May 2026 00:34:27 -0500 Subject: [PATCH 07/17] Finalize recipe.yaml --- recipe/recipe.yaml | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index dab14e86..4bc47ef1 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -67,8 +67,6 @@ outputs: - cuda.bindings.nvvm - cuda.bindings.nvfatbin pip_check: false - # TODO: add support for v1 - # python_version: >=${{ python_min }} about: license: LicenseRef-NVIDIA-SOFTWARE-LICENSE license_file: cuda_python/LICENSE @@ -113,6 +111,7 @@ outputs: then: - libcufile - libcufile-dev + - libnvfatbin - cython - pip - pyclibrary @@ -128,23 +127,30 @@ outputs: # Same for cuda-nvvm-impl. - ${{ pin_compatible('cuda-nvrtc', lower_bound='x', upper_bound='x') }} - ${{ pin_compatible('cuda-nvvm-impl', lower_bound='x', upper_bound='x') }} - # TODO: add support for v1 - # - skip: false linux - # then: ${{ pin_compatible('libcufile', lower_bound='x', upper_bound='x') }} + - if: linux + then: ${{ pin_compatible('libcufile', lower_bound='x', upper_bound='x') }} + # FIXME: error "following package is not part of the solution: libnvfatbin" # - ${{ pin_compatible('libnvfatbin', lower_bound='x', upper_bound='x') }} - libnvjitlink >=13.0,<14.0a0 ignore_run_exports: from_package: + # The run-exports from these dev packages are too tight, so we ignore them. + # The cuda-python package supports CUDA Enhanced Compatibility through its + # use of dlopen, so it is compatible with other CUDA minor versions. - cuda-nvvm-impl - cuda-cudart-dev - cuda-cudart-static - cuda-nvrtc-dev - # TODO: add support for v1 - # - skip: false linux - # then: libcufile-dev + - if: linux + then: libcufile-dev run_constraints: + # cuda-cudart is not a hard dependency because cuda-python statically links to + # cudart. This package is optionally dlopen'd for getting the local cudart + # version with cuda.cudart.getLocalRuntimeVersion(). We ignored run-exports + # of cuda-cudart-dev and instead allow a looser pinning here. - ${{ pin_compatible('cuda-cudart', lower_bound='x', upper_bound='x') }} - # Rattler-build thinks this introduces circular dependency + # Rattler-build views this as circular dependency + # TODO: should this be removed outright # - ${{ pin_subpackage('cuda-python', upper_bound='x.x') }} tests: - script: @@ -177,9 +183,8 @@ outputs: - cuda.bindings - cuda.bindings.driver - cuda.bindings.runtime - # TODO: add support for v1 - # - skip: false linux - # then: cuda.bindings.cufile + - if: linux + then: cuda.bindings.cufile - cuda.bindings.nvrtc - cuda.bindings.nvjitlink - cuda.bindings.nvvm From ccd7ad05b6073b562821a569b9bf1d55dec03b51 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Sun, 24 May 2026 09:41:36 -0500 Subject: [PATCH 08/17] Move test with numpy dependency to test script section --- recipe/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 4bc47ef1..82e45dbb 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -164,6 +164,8 @@ outputs: - python -c "import cuda.bindings; print(cuda.bindings.__version__)" # Imports depend on numpy - python -c "import cuda.bindings.nvml" + - if: linux + then: python -c "import cuda.bindings.cufile" requirements: run: - ${{ compiler('c') }} @@ -183,8 +185,6 @@ outputs: - cuda.bindings - cuda.bindings.driver - cuda.bindings.runtime - - if: linux - then: cuda.bindings.cufile - cuda.bindings.nvrtc - cuda.bindings.nvjitlink - cuda.bindings.nvvm From 8896295c963dbe7d0540a52a83f247226caa052f Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Mon, 25 May 2026 16:08:27 -0500 Subject: [PATCH 09/17] Fix typo with win64 target name --- recipe/recipe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 82e45dbb..8f2cabc1 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -9,7 +9,7 @@ context: bindings_major_version: ${{ (version | split("."))[0] | int }} bindings_minor_version: ${{ (version | split("."))[1] | int }} bindings_patch_version: ${{ (version | split("."))[2] | int }} - target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "win64" if win else "" }} + target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "x64" if win else "" }} subdir: ${{ "targets/" ~ target_name if aarch64 or linux else "Library\\" if win else "" }} recipe: From d008d924c53c7e42d58d8f07c6fd18446e696740 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Mon, 25 May 2026 18:31:41 -0500 Subject: [PATCH 10/17] Ensure 'is_freethreading' is detected by conda-smithy --- recipe/recipe.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 8f2cabc1..c0461644 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -11,6 +11,7 @@ context: bindings_patch_version: ${{ (version | split("."))[2] | int }} target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "x64" if win else "" }} subdir: ${{ "targets/" ~ target_name if aarch64 or linux else "Library\\" if win else "" }} + touch_is_freethreading: ${{ is_freethreading }} recipe: name: cuda-python-split From 191c5134184618ce2fe8adbd050d74a6a8aee5f8 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Mon, 25 May 2026 19:52:52 -0500 Subject: [PATCH 11/17] Remove problematic line --- recipe/recipe.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index c0461644..b6646019 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -5,7 +5,6 @@ context: number: 2 version: "13.2.0" sha256: 6899b7684ccaf3249d521cc092768baeae390780375bb115bcd80350b65b1dff - is_freethreading: environ | get("is_freethreading", False) bindings_major_version: ${{ (version | split("."))[0] | int }} bindings_minor_version: ${{ (version | split("."))[1] | int }} bindings_patch_version: ${{ (version | split("."))[2] | int }} From 8b9f95168e1b3e3cfb04d57f4fd4c1eed85f1a47 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Tue, 26 May 2026 00:55:15 +0000 Subject: [PATCH 12/17] MNT: Re-rendered with conda-smithy 3.62.0 and conda-forge-pinning 2026.05.24.12.35.1 --- .azure-pipelines/azure-pipelines-win.yml | 42 +++-- ...ml => linux_64_is_freethreadingfalse.yaml} | 9 +- .../linux_64_is_freethreadingtrue.yaml | 35 ++++ ...threadingfalsepython3.10.____cpython.yaml} | 4 + ...threadingfalsepython3.11.____cpython.yaml} | 4 + ...threadingfalsepython3.12.____cpython.yaml} | 4 + ...eethreadingfalsepython3.13.____cp313.yaml} | 4 + ...eethreadingfalsepython3.14.____cp314.yaml} | 4 + ...eethreadingtruepython3.14.____cp314t.yaml} | 4 + ...threadingfalsepython3.10.____cpython.yaml} | 5 + ...threadingfalsepython3.11.____cpython.yaml} | 5 + ...threadingfalsepython3.12.____cpython.yaml} | 5 + ...eethreadingfalsepython3.13.____cp313.yaml} | 5 + ...eethreadingfalsepython3.14.____cp314.yaml} | 5 + ...eethreadingtruepython3.14.____cp314t.yaml} | 5 + .github/workflows/conda-build.yml | 60 +++++-- README.md | 64 +++---- pixi.toml | 166 +++++++++--------- 18 files changed, 289 insertions(+), 141 deletions(-) rename .ci_support/{linux_64_.yaml => linux_64_is_freethreadingfalse.yaml} (85%) create mode 100644 .ci_support/linux_64_is_freethreadingtrue.yaml rename .ci_support/{linux_aarch64_python3.10.____cpython.yaml => linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_python3.11.____cpython.yaml => linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_python3.12.____cpython.yaml => linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_python3.13.____cp313.yaml => linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml} (88%) rename .ci_support/{linux_aarch64_python3.14.____cp314.yaml => linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml} (88%) rename .ci_support/{linux_aarch64_python3.14.____cp314t.yaml => linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml} (89%) rename .ci_support/{win_64_python3.10.____cpython.yaml => win_64_is_freethreadingfalsepython3.10.____cpython.yaml} (79%) rename .ci_support/{win_64_python3.11.____cpython.yaml => win_64_is_freethreadingfalsepython3.11.____cpython.yaml} (79%) rename .ci_support/{win_64_python3.12.____cpython.yaml => win_64_is_freethreadingfalsepython3.12.____cpython.yaml} (79%) rename .ci_support/{win_64_python3.13.____cp313.yaml => win_64_is_freethreadingfalsepython3.13.____cp313.yaml} (79%) rename .ci_support/{win_64_python3.14.____cp314.yaml => win_64_is_freethreadingfalsepython3.14.____cp314.yaml} (79%) rename .ci_support/{win_64_python3.14.____cp314t.yaml => win_64_is_freethreadingtruepython3.14.____cp314t.yaml} (79%) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index bc21c05c..5c1e7428 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,34 +8,44 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_python3.10.____cpython: - CONFIG: win_64_python3.10.____cpython + win_64_is_freethreadingfalsepython3.10.____cpython: + CONFIG: win_64_is_freethreadingfalsepython3.10.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false - win_64_python3.11.____cpython: - CONFIG: win_64_python3.11.____cpython + tools_install_dir: D:\Miniforge + win_64_is_freethreadingfalsepython3.11.____cpython: + CONFIG: win_64_is_freethreadingfalsepython3.11.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false - win_64_python3.12.____cpython: - CONFIG: win_64_python3.12.____cpython + tools_install_dir: D:\Miniforge + win_64_is_freethreadingfalsepython3.12.____cpython: + CONFIG: win_64_is_freethreadingfalsepython3.12.____cpython UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false - win_64_python3.13.____cp313: - CONFIG: win_64_python3.13.____cp313 + tools_install_dir: D:\Miniforge + win_64_is_freethreadingfalsepython3.13.____cp313: + CONFIG: win_64_is_freethreadingfalsepython3.13.____cp313 UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false - win_64_python3.14.____cp314: - CONFIG: win_64_python3.14.____cp314 + tools_install_dir: D:\Miniforge + win_64_is_freethreadingfalsepython3.14.____cp314: + CONFIG: win_64_is_freethreadingfalsepython3.14.____cp314 UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false - win_64_python3.14.____cp314t: - CONFIG: win_64_python3.14.____cp314t + tools_install_dir: D:\Miniforge + win_64_is_freethreadingtruepython3.14.____cp314t: + CONFIG: win_64_is_freethreadingtruepython3.14.____cp314t UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ store_build_artifacts: false + tools_install_dir: D:\Miniforge timeoutInMinutes: 360 variables: - CONDA_BLD_PATH: D:\\bld\\ - MINIFORGE_HOME: D:\Miniforge UPLOAD_TEMP: D:\\tmp steps: @@ -44,8 +54,8 @@ jobs: call ".scripts\run_win_build.bat" displayName: Run Windows build env: - MINIFORGE_HOME: $(MINIFORGE_HOME) - CONDA_BLD_PATH: $(CONDA_BLD_PATH) + MINIFORGE_HOME: $(tools_install_dir) + CONDA_BLD_PATH: $(build_workspace_dir) PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_is_freethreadingfalse.yaml similarity index 85% rename from .ci_support/linux_64_.yaml rename to .ci_support/linux_64_is_freethreadingfalse.yaml index afd31ddc..a8885306 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_is_freethreadingfalse.yaml @@ -16,6 +16,12 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false +- false +- false +- false +- false pin_run_as_build: python: min_pin: x.x @@ -26,7 +32,6 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 - 3.14.* *_cp314 -- 3.14.* *_cp314t python_min: - '3.10' target_platform: @@ -34,3 +39,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingtrue.yaml b/.ci_support/linux_64_is_freethreadingtrue.yaml new file mode 100644 index 00000000..b4381591 --- /dev/null +++ b/.ci_support/linux_64_is_freethreadingtrue.yaml @@ -0,0 +1,35 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- true +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314t +python_min: +- '3.10' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_python3.10.____cpython.yaml rename to .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml index 1abd5778..58ea2765 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_python3.11.____cpython.yaml rename to .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml index 5bfda903..979a24c5 100644 --- a/.ci_support/linux_aarch64_python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_python3.12.____cpython.yaml rename to .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml index d5868c35..a0139f1d 100644 --- a/.ci_support/linux_aarch64_python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml similarity index 88% rename from .ci_support/linux_aarch64_python3.13.____cp313.yaml rename to .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml index 8d539fa3..e2bb15c8 100644 --- a/.ci_support/linux_aarch64_python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml similarity index 88% rename from .ci_support/linux_aarch64_python3.14.____cp314.yaml rename to .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml index f3df6ff3..e609e5a8 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/linux_aarch64_python3.14.____cp314t.yaml b/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml similarity index 89% rename from .ci_support/linux_aarch64_python3.14.____cp314t.yaml rename to .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml index 613442da..397f2da5 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314t.yaml +++ b/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +is_freethreading: +- true pin_run_as_build: python: min_pin: x.x @@ -29,3 +31,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml similarity index 79% rename from .ci_support/win_64_python3.10.____cpython.yaml rename to .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml index e53bc4a2..569823c6 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml similarity index 79% rename from .ci_support/win_64_python3.11.____cpython.yaml rename to .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml index f2cdd6a2..67b5a590 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml similarity index 79% rename from .ci_support/win_64_python3.12.____cpython.yaml rename to .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml index 7ce691f4..0c517ae0 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml similarity index 79% rename from .ci_support/win_64_python3.13.____cp313.yaml rename to .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml index 9addad34..248becda 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml similarity index 79% rename from .ci_support/win_64_python3.14.____cp314.yaml rename to .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml index 74b70416..73d7ce5e 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- false pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.ci_support/win_64_python3.14.____cp314t.yaml b/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml similarity index 79% rename from .ci_support/win_64_python3.14.____cp314t.yaml rename to .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml index ffcdac54..27be9ba1 100644 --- a/.ci_support/win_64_python3.14.____cp314t.yaml +++ b/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +is_freethreading: +- true pin_run_as_build: python: min_pin: x.x @@ -18,3 +20,6 @@ python_min: - '3.10' target_platform: - win-64 +zip_keys: +- - python + - is_freethreading diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 2b6cb393..818a76ad 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -22,48 +22,78 @@ jobs: max-parallel: 50 matrix: include: - - CONFIG: linux_64_ + - CONFIG: linux_64_is_freethreadingfalse STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.10.____cpython + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_64_is_freethreadingtrue STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.11.____cpython + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingfalsepython3.10.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.12.____cpython + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingfalsepython3.11.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.13.____cp313 + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingfalsepython3.12.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.14.____cp314 + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingfalsepython3.13.____cp313 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_python3.14.____cp314t + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingfalsepython3.14.____cp314 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: + - CONFIG: linux_aarch64_is_freethreadingtruepython3.14.____cp314t + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 + build_workspace_dir: build_artifacts + docker_run_args: steps: - name: Checkout code @@ -73,11 +103,13 @@ jobs: id: build-linux if: matrix.os == 'ubuntu' env: + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }} CI: github_actions - CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}" + CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.docker_run_args }}" BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} @@ -97,6 +129,8 @@ jobs: else export IS_PR_BUILD="False" fi + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" echo "::endgroup::" ./.scripts/run_docker_build.sh @@ -104,6 +138,8 @@ jobs: id: build-macos if: matrix.os == 'macos' env: + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} CI: github_actions @@ -122,6 +158,8 @@ jobs: else export IS_PR_BUILD="False" fi + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" ./.scripts/run_osx_build.sh - name: Build on windows @@ -134,10 +172,8 @@ jobs: set "sha=%GITHUB_SHA%" call ".scripts\run_win_build.bat" env: - # default value; make it explicit, as it needs to match with artefact - # generation below. Not configurable for now, can be revisited later - CONDA_BLD_PATH: C:\bld - MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} CI: github_actions diff --git a/README.md b/README.md index 89e4e0eb..cfaef63c 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,14 @@ Current build status ==================== -
VariantStatus
linux_64_is_freethreadingfalsepython3.10.____cpython - - variant - -
linux_64_is_freethreadingfalsepython3.11.____cpython - - variant - -
linux_64_is_freethreadingfalsepython3.12.____cpython - - variant - -
linux_64_is_freethreadingfalsepython3.13.____cp313 - - variant - -
linux_64_is_freethreadingfalsepython3.14.____cp314 - - variant - -
linux_64_is_freethreadingtruepython3.14.____cp314tlinux_64 - variant + variant
linux_aarch64_is_freethreadingfalsepython3.10.____cpythonlinux_aarch64_python3.10.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.11.____cpythonlinux_aarch64_python3.11.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.12.____cpythonlinux_aarch64_python3.12.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.13.____cp313linux_aarch64_python3.13.____cp313 - variant + variant
linux_aarch64_is_freethreadingfalsepython3.14.____cp314linux_aarch64_python3.14.____cp314 - variant + variant
linux_aarch64_is_freethreadingtruepython3.14.____cp314tlinux_aarch64_python3.14.____cp314t - variant + variant
win_64_is_freethreadingfalsepython3.10.____cpythonwin_64_python3.10.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.11.____cpythonwin_64_python3.11.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.12.____cpythonwin_64_python3.12.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.13.____cp313win_64_python3.13.____cp313 - variant + variant
win_64_is_freethreadingfalsepython3.14.____cp314win_64_python3.14.____cp314 - variant + variant
win_64_is_freethreadingtruepython3.14.____cp314twin_64_python3.14.____cp314t - variant + variant
+
+ + + @@ -53,94 +60,87 @@ Current build status
GitHub Actions + + + +
Azure
- - - - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/pixi.toml b/pixi.toml index f593267d..44bbcff2 100644 --- a/pixi.toml +++ b/pixi.toml @@ -5,7 +5,7 @@ [workspace] name = "cuda-python-feedstock" -version = "3.61.2" # conda-smithy version used to generate this file +version = "3.62.0" # conda-smithy version used to generate this file description = "Pixi configuration for conda-forge/cuda-python-feedstock" authors = ["@conda-forge/cuda-python"] channels = ["conda-forge"] @@ -13,7 +13,7 @@ platforms = ["linux-64", "linux-aarch64", "linux-ppc64le", "osx-64", "win-64"] requires-pixi = ">=0.59.0" [dependencies] -conda-build = ">=24.1" +conda-build = ">=26.3" conda-forge-ci-setup = "4.*" rattler-build = "*" @@ -23,84 +23,90 @@ description = "List contents of all packages found in rattler-build build direct [tasks.build] cmd = "rattler-build build --recipe recipe" description = "Build cuda-python-feedstock directly (without setup scripts), no particular variant specified" -[tasks."build-linux_64_"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_.yaml" -description = "Build cuda-python-feedstock with variant linux_64_ directly (without setup scripts)" -[tasks."inspect-linux_64_"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_64_" -[tasks."build-linux_aarch64_python3.10.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.10.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.10.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.10.____cpython" -[tasks."build-linux_aarch64_python3.11.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.11.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.11.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.11.____cpython" -[tasks."build-linux_aarch64_python3.12.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.12.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.12.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.12.____cpython" -[tasks."build-linux_aarch64_python3.13.____cp313"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.13.____cp313 directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.13.____cp313"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.13.____cp313" -[tasks."build-linux_aarch64_python3.14.____cp314"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314 directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.14.____cp314"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314" -[tasks."build-linux_aarch64_python3.14.____cp314t"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314t directly (without setup scripts)" -[tasks."inspect-linux_aarch64_python3.14.____cp314t"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314t" -[tasks."build-win_64_python3.10.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.10.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.10.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_python3.10.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.10.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.10.____cpython" -[tasks."build-win_64_python3.11.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.11.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.11.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_python3.11.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.11.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.11.____cpython" -[tasks."build-win_64_python3.12.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.12.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.12.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_python3.12.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.12.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.12.____cpython" -[tasks."build-win_64_python3.13.____cp313"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.13.____cp313.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.13.____cp313 directly (without setup scripts)" -[tasks."inspect-win_64_python3.13.____cp313"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.13.____cp313.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.13.____cp313" -[tasks."build-win_64_python3.14.____cp314"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314 directly (without setup scripts)" -[tasks."inspect-win_64_python3.14.____cp314"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314" -[tasks."build-win_64_python3.14.____cp314t"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" -description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314t directly (without setup scripts)" -[tasks."inspect-win_64_python3.14.____cp314t"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314t" +[tasks."build-linux_64_is_freethreadingfalse"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_is_freethreadingfalse.yaml" +description = "Build cuda-python-feedstock with variant linux_64_is_freethreadingfalse directly (without setup scripts)" +[tasks."inspect-linux_64_is_freethreadingfalse"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_is_freethreadingfalse.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_64_is_freethreadingfalse" +[tasks."build-linux_64_is_freethreadingtrue"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_is_freethreadingtrue.yaml" +description = "Build cuda-python-feedstock with variant linux_64_is_freethreadingtrue directly (without setup scripts)" +[tasks."inspect-linux_64_is_freethreadingtrue"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_is_freethreadingtrue.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_64_is_freethreadingtrue" +[tasks."build-linux_aarch64_is_freethreadingfalsepython3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.10.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.10.____cpython" +[tasks."build-linux_aarch64_is_freethreadingfalsepython3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.11.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.11.____cpython" +[tasks."build-linux_aarch64_is_freethreadingfalsepython3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.12.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.12.____cpython" +[tasks."build-linux_aarch64_is_freethreadingfalsepython3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.13.____cp313" +[tasks."build-linux_aarch64_is_freethreadingfalsepython3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.14.____cp314" +[tasks."build-linux_aarch64_is_freethreadingtruepython3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingtruepython3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-linux_aarch64_is_freethreadingtruepython3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingtruepython3.14.____cp314t" +[tasks."build-win_64_is_freethreadingfalsepython3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.10.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingfalsepython3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.10.____cpython" +[tasks."build-win_64_is_freethreadingfalsepython3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.11.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingfalsepython3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.11.____cpython" +[tasks."build-win_64_is_freethreadingfalsepython3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.12.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingfalsepython3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.12.____cpython" +[tasks."build-win_64_is_freethreadingfalsepython3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingfalsepython3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.13.____cp313" +[tasks."build-win_64_is_freethreadingfalsepython3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingfalsepython3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.14.____cp314" +[tasks."build-win_64_is_freethreadingtruepython3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant win_64_is_freethreadingtruepython3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-win_64_is_freethreadingtruepython3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingtruepython3.14.____cp314t" [feature.smithy.dependencies] conda-smithy = "*" From 8d817eb4a07555d35b3f107bc5f5a06fec105111 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Tue, 26 May 2026 11:13:54 -0500 Subject: [PATCH 13/17] Minor recipe fixes --- recipe/recipe.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index b6646019..5d7232be 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -22,7 +22,7 @@ source: build: number: 0 - skip: match(python, "<3.9") or ppc64le or osx + skip: match(python, "<3.10") or ppc64le or osx outputs: - package: @@ -129,8 +129,7 @@ outputs: - ${{ pin_compatible('cuda-nvvm-impl', lower_bound='x', upper_bound='x') }} - if: linux then: ${{ pin_compatible('libcufile', lower_bound='x', upper_bound='x') }} - # FIXME: error "following package is not part of the solution: libnvfatbin" - # - ${{ pin_compatible('libnvfatbin', lower_bound='x', upper_bound='x') }} + - ${{ pin_compatible('libnvfatbin', lower_bound='x', upper_bound='x') }} - libnvjitlink >=13.0,<14.0a0 ignore_run_exports: from_package: @@ -149,9 +148,6 @@ outputs: # version with cuda.cudart.getLocalRuntimeVersion(). We ignored run-exports # of cuda-cudart-dev and instead allow a looser pinning here. - ${{ pin_compatible('cuda-cudart', lower_bound='x', upper_bound='x') }} - # Rattler-build views this as circular dependency - # TODO: should this be removed outright - # - ${{ pin_subpackage('cuda-python', upper_bound='x.x') }} tests: - script: - if: linux From 34916b676195f4c27d3292abde4d535b01e0bc17 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Tue, 26 May 2026 13:00:47 -0500 Subject: [PATCH 14/17] Add safeguards for undefined variables for conda-smithy --- recipe/recipe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 5d7232be..e25e9cdc 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -10,7 +10,7 @@ context: bindings_patch_version: ${{ (version | split("."))[2] | int }} target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "x64" if win else "" }} subdir: ${{ "targets/" ~ target_name if aarch64 or linux else "Library\\" if win else "" }} - touch_is_freethreading: ${{ is_freethreading }} + touch_is_freethreading: ${{ is_freethreading if is_freethreading is defined else False }} recipe: name: cuda-python-split From c4cbc7b7985945ccb5f38bc528ca896b4536aa37 Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Tue, 26 May 2026 22:03:38 -0500 Subject: [PATCH 15/17] Incorporate suggestions of @kkraus14 --- recipe/build_output.bat | 2 +- recipe/recipe.yaml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipe/build_output.bat b/recipe/build_output.bat index 48759cbc..b01814db 100644 --- a/recipe/build_output.bat +++ b/recipe/build_output.bat @@ -1,5 +1,5 @@ set "CUDA_HOME=%PREFIX%\\%SUBDIR%" -set "LIB=%PREFIX%\\%SUBDIR%\\lib\\%target_name%;%LIB%" +set "LIB=%PREFIX%\\%SUBDIR%\\lib\\%TARGET_NAME%;%LIB%" set DIR_NAME=%PKG_NAME:-=_% cd %DIR_NAME% diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index e25e9cdc..3e1904cf 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -35,6 +35,7 @@ outputs: script: env: SUBDIR: ${{ subdir }} + TARGET_NAME: ${{ target_name }} file: ${{ 'build_output.bat' if win else 'build_output.sh' if linux else '' }} requirements: host: @@ -55,7 +56,7 @@ outputs: - python -c "import cuda.bindings.nvml" requirements: run: - - python >=${{ python_min }} + - python ${{ python_min }}.* - numpy - python: imports: @@ -85,6 +86,7 @@ outputs: script: env: SUBDIR: ${{ subdir }} + TARGET_NAME: ${{ target_name }} file: ${{ 'build_output.bat' if win else 'build_output.sh' if linux else '' }} requirements: build: From 45ab6b923e848ef6947c42abf55a6917aa7ab04c Mon Sep 17 00:00:00 2001 From: Andres Guzman-Ballen Date: Wed, 27 May 2026 11:19:14 -0500 Subject: [PATCH 16/17] Remove freethreading reference interfering with noarch behavior --- recipe/recipe.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 3e1904cf..c48fc1e3 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -10,7 +10,6 @@ context: bindings_patch_version: ${{ (version | split("."))[2] | int }} target_name: ${{ "sbsa-linux" if aarch64 else 'x86_64-linux' if linux else "x64" if win else "" }} subdir: ${{ "targets/" ~ target_name if aarch64 or linux else "Library\\" if win else "" }} - touch_is_freethreading: ${{ is_freethreading if is_freethreading is defined else False }} recipe: name: cuda-python-split From 7a729b4696e145ed2141235e6b1716a6de4eb500 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 16:23:56 +0000 Subject: [PATCH 17/17] MNT: Re-rendered with conda-smithy 3.62.0 and conda-forge-pinning 2026.05.27.05.30.0 --- .azure-pipelines/azure-pipelines-win.yml | 24 +-- ...freethreadingfalse.yaml => linux_64_.yaml} | 9 +- .../linux_64_is_freethreadingtrue.yaml | 35 ---- ...linux_aarch64_python3.10.____cpython.yaml} | 4 - ...linux_aarch64_python3.11.____cpython.yaml} | 4 - ...linux_aarch64_python3.12.____cpython.yaml} | 4 - ...> linux_aarch64_python3.13.____cp313.yaml} | 4 - ...> linux_aarch64_python3.14.____cp314.yaml} | 4 - ... linux_aarch64_python3.14.____cp314t.yaml} | 4 - ...aml => win_64_python3.10.____cpython.yaml} | 5 - ...aml => win_64_python3.11.____cpython.yaml} | 5 - ...aml => win_64_python3.12.____cpython.yaml} | 5 - ....yaml => win_64_python3.13.____cp313.yaml} | 5 - ....yaml => win_64_python3.14.____cp314.yaml} | 5 - ...yaml => win_64_python3.14.____cp314t.yaml} | 5 - .github/workflows/conda-build.yml | 23 +-- README.md | 48 +++--- pixi.toml | 162 +++++++++--------- 18 files changed, 122 insertions(+), 233 deletions(-) rename .ci_support/{linux_64_is_freethreadingfalse.yaml => linux_64_.yaml} (85%) delete mode 100644 .ci_support/linux_64_is_freethreadingtrue.yaml rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml => linux_aarch64_python3.10.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml => linux_aarch64_python3.11.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml => linux_aarch64_python3.12.____cpython.yaml} (88%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml => linux_aarch64_python3.13.____cp313.yaml} (88%) rename .ci_support/{linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml => linux_aarch64_python3.14.____cp314.yaml} (88%) rename .ci_support/{linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml => linux_aarch64_python3.14.____cp314t.yaml} (89%) rename .ci_support/{win_64_is_freethreadingfalsepython3.10.____cpython.yaml => win_64_python3.10.____cpython.yaml} (79%) rename .ci_support/{win_64_is_freethreadingfalsepython3.11.____cpython.yaml => win_64_python3.11.____cpython.yaml} (79%) rename .ci_support/{win_64_is_freethreadingfalsepython3.12.____cpython.yaml => win_64_python3.12.____cpython.yaml} (79%) rename .ci_support/{win_64_is_freethreadingfalsepython3.13.____cp313.yaml => win_64_python3.13.____cp313.yaml} (79%) rename .ci_support/{win_64_is_freethreadingfalsepython3.14.____cp314.yaml => win_64_python3.14.____cp314.yaml} (79%) rename .ci_support/{win_64_is_freethreadingtruepython3.14.____cp314t.yaml => win_64_python3.14.____cp314t.yaml} (79%) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 5c1e7428..3c1537eb 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,38 +8,38 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_is_freethreadingfalsepython3.10.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.10.____cpython + win_64_python3.10.____cpython: + CONFIG: win_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false tools_install_dir: D:\Miniforge - win_64_is_freethreadingfalsepython3.11.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.11.____cpython + win_64_python3.11.____cpython: + CONFIG: win_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false tools_install_dir: D:\Miniforge - win_64_is_freethreadingfalsepython3.12.____cpython: - CONFIG: win_64_is_freethreadingfalsepython3.12.____cpython + win_64_python3.12.____cpython: + CONFIG: win_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false tools_install_dir: D:\Miniforge - win_64_is_freethreadingfalsepython3.13.____cp313: - CONFIG: win_64_is_freethreadingfalsepython3.13.____cp313 + win_64_python3.13.____cp313: + CONFIG: win_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false tools_install_dir: D:\Miniforge - win_64_is_freethreadingfalsepython3.14.____cp314: - CONFIG: win_64_is_freethreadingfalsepython3.14.____cp314 + win_64_python3.14.____cp314: + CONFIG: win_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false tools_install_dir: D:\Miniforge - win_64_is_freethreadingtruepython3.14.____cp314t: - CONFIG: win_64_is_freethreadingtruepython3.14.____cp314t + win_64_python3.14.____cp314t: + CONFIG: win_64_python3.14.____cp314t UPLOAD_PACKAGES: 'True' build_workspace_dir: D:\\bld\\ store_build_artifacts: false diff --git a/.ci_support/linux_64_is_freethreadingfalse.yaml b/.ci_support/linux_64_.yaml similarity index 85% rename from .ci_support/linux_64_is_freethreadingfalse.yaml rename to .ci_support/linux_64_.yaml index a8885306..afd31ddc 100644 --- a/.ci_support/linux_64_is_freethreadingfalse.yaml +++ b/.ci_support/linux_64_.yaml @@ -16,12 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false -- false -- false -- false -- false pin_run_as_build: python: min_pin: x.x @@ -32,6 +26,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 - 3.14.* *_cp314 +- 3.14.* *_cp314t python_min: - '3.10' target_platform: @@ -39,5 +34,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_64_is_freethreadingtrue.yaml b/.ci_support/linux_64_is_freethreadingtrue.yaml deleted file mode 100644 index b4381591..00000000 --- a/.ci_support/linux_64_is_freethreadingtrue.yaml +++ /dev/null @@ -1,35 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '14' -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- true -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314t -python_min: -- '3.10' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml rename to .ci_support/linux_aarch64_python3.10.____cpython.yaml index 58ea2765..1abd5778 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml rename to .ci_support/linux_aarch64_python3.11.____cpython.yaml index 979a24c5..5bfda903 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml similarity index 88% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml rename to .ci_support/linux_aarch64_python3.12.____cpython.yaml index a0139f1d..d5868c35 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml similarity index 88% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml rename to .ci_support/linux_aarch64_python3.13.____cp313.yaml index e2bb15c8..8d539fa3 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml similarity index 88% rename from .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml rename to .ci_support/linux_aarch64_python3.14.____cp314.yaml index e609e5a8..f3df6ff3 100644 --- a/.ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml similarity index 89% rename from .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml rename to .ci_support/linux_aarch64_python3.14.____cp314t.yaml index 397f2da5..613442da 100644 --- a/.ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314t.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -is_freethreading: -- true pin_run_as_build: python: min_pin: x.x @@ -31,5 +29,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml rename to .ci_support/win_64_python3.10.____cpython.yaml index 569823c6..e53bc4a2 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml rename to .ci_support/win_64_python3.11.____cpython.yaml index 67b5a590..f2cdd6a2 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml rename to .ci_support/win_64_python3.12.____cpython.yaml index 0c517ae0..7ce691f4 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml rename to .ci_support/win_64_python3.13.____cp313.yaml index 248becda..9addad34 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml rename to .ci_support/win_64_python3.14.____cp314.yaml index 73d7ce5e..74b70416 100644 --- a/.ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- false pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml b/.ci_support/win_64_python3.14.____cp314t.yaml similarity index 79% rename from .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml rename to .ci_support/win_64_python3.14.____cp314t.yaml index 27be9ba1..ffcdac54 100644 --- a/.ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml +++ b/.ci_support/win_64_python3.14.____cp314t.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -is_freethreading: -- true pin_run_as_build: python: min_pin: x.x @@ -20,6 +18,3 @@ python_min: - '3.10' target_platform: - win-64 -zip_keys: -- - python - - is_freethreading diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 818a76ad..5a7ed27b 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -22,7 +22,7 @@ jobs: max-parallel: 50 matrix: include: - - CONFIG: linux_64_is_freethreadingfalse + - CONFIG: linux_64_ STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -31,7 +31,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_64_is_freethreadingtrue + - CONFIG: linux_aarch64_python3.10.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -40,7 +40,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.10.____cpython + - CONFIG: linux_aarch64_python3.11.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -49,7 +49,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.11.____cpython + - CONFIG: linux_aarch64_python3.12.____cpython STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -58,7 +58,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.12.____cpython + - CONFIG: linux_aarch64_python3.13.____cp313 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -67,7 +67,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.13.____cp313 + - CONFIG: linux_aarch64_python3.14.____cp314 STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu @@ -76,16 +76,7 @@ jobs: tools_install_dir: ~/miniforge3 build_workspace_dir: build_artifacts docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingfalsepython3.14.____cp314 - STORE_BUILD_ARTIFACTS: False - UPLOAD_PACKAGES: True - os: ubuntu - runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - tools_install_dir: ~/miniforge3 - build_workspace_dir: build_artifacts - docker_run_args: - - CONFIG: linux_aarch64_is_freethreadingtruepython3.14.____cp314t + - CONFIG: linux_aarch64_python3.14.____cp314t STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu diff --git a/README.md b/README.md index cfaef63c..967f63d5 100644 --- a/README.md +++ b/README.md @@ -60,87 +60,87 @@ Current build status
VariantStatus
linux_64 - - variant - -
linux_aarch64_python3.10.____cpythonlinux_aarch64_is_freethreadingfalsepython3.10.____cpython - variant + variant
linux_aarch64_python3.11.____cpythonlinux_aarch64_is_freethreadingfalsepython3.11.____cpython - variant + variant
linux_aarch64_python3.12.____cpythonlinux_aarch64_is_freethreadingfalsepython3.12.____cpython - variant + variant
linux_aarch64_python3.13.____cp313linux_aarch64_is_freethreadingfalsepython3.13.____cp313 - variant + variant
linux_aarch64_python3.14.____cp314linux_aarch64_is_freethreadingfalsepython3.14.____cp314 - variant + variant
linux_aarch64_python3.14.____cp314tlinux_aarch64_is_freethreadingtruepython3.14.____cp314t - variant + variant
win_64_python3.10.____cpythonwin_64_is_freethreadingfalsepython3.10.____cpython - variant + variant
win_64_python3.11.____cpythonwin_64_is_freethreadingfalsepython3.11.____cpython - variant + variant
win_64_python3.12.____cpythonwin_64_is_freethreadingfalsepython3.12.____cpython - variant + variant
win_64_python3.13.____cp313win_64_is_freethreadingfalsepython3.13.____cp313 - variant + variant
win_64_python3.14.____cp314win_64_is_freethreadingfalsepython3.14.____cp314 - variant + variant
win_64_python3.14.____cp314twin_64_is_freethreadingtruepython3.14.____cp314t - variant + variant
- + - + - + - + - + - + - + - + - + - + - + - + diff --git a/pixi.toml b/pixi.toml index 44bbcff2..16a2460d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -23,90 +23,84 @@ description = "List contents of all packages found in rattler-build build direct [tasks.build] cmd = "rattler-build build --recipe recipe" description = "Build cuda-python-feedstock directly (without setup scripts), no particular variant specified" -[tasks."build-linux_64_is_freethreadingfalse"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_is_freethreadingfalse.yaml" -description = "Build cuda-python-feedstock with variant linux_64_is_freethreadingfalse directly (without setup scripts)" -[tasks."inspect-linux_64_is_freethreadingfalse"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_is_freethreadingfalse.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_64_is_freethreadingfalse" -[tasks."build-linux_64_is_freethreadingtrue"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_is_freethreadingtrue.yaml" -description = "Build cuda-python-feedstock with variant linux_64_is_freethreadingtrue directly (without setup scripts)" -[tasks."inspect-linux_64_is_freethreadingtrue"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_is_freethreadingtrue.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_64_is_freethreadingtrue" -[tasks."build-linux_aarch64_is_freethreadingfalsepython3.10.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.10.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.10.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.10.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.10.____cpython" -[tasks."build-linux_aarch64_is_freethreadingfalsepython3.11.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.11.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.11.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.11.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.11.____cpython" -[tasks."build-linux_aarch64_is_freethreadingfalsepython3.12.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.12.____cpython directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.12.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.12.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.12.____cpython" -[tasks."build-linux_aarch64_is_freethreadingfalsepython3.13.____cp313"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.13.____cp313 directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.13.____cp313"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.13.____cp313.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.13.____cp313" -[tasks."build-linux_aarch64_is_freethreadingfalsepython3.14.____cp314"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingfalsepython3.14.____cp314 directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingfalsepython3.14.____cp314"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingfalsepython3.14.____cp314.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingfalsepython3.14.____cp314" -[tasks."build-linux_aarch64_is_freethreadingtruepython3.14.____cp314t"] -cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml" -description = "Build cuda-python-feedstock with variant linux_aarch64_is_freethreadingtruepython3.14.____cp314t directly (without setup scripts)" -[tasks."inspect-linux_aarch64_is_freethreadingtruepython3.14.____cp314t"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_is_freethreadingtruepython3.14.____cp314t.yaml" -description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_is_freethreadingtruepython3.14.____cp314t" -[tasks."build-win_64_is_freethreadingfalsepython3.10.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.10.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingfalsepython3.10.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.10.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.10.____cpython" -[tasks."build-win_64_is_freethreadingfalsepython3.11.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.11.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingfalsepython3.11.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.11.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.11.____cpython" -[tasks."build-win_64_is_freethreadingfalsepython3.12.____cpython"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.12.____cpython directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingfalsepython3.12.____cpython"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.12.____cpython.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.12.____cpython" -[tasks."build-win_64_is_freethreadingfalsepython3.13.____cp313"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.13.____cp313 directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingfalsepython3.13.____cp313"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.13.____cp313.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.13.____cp313" -[tasks."build-win_64_is_freethreadingfalsepython3.14.____cp314"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingfalsepython3.14.____cp314 directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingfalsepython3.14.____cp314"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingfalsepython3.14.____cp314.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingfalsepython3.14.____cp314" -[tasks."build-win_64_is_freethreadingtruepython3.14.____cp314t"] -cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml" -description = "Build cuda-python-feedstock with variant win_64_is_freethreadingtruepython3.14.____cp314t directly (without setup scripts)" -[tasks."inspect-win_64_is_freethreadingtruepython3.14.____cp314t"] -cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_is_freethreadingtruepython3.14.____cp314t.yaml" -description = "List contents of cuda-python-feedstock packages built for variant win_64_is_freethreadingtruepython3.14.____cp314t" +[tasks."build-linux_64_"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_.yaml" +description = "Build cuda-python-feedstock with variant linux_64_ directly (without setup scripts)" +[tasks."inspect-linux_64_"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_64_" +[tasks."build-linux_aarch64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.10.____cpython" +[tasks."build-linux_aarch64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.11.____cpython" +[tasks."build-linux_aarch64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.12.____cpython" +[tasks."build-linux_aarch64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.13.____cp313" +[tasks."build-linux_aarch64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314" +[tasks."build-linux_aarch64_python3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant linux_aarch64_python3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant linux_aarch64_python3.14.____cp314t" +[tasks."build-win_64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.10.____cpython" +[tasks."build-win_64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.11.____cpython" +[tasks."build-win_64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.12.____cpython" +[tasks."build-win_64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-win_64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.13.____cp313" +[tasks."build-win_64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-win_64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314" +[tasks."build-win_64_python3.14.____cp314t"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" +description = "Build cuda-python-feedstock with variant win_64_python3.14.____cp314t directly (without setup scripts)" +[tasks."inspect-win_64_python3.14.____cp314t"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314t.yaml" +description = "List contents of cuda-python-feedstock packages built for variant win_64_python3.14.____cp314t" [feature.smithy.dependencies] conda-smithy = "*"
VariantStatus
linux_aarch64_is_freethreadingfalsepython3.10.____cpythonlinux_aarch64_python3.10.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.11.____cpythonlinux_aarch64_python3.11.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.12.____cpythonlinux_aarch64_python3.12.____cpython - variant + variant
linux_aarch64_is_freethreadingfalsepython3.13.____cp313linux_aarch64_python3.13.____cp313 - variant + variant
linux_aarch64_is_freethreadingfalsepython3.14.____cp314linux_aarch64_python3.14.____cp314 - variant + variant
linux_aarch64_is_freethreadingtruepython3.14.____cp314tlinux_aarch64_python3.14.____cp314t - variant + variant
win_64_is_freethreadingfalsepython3.10.____cpythonwin_64_python3.10.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.11.____cpythonwin_64_python3.11.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.12.____cpythonwin_64_python3.12.____cpython - variant + variant
win_64_is_freethreadingfalsepython3.13.____cp313win_64_python3.13.____cp313 - variant + variant
win_64_is_freethreadingfalsepython3.14.____cp314win_64_python3.14.____cp314 - variant + variant
win_64_is_freethreadingtruepython3.14.____cp314twin_64_python3.14.____cp314t - variant + variant