diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml deleted file mode 100755 index fc31b03..0000000 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ /dev/null @@ -1,215 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: linux - pool: - vmImage: ubuntu-latest - strategy: - matrix: - linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython: - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_h4300bc21 - linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython: - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_h3747ab2d - linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython: - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_h86c3c167 - linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313: - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_h88f978e6 - linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314: - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_h1239d2b5 - linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython: - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h7bc1faf3 - linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython: - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h9cd8e738 - linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython: - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h8d03b736 - linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313: - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h7b65d883 - linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314: - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h1fc9517a - linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h49f2462e - linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_he090ee2a - linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h171bf8a0 - linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h783e5c13 - linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h0fc0f278 - linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_hb49ef32b - linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h8da13d4b - linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h071ad0d4 - linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h20e06015 - linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314: - CONFIG: linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h492f4cc9 - linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython: - CONFIG: linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_hf7356fb7 - linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython: - CONFIG: linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_hfee6b700 - linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython: - CONFIG: linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_h0fcd25d9 - linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313: - CONFIG: linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_h2fe05f75 - linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314: - CONFIG: linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_h6b0b35ea - timeoutInMinutes: 360 - variables: {} - - steps: - - script: | - sudo mkdir -p /opt/empty_dir || true - for d in \ - /opt/ghc \ - /opt/hostedtoolcache \ - /usr/lib/jvm \ - /usr/local/.ghcup \ - /usr/local/lib/android \ - /usr/local/share/powershell \ - /usr/share/dotnet \ - /usr/share/swift \ - ; do - sudo rsync --stats -a --delete /opt/empty_dir/ $d || true - done - sudo apt-get purge -y -f firefox \ - google-chrome-stable \ - microsoft-edge-stable - sudo apt-get autoremove -y >& /dev/null - sudo apt-get autoclean -y >& /dev/null - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers - # embedded qemu-static - - script: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - ls /proc/sys/fs/binfmt_misc/ - condition: not(startsWith(variables['CONFIG'], 'linux_64')) - displayName: Configure binfmt_misc - - - script: | - export CI=azure - export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) - export remote_url=$(Build.Repository.Uri) - export sha=$(Build.SourceVersion) - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) - if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then - export IS_PR_BUILD="True" - else - export IS_PR_BUILD="False" - fi - .scripts/run_docker_build.sh - displayName: Run docker build - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - - script: | - export CI=azure - export CI_RUN_ID=$(build.BuildNumber).$(system.JobAttempt) - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) - export CONDA_BLD_DIR=build_artifacts - export ARTIFACT_STAGING_DIR="$(Build.ArtifactStagingDirectory)" - # Archive everything in CONDA_BLD_DIR except environments - export BLD_ARTIFACT_PREFIX=conda_artifacts - if [[ "$AGENT_JOBSTATUS" == "Failed" ]]; then - # Archive the CONDA_BLD_DIR environments only when the job fails - export ENV_ARTIFACT_PREFIX=conda_envs - fi - ./.scripts/create_conda_build_artifacts.sh - displayName: Prepare conda build artifacts - condition: succeededOrFailed() - - - task: PublishPipelineArtifact@1 - displayName: Store conda build artifacts - condition: not(eq(variables.BLD_ARTIFACT_PATH, '')) - inputs: - targetPath: $(BLD_ARTIFACT_PATH) - artifactName: $(BLD_ARTIFACT_NAME) - - - task: PublishPipelineArtifact@1 - displayName: Store conda build environment artifacts - condition: not(eq(variables.ENV_ARTIFACT_PATH, '')) - inputs: - targetPath: $(ENV_ARTIFACT_PATH) - artifactName: $(ENV_ARTIFACT_NAME) diff --git a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9.yaml similarity index 90% rename from .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9.yaml index bec3cbf..dd2cfee 100644 --- a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml +++ b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9.yaml @@ -22,8 +22,6 @@ cxx_compiler: - gxx cxx_compiler_version: - '14' -dm_tree: -- <=0.1.9 docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 ffmpeg: @@ -60,6 +58,11 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +- 3.14.* *_cp314t six: - '>=1.16,<=1.17' target_platform: diff --git a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml deleted file mode 100644 index 2164cfb..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.11.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml deleted file mode 100644 index a931acc..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml deleted file mode 100644 index 14c1eda..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml deleted file mode 100644 index 31f9dcb..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0.yaml similarity index 90% rename from .ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0.yaml index e48a4d5..d65486c 100644 --- a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0.yaml @@ -22,8 +22,6 @@ cxx_compiler: - gxx cxx_compiler_version: - '14' -dm_tree: -- <=0.1.9 docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 ffmpeg: @@ -60,6 +58,11 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +- 3.14.* *_cp314t six: - '>=1.16,<=1.17' target_platform: diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml deleted file mode 100644 index 3147d8a..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.11.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml deleted file mode 100644 index 6a07b47..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml deleted file mode 100644 index 33a38f4..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml deleted file mode 100644 index 1011543..0000000 --- a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml +++ /dev/null @@ -1,72 +0,0 @@ -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9.yaml similarity index 91% rename from .ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml rename to .ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9.yaml index cc5ff35..d7a55ad 100644 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9.yaml @@ -24,8 +24,6 @@ cxx_compiler: - gxx cxx_compiler_version: - '14' -dm_tree: -- <=0.1.9 docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 ffmpeg: @@ -62,6 +60,11 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +- 3.14.* *_cp314t six: - '>=1.16,<=1.17' target_platform: diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml deleted file mode 100644 index 347e3d2..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.11.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml deleted file mode 100644 index 9e1d0af..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml deleted file mode 100644 index 4bbcce0..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml deleted file mode 100644 index fd76b5a..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.17' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0.yaml similarity index 91% rename from .ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml rename to .ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0.yaml index 31c3fa5..5ff433e 100644 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0.yaml @@ -24,8 +24,6 @@ cxx_compiler: - gxx cxx_compiler_version: - '14' -dm_tree: -- <=0.1.9 docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 ffmpeg: @@ -61,7 +59,12 @@ pin_run_as_build: 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 six: - '>=1.16,<=1.17' target_platform: diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml deleted file mode 100644 index a1cc7be..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml deleted file mode 100644 index 99fe66a..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml deleted file mode 100644 index f82f4dc..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml b/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml deleted file mode 100644 index a73afab..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- sbsa -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.28' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '13.0' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9.yaml similarity index 91% rename from .ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython.yaml rename to .ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9.yaml index 21f16b8..2642b37 100644 --- a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9.yaml @@ -24,8 +24,6 @@ cxx_compiler: - gxx cxx_compiler_version: - '14' -dm_tree: -- <=0.1.9 docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 ffmpeg: @@ -61,7 +59,12 @@ pin_run_as_build: 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 six: - '>=1.16,<=1.17' target_platform: diff --git a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython.yaml deleted file mode 100644 index e66453c..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- tegra -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.34' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython.yaml b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython.yaml deleted file mode 100644 index a454f6c..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- tegra -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.34' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313.yaml b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313.yaml deleted file mode 100644 index 07a463e..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- tegra -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.34' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.13.* *_cp313 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314.yaml b/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314.yaml deleted file mode 100644 index 3aaf1d3..0000000 --- a/.ci_support/linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314.yaml +++ /dev/null @@ -1,75 +0,0 @@ -arm_variant_type: -- tegra -astunparse: -- '>=1.6.0,<=1.6.3' -aws_sdk_cpp: -- 1.11.747 -black: -- 25.* -c_stdlib: -- sysroot -c_stdlib_version: -- '2.34' -cfitsio: -- 4.6.3 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- cuda-nvcc -cuda_compiler_version: -- '12.9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '14' -dm_tree: -- <=0.1.9 -docker_image: -- quay.io/condaforge/linux-anvil-x86_64:alma9 -ffmpeg: -- '8' -gast: -- '>=0.3.3,<=0.7.0' -libabseil: -- '20260107' -libboost_headers: -- 1.89.* -libjpeg_turbo: -- '3' -libnvcomp: -- 5.1.0.* -libnvimgcodec: -- 0.7.* -libnvjpeg2k: -- '>=0.8.0,<0.10.0' -libopencv: -- 4.13.0 -libprotobuf: -- 6.33.5 -libsndfile: -- '1.2' -libtiff: -- '4.7' -lmdb: -- 0.9.29 -packaging: -- <=25.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.14.* *_cp314 -six: -- '>=1.16,<=1.17' -target_platform: -- linux-aarch64 -zip_keys: -- - cxx_compiler_version - - c_stdlib_version - - cuda_compiler_version - - arm_variant_type -zlib: -- '1' diff --git a/.ci_support/migrations/absl_grpc_proto.yaml b/.ci_support/migrations/absl_grpc_proto.yaml deleted file mode 100644 index 058ccee..0000000 --- a/.ci_support/migrations/absl_grpc_proto.yaml +++ /dev/null @@ -1,21 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for libabseil 20250127, libgrpc 1.71 & libprotobuf 5.29.3 - kind: version - migration_number: 1 - exclude: - - abseil-cpp - - grpc-cpp - - libprotobuf - - protobuf - - re2 -libabseil: -- 20250127 -libgrpc: -- "1.71" -libprotobuf: -- 5.29.3 -# see https://github.com/grpc/grpc/commit/14ac94d923b80650e0df55bed17be5efa0e4becd -c_stdlib_version: # [osx and x86_64] - - 10.14 # [osx and x86_64] -migrator_ts: 1741118046.5882597 diff --git a/.ci_support/migrations/absl_grpc_proto_25Q2.yaml b/.ci_support/migrations/absl_grpc_proto_25Q2.yaml deleted file mode 100644 index 10b7a09..0000000 --- a/.ci_support/migrations/absl_grpc_proto_25Q2.yaml +++ /dev/null @@ -1,29 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for libabseil 20250512, libgrpc 1.73 & libprotobuf 6.31.1 - kind: version - migration_number: 1 - exclude: - # core deps - - abseil-cpp - - grpc-cpp - - libprotobuf - # required for building/testing - - protobuf - - re2 - # bazel stack - - bazel - - grpc_java_plugin - - singlejar -libabseil: -- 20250512 -libgrpc: -- "1.73" -libprotobuf: -- 6.31.1 -# we need to leave this migration open until we're ready to move the global baseline, see -# https://github.com/conda-forge/conda-forge.github.io/issues/2467; grpc 1.72 requires 11.0, -# see https://github.com/grpc/grpc/commit/f122d248443c81592e748da1adb240cbf0a0231c -c_stdlib_version: # [osx] - - 11.0 # [osx] -migrator_ts: 1748506837.6039238 diff --git a/.ci_support/migrations/cuda129.yaml b/.ci_support/migrations/cuda129.yaml deleted file mode 100644 index 5074cd1..0000000 --- a/.ci_support/migrations/cuda129.yaml +++ /dev/null @@ -1,57 +0,0 @@ -migrator_ts: 1738229377 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - paused: false - override_cbc_keys: - - cuda_compiler_stub - check_solvable: false - primary_key: cuda_compiler_version - ordering: - cuda_compiler_version: - - 12.4 - - 12.6 - - 12.8 - - None - - 12.9 - # to allow manual opt-in for CUDA 11.8, see - # https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472 - # must be last due to how cuda_compiler ordering in that migrator works - - 11.8 - commit_message: | - Upgrade to CUDA 12.9 - - CUDA 12.8 added support for architectures `sm_100`, `sm_101` and `sm_120`, - while CUDA 12.9 further added `sm_103` and `sm_121`. To build for these, - maintainers will need to modify their existing list of specified architectures - (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.) - for their package. A good balance between broad support and storage - footprint (resp. compilation time) is to add `sm_100` and `sm_120`. - - Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and - `TORCH_CUDA_ARCH_LIST` in its activation script to a string containing all - of the supported real architectures plus the virtual architecture of the - latest. Recipes for packages who use these variables to control their build - but do not want to build for all supported architectures will need to override - these variables in their build script. - - ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features - -cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -cuda_compiler_version_min: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - -fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.ci_support/migrations/libboost188.yaml b/.ci_support/migrations/libboost188.yaml deleted file mode 100644 index 6eca3fb..0000000 --- a/.ci_support/migrations/libboost188.yaml +++ /dev/null @@ -1,12 +0,0 @@ -__migrator: - build_number: 1 - kind: version - commit_message: "Rebuild for libboost 1.88" - migration_number: 1 -libboost_devel: -- "1.88" -libboost_headers: -- "1.88" -libboost_python_devel: -- "1.88" -migrator_ts: 1753251695.3315456 diff --git a/.ci_support/migrations/libopencv4130.yaml b/.ci_support/migrations/libopencv4130.yaml deleted file mode 100644 index 35ce92f..0000000 --- a/.ci_support/migrations/libopencv4130.yaml +++ /dev/null @@ -1,8 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for libopencv 4.13.0 - kind: version - migration_number: 1 -libopencv: -- 4.13.0 -migrator_ts: 1769569940.517031 diff --git a/.ci_support/migrations/python314t.yaml b/.ci_support/migrations/python314t.yaml new file mode 100644 index 0000000..a88ee49 --- /dev/null +++ b/.ci_support/migrations/python314t.yaml @@ -0,0 +1,54 @@ +migrator_ts: 1755739493 +__migrator: + commit_message: Rebuild for python 3.14 freethreading + migration_number: 1 + operation: key_add + primary_key: python + ordering: + python: + - 3.9.* *_cpython + - 3.10.* *_cpython + - 3.11.* *_cpython + - 3.12.* *_cpython + - 3.13.* *_cp313 + - 3.13.* *_cp313t + - 3.14.* *_cp314 # new entry + - 3.14.* *_cp314t # new entry + longterm: true + pr_limit: 20 + max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 12 times + exclude: + # this shouldn't attempt to modify the python feedstocks + - python + - pypy3.6 + - pypy-meta + - cross-python + - python_abi + exclude_pinned_pkgs: false + # if feedstock already has 3.13t migrator this is redundant, but harmless + additional_zip_keys: + - is_freethreading + - is_abi3 + wait_for_migrators: + - python314 + ignored_deps_per_node: + matplotlib: + - pyqt + pyarrow: + # optional test dependencies + - numba + - sparse + pyzmq: + # test dependency not used with free-threaded + - auditwheel + allowlist_file: free-threaded-314.txt + +python: +- 3.14.* *_cp314t +# additional entries to add for zip_keys +is_freethreading: +- true +is_python_min: +- false +is_abi3: +- false diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index a948c6c..ab07f7f 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -1,15 +1,237 @@ -# This file was added automatically by admin-migrations. Do not modify. -# It ensures that Github Actions can run once rerendered for the first time. +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. # -*- mode: yaml -*- name: Build conda package on: - workflow_dispatch: + push: + + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: true jobs: build: - name: Disabled build - runs-on: ubuntu-slim - if: false + name: ${{ matrix.CONFIG }} + runs-on: ${{ matrix.runs_on }} + timeout-minutes: 360 + strategy: + fail-fast: false + max-parallel: 50 + matrix: + include: + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9 + STORE_BUILD_ARTIFACTS: True + SHORT_CONFIG: linux_64_c_stdlib_version2.17cuda_compil_hd7918865 + 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_64_c_stdlib_version2.28cuda_compiler_version13.0 + STORE_BUILD_ARTIFACTS: True + SHORT_CONFIG: linux_64_c_stdlib_version2.28cuda_compil_h282d3825 + 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_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9 + STORE_BUILD_ARTIFACTS: True + SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h6a4a0357 + 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_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0 + STORE_BUILD_ARTIFACTS: True + SHORT_CONFIG: linux_aarch64_arm_variant_typesbsac_stdl_h1d8a58f0 + 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_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9 + STORE_BUILD_ARTIFACTS: True + SHORT_CONFIG: linux_aarch64_arm_variant_typetegrac_std_h645bfee9 + 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: - - run: exit 0 + + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Build on Linux + 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.docker_run_args }}" + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + shell: bash + run: | + if [[ "$(uname -m)" == "x86_64" ]]; then + echo "::group::Configure binfmt_misc" + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + fi + export flow_run_id="github_$GITHUB_RUN_ID" + export remote_url="https://github.com/$GITHUB_REPOSITORY" + export sha="$GITHUB_SHA" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then + export IS_PR_BUILD="True" + 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 + + - name: Build on macOS + 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 + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + shell: bash + run: | + export flow_run_id="github_$GITHUB_RUN_ID" + export remote_url="https://github.com/$GITHUB_REPOSITORY" + export sha="$GITHUB_SHA" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then + export IS_PR_BUILD="True" + 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 + id: build-windows + if: matrix.os == 'windows' + shell: cmd + run: | + set "flow_run_id=github_%GITHUB_RUN_ID%" + set "remote_url=https://github.com/%GITHUB_REPOSITORY%" + set "sha=%GITHUB_SHA%" + call ".scripts\run_win_build.bat" + env: + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + PYTHONUNBUFFERED: 1 + CONFIG: ${{ matrix.CONFIG }} + CI: github_actions + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + + - name: Determine build outcome + # this is to merge the status of the linux/osx/win builds into + # something we can easily reuse during artefact generation + id: determine-status + if: ${{ always() }} + shell: bash + env: + OS: ${{ matrix.os }} + run: | + if [[ "$OS" == "ubuntu" ]]; then + STATUS=${{ steps.build-linux.outcome }} + elif [[ "$OS" == "macos" ]]; then + STATUS=${{ steps.build-macos.outcome }} + elif [[ "$OS" == "windows" ]]; then + STATUS=${{ steps.build-windows.outcome }} + fi + if [ -z "$STATUS" ]; then + # steps that never ran will have empty status + STATUS="cancelled" + fi + echo "status=$STATUS" >> $GITHUB_OUTPUT + + - name: Prepare conda build artifacts + continue-on-error: true + id: prepare-artifacts + shell: bash + # we do not want to trigger artefact creation if the build was cancelled + if: ${{ always() && steps.determine-status.outputs.status != 'cancelled' && matrix.STORE_BUILD_ARTIFACTS }} + env: + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + CI: github_actions + CONFIG: ${{ matrix.CONFIG }} + SHORT_CONFIG: ${{ matrix.SHORT_CONFIG }} + JOB_STATUS: ${{ steps.determine-status.outputs.status }} + OS: ${{ matrix.os }} + run: | + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" + export CI_RUN_ID=$GITHUB_RUN_ID + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export ARTIFACT_STAGING_DIR="$GITHUB_WORKSPACE" + # Archive everything in CONDA_BLD_PATH except environments + # Archive the CONDA_BLD_PATH environments only when the job fails + # Use different prefix for successful and failed build artifacts + # so random failures don't prevent rebuilds from creating artifacts. + if [ $JOB_STATUS == "failure" ]; then + export BLD_ARTIFACT_PREFIX="conda_artifacts" + export ENV_ARTIFACT_PREFIX="conda_envs" + else + export BLD_ARTIFACT_PREFIX="conda_pkgs" + fi + if [ $OS == "windows" ]; then + pwsh -Command ". '.scripts/create_conda_build_artifacts.bat'" + else + ./.scripts/create_conda_build_artifacts.sh + fi + + - name: Store conda build artifacts + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + if: ${{ always() && steps.prepare-artifacts.outcome == 'success' }} + with: + name: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_NAME }} + path: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_PATH }} + retention-days: 14 + continue-on-error: true + + - name: Store conda build environment artifacts + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + # only relevant if build failed, see above + if: ${{ always() && steps.determine-status.outputs.status == 'failure' && steps.prepare-artifacts.outcome == 'success' }} + with: + name: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_NAME }} + path: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_PATH }} + retention-days: 14 + continue-on-error: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 47b5408..86a9c55 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore all files and folders in root * !/conda-forge.yml +!.recipe_maintainers.json # Don't ignore any files/folders if the parent folder is 'un-ignored' # This also avoids warnings when adding an already-checked file with an ignored parent. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 5c71bce..88aca38 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -20,6 +20,7 @@ export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" +export RATTLER_CACHE_DIR="${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache" cat >~/.condarc < /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" + pip rattler-build conda-forge-ci-setup=4 "conda-build>=26.3" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc diff --git a/.scripts/create_conda_build_artifacts.sh b/.scripts/create_conda_build_artifacts.sh index 819c3b9..1e3acc7 100755 --- a/.scripts/create_conda_build_artifacts.sh +++ b/.scripts/create_conda_build_artifacts.sh @@ -7,7 +7,7 @@ # FEEDSTOCK_NAME # CONFIG (build matrix configuration string) # SHORT_CONFIG (uniquely-shortened configuration string) -# CONDA_BLD_DIR (path to the conda-bld directory) +# CONDA_BLD_PATH (path to the conda-bld directory) # ARTIFACT_STAGING_DIR (use working directory if unset) # BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset) # ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset) @@ -26,7 +26,7 @@ source .scripts/logging_utils.sh set -e # Check that the conda-build directory exists -if [ ! -d "$CONDA_BLD_DIR" ]; then +if [ ! -d "$CONDA_BLD_PATH" ]; then echo "conda-build directory does not exist" exit 1 fi @@ -64,8 +64,8 @@ if [[ ! -z "$BLD_ARTIFACT_PREFIX" ]]; then ( startgroup "Archive conda build directory" ) 2> /dev/null # Try 7z and fall back to zip if it fails (for cross-platform use) - if ! 7z a "$BLD_ARTIFACT_PATH" "$CONDA_BLD_DIR" '-xr!.git/' '-xr!_*_env*/' '-xr!*_cache/' -bb; then - pushd "$CONDA_BLD_DIR" + if ! 7z a "$BLD_ARTIFACT_PATH" "$CONDA_BLD_PATH" '-xr!.git/' '-xr!_*_env*/' '-xr!*_cache/' -bb; then + pushd "$CONDA_BLD_PATH" zip -r -y -T "$BLD_ARTIFACT_PATH" . -x '*.git/*' '*_*_env*/*' '*_cache/*' popd fi @@ -92,8 +92,8 @@ if [[ ! -z "$ENV_ARTIFACT_PREFIX" ]]; then ( startgroup "Archive conda build environments" ) 2> /dev/null # Try 7z and fall back to zip if it fails (for cross-platform use) - if ! 7z a "$ENV_ARTIFACT_PATH" -r "$CONDA_BLD_DIR"/'_*_env*/' -bb; then - pushd "$CONDA_BLD_DIR" + if ! 7z a "$ENV_ARTIFACT_PATH" -r "$CONDA_BLD_PATH"/'_*_env*/' -bb; then + pushd "$CONDA_BLD_PATH" zip -r -y -T "$ENV_ARTIFACT_PATH" . -i '*_*_env*/*' popd fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index b63b5a0..10d6a2a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -11,6 +11,8 @@ source .scripts/logging_utils.sh set -xeo pipefail +DOCKER_EXECUTABLE="${DOCKER_EXECUTABLE:-docker}" + THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename "$THISDIR")" @@ -27,7 +29,7 @@ if [[ "${sha:-}" == "" ]]; then popd fi -docker info +${DOCKER_EXECUTABLE} info # In order for the conda-build process in the container to write to the mounted # volumes, we need to run with the same id as the host machine, which is @@ -35,6 +37,7 @@ docker info export HOST_USER_ID=$(id -u) # Check if docker-machine is being used (normally on OSX) and get the uid from # the VM + if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) fi @@ -76,16 +79,34 @@ if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi -( endgroup "Configure Docker" ) 2> /dev/null +# Default volume suffix for Docker (preserve original behavior) +VOLUME_SUFFIX=",z" +# Podman-specific handling +if [ "${DOCKER_EXECUTABLE}" = "podman" ]; then + # Fix file permissions for rootless podman builds + podman unshare chown -R ${HOST_USER_ID}:${HOST_USER_ID} "${ARTIFACTS}" + podman unshare chown -R ${HOST_USER_ID}:${HOST_USER_ID} "${RECIPE_ROOT}" + + # Add SELinux label only if enforcing + if command -v getenforce &>/dev/null && [ "$(getenforce)" = "Enforcing" ]; then + VOLUME_SUFFIX=",z" + else + VOLUME_SUFFIX="" + fi +fi + +( endgroup "Configure Docker" ) 2> /dev/null ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" export IS_PR_BUILD="${IS_PR_BUILD:-False}" -docker pull "${DOCKER_IMAGE}" -docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ + +${DOCKER_EXECUTABLE} pull "${DOCKER_IMAGE}" + +${DOCKER_EXECUTABLE} run ${DOCKER_RUN_ARGS} \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw${VOLUME_SUFFIX},delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw${VOLUME_SUFFIX},delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ diff --git a/README.md b/README.md index 35d5387..5f1b8c9 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,34 @@ About nvidia-dali-python-feedstock Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/nvidia-dali-python-feedstock/blob/main/LICENSE.txt) + +About nvidia-dali-python +------------------------ + +Home: https://github.com/NVIDIA/dali + +Package license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause + +Summary: DALI native GPU-accelerated data loading libraries (CUDA runtime, Python-independent). + +Native shared libraries for NVIDIA DALI. Contains the core GPU-accelerated +processing engine. Install nvidia-dali-python for the Python API. + +About libdali-devel +------------------- + +Home: https://github.com/NVIDIA/dali + +Package license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause + +Summary: DALI development headers (C++ API). + +Development headers for NVIDIA DALI. Required for building software +that links against libdali. Install libdali for the runtime libraries. + +About nvidia-dali-python +------------------------ + Home: https://github.com/NVIDIA/dali Package license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause @@ -17,198 +45,12 @@ Current build status ==================== - - - - +
Azure
+
GitHub Actions -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariantStatus
linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython - - variant - -
linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - - variant - -
linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - - variant - -
linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - - variant - -
linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314 - - variant - -
linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython - - variant - -
linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - - variant - -
linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - - variant - -
linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - - variant - -
linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314 - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.10.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.17cuda_compiler_version12.9python3.14.____cp314 - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.10.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - - variant - -
linux_aarch64_arm_variant_typesbsac_stdlib_version2.28cuda_compiler_version13.0python3.14.____cp314 - - variant - -
linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.10.____cpython - - variant - -
linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.11.____cpython - - variant - -
linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.12.____cpython - - variant - -
linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.13.____cp313 - - variant - -
linux_aarch64_arm_variant_typetegrac_stdlib_version2.34cuda_compiler_version12.9python3.14.____cp314 - - variant - -
-
+ + +
@@ -218,6 +60,8 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libdali-green.svg)](https://anaconda.org/conda-forge/libdali) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libdali.svg)](https://anaconda.org/conda-forge/libdali) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libdali.svg)](https://anaconda.org/conda-forge/libdali) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libdali.svg)](https://anaconda.org/conda-forge/libdali) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libdali--devel-green.svg)](https://anaconda.org/conda-forge/libdali-devel) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libdali-devel.svg)](https://anaconda.org/conda-forge/libdali-devel) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libdali-devel.svg)](https://anaconda.org/conda-forge/libdali-devel) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libdali-devel.svg)](https://anaconda.org/conda-forge/libdali-devel) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nvidia--dali--python-green.svg)](https://anaconda.org/conda-forge/nvidia-dali-python) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nvidia-dali-python.svg)](https://anaconda.org/conda-forge/nvidia-dali-python) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nvidia-dali-python.svg)](https://anaconda.org/conda-forge/nvidia-dali-python) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nvidia-dali-python.svg)](https://anaconda.org/conda-forge/nvidia-dali-python) | Installing nvidia-dali-python @@ -230,41 +74,41 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `nvidia-dali-python` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libdali, libdali-devel, nvidia-dali-python` can be installed with `conda`: ``` -conda install nvidia-dali-python +conda install libdali libdali-devel nvidia-dali-python ``` or with `mamba`: ``` -mamba install nvidia-dali-python +mamba install libdali libdali-devel nvidia-dali-python ``` -It is possible to list all of the versions of `nvidia-dali-python` available on your platform with `conda`: +It is possible to list all of the versions of `libdali` available on your platform with `conda`: ``` -conda search nvidia-dali-python --channel conda-forge +conda search libdali --channel conda-forge ``` or with `mamba`: ``` -mamba search nvidia-dali-python --channel conda-forge +mamba search libdali --channel conda-forge ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search nvidia-dali-python --channel conda-forge +mamba repoquery search libdali --channel conda-forge -# List packages depending on `nvidia-dali-python`: -mamba repoquery whoneeds nvidia-dali-python --channel conda-forge +# List packages depending on `libdali`: +mamba repoquery whoneeds libdali --channel conda-forge -# List dependencies of `nvidia-dali-python`: -mamba repoquery depends nvidia-dali-python --channel conda-forge +# List dependencies of `libdali`: +mamba repoquery depends libdali --channel conda-forge ``` diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index aa63c81..0000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -stages: -- stage: Check - jobs: - - job: Skip - pool: - vmImage: 'ubuntu-latest' - variables: - DECODE_PERCENTS: 'false' - RET: 'true' - steps: - - checkout: self - fetchDepth: '2' - - bash: | - git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "` - echo "##vso[task.setvariable variable=log]$git_log" - displayName: Obtain commit message - - bash: echo "##vso[task.setvariable variable=RET]false" - condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) - displayName: Skip build? - - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" - name: result - displayName: Export result -- stage: Build - condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) - dependsOn: Check - jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 825a4af..05493e4 100755 --- a/build-locally.py +++ b/build-locally.py @@ -28,13 +28,6 @@ def setup_environment(ns): os.path.dirname(__file__), "miniforge3" ) - # The default cache location might not be writable using docker on macOS. - if ns.config.startswith("linux") and platform.system() == "Darwin": - os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = ( - os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "") - + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache" - ) - def run_docker_build(ns): script = ".scripts/run_docker_build.sh" diff --git a/conda-forge.yml b/conda-forge.yml index cd97069..d649931 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,5 @@ azure: free_disk_space: true - store_build_artifacts: true build_platform: linux_aarch64: linux_64 conda_build: @@ -12,3 +11,5 @@ github: tooling_branch_name: main provider: linux_aarch64: default +workflow_settings: + store_build_artifacts: true diff --git a/recipe/build.sh b/recipe/build.sh old mode 100644 new mode 100755 index 536285e..77c40ad --- a/recipe/build.sh +++ b/recipe/build.sh @@ -1,11 +1,46 @@ #!/bin/bash -set -e - -[[ ${target_platform} == "linux-64" ]] && targetsDir="targets/x86_64-linux" +set -ex + +# rattler-build leaves PKG_NAME unset for `staging:` outputs (no package to name). +# Our only staging output is core-build, so treat unset PKG_NAME as core-build. +PKG_NAME="${PKG_NAME:-core-build}" + +# 2026.04.15 - Overwrite SP_DIR because conda-build doesn't yet add the `t` for freethreading +export SP_DIR=$PREFIX/lib/python`python -c "import sysconfig; print(sysconfig.get_config_var('LDVERSION'))"`/site-packages + +case "${PKG_NAME}" in + libdali|libdali-devel) + # Install only — core-build already populated the build tree. + cd build + + # Install native shared libs and headers to PREFIX so the Python bindings + # build (PREBUILD_DALI_LIBS=ON) can locate them via standard cmake search paths. + cmake --install . --strip --prefix "$PREFIX" + + rm -rf "${SP_DIR}/nvidia/dali/include/boost" + rm -rf "${PREFIX}"/lib/gdk* + + # Install generated protobuf headers needed by the Python bindings cmake pass. + find . -name "*.pb.h" | sed 's|^\./||' | while IFS= read -r FILE; do + DEST="$PREFIX/include/$FILE" + mkdir -p "$(dirname "$DEST")" + cp "$FILE" "$DEST" + done + exit 0 + ;; + core-build|nvidia-dali-python) + ;; + *) + echo "Unknown PKG_NAME: ${PKG_NAME}" >&2 + exit 1 + ;; +esac + +[[ ${target_platform} == "linux-64" ]] && targetsDir="targets/x86_64-linux" [[ ${target_platform} == "linux-ppc64le" ]] && targetsDir="targets/ppc64le-linux" # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html?highlight=tegra#cross-compilation -[[ ${target_platform} == "linux-aarch64" && ${arm_variant_type:-"sbsa"} == "sbsa" ]] && targetsDir="targets/sbsa-linux" -[[ ${target_platform} == "linux-aarch64" && ${arm_variant_type:-"sbsa"} == "tegra" ]] && targetsDir="targets/aarch64-linux" +[[ ${target_platform} == "linux-aarch64" && ${arm_variant_type:-"sbsa"} == "sbsa" ]] && targetsDir="targets/sbsa-linux" +[[ ${target_platform} == "linux-aarch64" && ${arm_variant_type:-"sbsa"} == "tegra" ]] && targetsDir="targets/aarch64-linux" if [ -z "${targetsDir+x}" ]; then echo "target_platform: ${target_platform} is unknown! targetsDir must be defined!" >&2 @@ -24,10 +59,11 @@ ln -sf $PREFIX/include/cutlass third_party/cutlass/include/ export CXXFLAGS="$CXXFLAGS -isystem $PREFIX/include/opencv4" -sed -i.bak "s/@DALI_INSTALL_REQUIRES_NVCOMP@//g" dali/python/setup.py.in -sed -i.bak "s/@DALI_INSTALL_REQUIRES_NVIMGCODEC@//g" dali/python/setup.py.in -sed -i.bak "s/@DALI_INSTALL_REQUIRES_NVJPEG2K@//g" dali/python/setup.py.in -sed -i.bak "s/@DALI_INSTALL_REQUIRES_NVTIFF@//g" dali/python/setup.py.in +# Remove pip-install-time requirements that conda manages separately +sed -i "s/@DALI_INSTALL_REQUIRES_NVCOMP@//g" dali/python/setup.py.in +sed -i "s/@DALI_INSTALL_REQUIRES_NVIMGCODEC@//g" dali/python/setup.py.in +sed -i "s/@DALI_INSTALL_REQUIRES_NVJPEG2K@//g" dali/python/setup.py.in +sed -i "s/@DALI_INSTALL_REQUIRES_NVTIFF@//g" dali/python/setup.py.in mkdir -p build cd build @@ -49,26 +85,27 @@ DALI_LINKING_ARGS=( -DCUDAToolkit_TARGET_DIR="${PREFIX}/${targetsDir}" ) -# Debug with fewer archs for shorter build times -# export CUDAARCHS="50" -if [[ "${arm_variant_type:-}" == "tegra" ]]; then - export CUDAARCHS="87-real;101f-real;101-virtual" +if [[ "${PKG_NAME}" == "nvidia-dali-python" ]]; then + PYTHON_CMAKE_ARGS=( + -DBUILD_PYTHON=ON + -DPREBUILD_DALI_LIBS=ON + -DPYTHON_VERSIONS="${PY_VER}" + -DUSE_PREBUILD_PYBIND11=ON + ) else - export CUDAARCHS="all-major" + PYTHON_CMAKE_ARGS=(-DBUILD_PYTHON=OFF) fi -# Compress SASS and PTX in the binary to reduce disk usage -export CUDAFLAGS="${CUDAFLAGS} -Xfatbin -compress-all" -if [[ "${cuda_compiler_version}" == 13.* ]]; then - export CUDAFLAGS="${CUDAFLAGS} -Xfatbin -compress-mode=size" +# Debug with fewer archs for shorter build times +if [[ "${arm_variant_type:-}" == "tegra" ]]; then + export CUDAARCHS="87;101f" +else + export CUDAARCHS="" fi # https://docs.nvidia.com/deeplearning/dali/user-guide/docs/compilation.html#optional-cmake-build-parameters -# -DCUDA_TARGET_ARCHS="$CUDAARCHS" \ cmake ${CMAKE_ARGS} \ -GNinja \ - -DBUILD_PYTHON=ON \ - -DPYTHON_VERSIONS=${PY_VER} \ -DBUILD_AWSSDK=ON \ -DBUILD_BENCHMARK=OFF \ -DBUILD_CFITSIO=ON \ @@ -94,31 +131,47 @@ cmake ${CMAKE_ARGS} \ -DBUILD_WITH_ASAN=OFF \ -DBUILD_WITH_LSAN=OFF \ -DBUILD_WITH_UBSAN=OFF \ - -DUSE_PREBUILD_PYBIND11=ON \ -DFFMPEG_ROOT_DIR=$PREFIX \ -DNVCOMP_ROOT_DIR=$PREFIX \ + -DCUDA_TARGET_ARCHS=${CUDAARCHS} \ + "${PYTHON_CMAKE_ARGS[@]}" \ "${DALI_LINKING_ARGS[@]}" \ $SRC_DIR -cmake --build . -# FIXME: C-API is probably being shipped in python site-packages -# cmake --install . --strip -v +if [[ "${PKG_NAME}" == "core-build" ]]; then + cmake --build . + exit 0 +fi + +# Python bindings only — third-party static libs reuse the cache from core-build. +if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" != "1" || "${CROSSCOMPILING_EMULATOR:-}" != "" ]]; then + echo "Building for the same platform, building dali_python_generate_stubs" + cmake --build . -t dali_python python_function_plugin copy_post_build_target dali_python_generate_stubs install_headers +else + echo "Cross-compiling, skipping dali_python_generate_stubs as it requires running the python interpreter and importing DALI" + cmake --build . -t dali_python python_function_plugin copy_post_build_target install_headers +fi cd dali/python -${PYTHON} -m pip install . -v - -rm ${SP_DIR}/nvidia/dali/include/boost -rf -rm ${PREFIX}/lib/gdk* -rf - -# When cross-compiling, the python modules are named incorrectly, so we have to -# fix the name. -if [[ "$target_platform" != "$build_platform" ]]; then - for file in "${SP_DIR}"/nvidia/dali/*cpython-*-x86_64-linux-gnu.so; do - newname="${file/x86_64/aarch64}" - mv "$file" "$newname" - echo "Renamed: $file → $newname" - done +${PYTHON} -m pip install . + +# libdali owns the native headers; keep them out of the Python output. +rm -rf "${SP_DIR}"/nvidia/dali/include +rm -rf "${SP_DIR}"/nvidia/dali/libdali*.so +rm -rf "${PREFIX}"/lib/gdk* + +# When cross-compiling, Python extension modules are named for the build arch; +# rename them to match the target arch. +if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" && "${CROSSCOMPILING_EMULATOR:-}" == "" ]]; then + for file in "${SP_DIR}"/nvidia/dali/*cpython-*-x86_64-linux-gnu.so; do + newname="${file/x86_64/aarch64}" + mv "$file" "$newname" + echo "Renamed: $file -> $newname" + done fi -# Just double checking that binaries target correct arch -file ${SP_DIR}/nvidia/dali/*.so +# Sanity-check that binaries target the correct architecture +so_files=("${SP_DIR}"/nvidia/dali/*.so) +if [[ ${#so_files[@]} -gt 0 && -e "${so_files[0]}" ]]; then + file "${so_files[@]}" +fi diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index edddb17..de32cff 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -15,8 +15,6 @@ gast: - ">=0.3.3,<=0.7.0" six: - ">=1.16,<=1.17" -dm_tree: - - "<=0.1.9" packaging: - "<=25.0" # https://github.com/NVIDIA/DALI/blob/v1.47.0/pyproject.toml diff --git a/recipe/patches/0002-DOC-Patch-dlopen-failure-message-and-dlopen-search-p.patch b/recipe/patches/0002-DOC-Patch-dlopen-failure-message-and-dlopen-search-p.patch index c52e8c0..15e56b2 100644 --- a/recipe/patches/0002-DOC-Patch-dlopen-failure-message-and-dlopen-search-p.patch +++ b/recipe/patches/0002-DOC-Patch-dlopen-failure-message-and-dlopen-search-p.patch @@ -5,7 +5,7 @@ Subject: [PATCH 2/5] DOC: Patch dlopen failure message and dlopen search paths --- CMakeLists.txt | 2 +- - dali/core/CMakeLists.txt | 5 ++--- + dali/core/CMakeLists.txt | 3 +-- dali/core/dynlink_cufile.cc | 2 +- dali/core/dynlink_nvcomp.cc | 2 +- dali/kernels/signal/fft/cufft_wrap.cc | 2 +- @@ -14,7 +14,7 @@ Subject: [PATCH 2/5] DOC: Patch dlopen failure message and dlopen search paths dali/nvjpeg/nvjpeg_wrap.cc | 2 +- dali/operators/operators.cc | 6 +++--- dali/util/nvml_wrap.cc | 2 +- - 10 files changed, 19 insertions(+), 21 deletions(-) + 10 files changed, 18 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c3fba512..54d076cd 100644 @@ -33,24 +33,16 @@ diff --git a/dali/core/CMakeLists.txt b/dali/core/CMakeLists.txt index 1aa32ba1..be6acbd7 100644 --- a/dali/core/CMakeLists.txt +++ b/dali/core/CMakeLists.txt -@@ -102,15 +102,14 @@ if (BUILD_NVCOMP) - OUTPUT ${NVCOMP_GENERATED_STUB} +@@ -104,8 +104,7 @@ if (BUILD_NVCOMP) COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/../../internal_tools/stub_generator/stub_codegen.py --unique_prefix=nvComp -- "${CMAKE_CURRENT_SOURCE_DIR}/../../internal_tools/stub_generator/nvcomp.json" ${NVCOMP_GENERATED_STUB} -- "${CUDA_TOOLKIT_INCLUDE_MAJOR_DIRECTORY}/nvcomp/lz4.h" + "${nvcomp_INCLUDE_DIR}/nvcomp/lz4.h" +- "-I${nvcomp_INCLUDE_DIR}" - ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES_DIRECTIVE} -+ "${NVCOMP_ROOT_DIR}/include/nvcomp/lz4.h" "-I${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}" ++ "-I${nvcomp_INCLUDE_DIR}" "-I${CUDAToolkit_TARGET_DIR}/include" # for some reason QNX fails with 'too many errors emitted' is this is not set "-ferror-limit=0" # let clang know which architecutre we compile for - "--target=${CMAKE_SYSTEM_PROCESSOR}-linux-gnu" - ${DEFAULT_COMPILER_INCLUDE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../internal_tools/stub_generator/stub_codegen.py -- "${CUDA_TOOLKIT_INCLUDE_MAJOR_DIRECTORY}/nvcomp/lz4.h" -+ "${NVCOMP_ROOT_DIR}/include/nvcomp/lz4.h" - "${CMAKE_CURRENT_SOURCE_DIR}/../../internal_tools/stub_generator/nvcomp.json" - COMMENT "Running nvcomp/lz4.hstub generator" - VERBATIM) diff --git a/dali/core/dynlink_cufile.cc b/dali/core/dynlink_cufile.cc index 64bce978..825adc8a 100644 --- a/dali/core/dynlink_cufile.cc @@ -197,4 +189,3 @@ index b2cfe612..a8d95a4b 100644 return ret; -- 2.53.0 - diff --git a/recipe/patches/0005-BLD-Remove-CUDA-arch-validation.patch b/recipe/patches/0005-BLD-Remove-CUDA-arch-validation.patch deleted file mode 100644 index 83aa2b2..0000000 --- a/recipe/patches/0005-BLD-Remove-CUDA-arch-validation.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6dbe1c70246a4c01e63b6adf4b1d2d67d10b4f90 Mon Sep 17 00:00:00 2001 -From: Daniel Ching -Date: Thu, 5 Mar 2026 15:53:05 -0600 -Subject: [PATCH 5/5] BLD: Remove CUDA arch validation - ---- - CMakeLists.txt | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 54d076cd..a16f5254 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -281,16 +281,6 @@ message(STATUS "CUDA .cu files compiler: ${USED_CUDA_COMPILER}") - CUDA_find_supported_arch_values(CUDA_supported_archs ${USED_CUDA_COMPILER} ${CUDA_known_archs}) - message(STATUS "CUDA supported archs: ${CUDA_supported_archs}") - --set(CUDA_TARGET_ARCHS_SORTED ${CUDA_TARGET_ARCHS}) --list(SORT CUDA_TARGET_ARCHS_SORTED COMPARE NATURAL) --CUDA_find_supported_arch_values(CUDA_targeted_archs ${USED_CUDA_COMPILER} ${CUDA_TARGET_ARCHS_SORTED}) --message(STATUS "CUDA targeted archs: ${CUDA_targeted_archs}") --if (NOT CUDA_targeted_archs) -- message(FATAL_ERROR "None of the provided CUDA architectures ({${CUDA_TARGET_ARCHS}})" -- " is supported by ${USED_CUDA_COMPILER}, use one or more of: ${CUDA_supported_archs}") --endif() -- -- - # Add gpu-arch and toolkit flags for clang when compiling cuda (if used) - if (DALI_CLANG_ONLY) - CUDA_get_gencode_args(CUDA_gencode_flags_clang ${USED_CUDA_COMPILER} ${CUDA_targeted_archs}) -@@ -302,7 +292,6 @@ if (DALI_CLANG_ONLY) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CUDA_TOOLKIT_PATH_VAR}/include/cccl") - endif() - --CUDA_get_cmake_cuda_archs(CMAKE_CUDA_ARCHITECTURES ${CUDA_targeted_archs}) - message(STATUS "Generated CMAKE_CUDA_ARCHITECTURES: ${CMAKE_CUDA_ARCHITECTURES}") - - set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --compiler-options \"-fvisibility=hidden -Wno-free-nonheap-object\" --Wno-deprecated-gpu-targets -Xfatbin -compress-all") --- -2.53.0 - diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index 0e6194e..b947bc4 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -1,18 +1,19 @@ # TODO: Update package pinnings in conda_build_config for every release schema_version: 1 context: - version: "2.0.0" -package: - name: nvidia-dali-python + version: "2.1.0" + +recipe: + name: nvidia-dali version: ${{ version }} + source: - url: https://github.com/NVIDIA/DALI/archive/refs/tags/v${{ version }}.tar.gz - sha256: 6423d941cefc5c052ad0ea9dda8e58f84019a2e4de288a3d6b35e67d09479e79 + sha256: c131146e16ba00dff19b09b323d02c038e1fed6d46da935e6158b23cc7fd9fc3 patches: - patches/0001-BLD-Use-CUDA-target-include-directory-to-support-cro.patch - patches/0004-BLD-Dynamically-link-nvjpeg2k.patch - patches/0002-DOC-Patch-dlopen-failure-message-and-dlopen-search-p.patch - - patches/0005-BLD-Remove-CUDA-arch-validation.patch - patches/0003-BLD-Use-shared-libtar-instead-of-static.patch - url: https://github.com/cocodataset/cocoapi/archive/8c9bcc3cf640524c4c20a9c40e89cb6a2f2fa0e9.tar.gz sha256: 4dd3450bab2287d1c1b271cf4a1420db05294194f0ad9af4e3af592d6f2b4410 @@ -20,149 +21,344 @@ source: - url: https://github.com/JanuszL/ffts/archive/6ef8d818f46f679c95110ab199ae915fb04bfef5.tar.gz sha256: 1d157157828ce1c85d0a43a6de312ce168b3c5dc1223c6ad3f02e074c3806c15 target_directory: third_party/ffts + build: number: 0 skip: - cuda_compiler_version == "None" - win - # - match(python, "!=3.12.*") -requirements: - ignore_run_exports: - by_name: - - cuda-version - from_package: - - libcufft-dev - - libcufile-dev - - libcurand-dev - - libnpp-dev - - libnvjpeg-dev - - libnvimgcodec-dev ${{ libnvimgcodec }} - - if: (arm_variant_type | default("")) != "tegra" - then: - - libnvcomp-dev ${{ libnvcomp }} - # Added libprotobuf to pick up channel pinnings, but we use the static package - - libprotobuf - build: - - ${{ compiler('cuda') }} - - ${{ compiler('cxx') }} - - ${{ stdlib('c') }} - - if: linux and aarch64 and not match(cuda_compiler_version, "==None") - then: - - arm-variant * ${{ arm_variant_type | default("None") }} - - cmake 3.* - - file - - ninja - - pkgconf - - if: build_platform != target_platform - then: - - cross-python_${{ target_platform }} - - python + - osx + +outputs: + - staging: + name: core-build + build: + script: build.sh + requirements: + build: + - ${{ compiler('cuda') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - if: linux and aarch64 and not match(cuda_compiler_version, "==None") + then: + - arm-variant * ${{ arm_variant_type | default("None") }} + - cmake 3.* + - file + - ninja + - pkgconf - python-clang + - if: build_platform != target_platform + then: + - libprotobuf + - libprotobuf-static + host: + # NOTE: static libraries culibos and nvjpeg required for correct feature detection + - if: linux and match(cuda_compiler_version, "13.*") + then: + - cuda-culibos-static + - cuda-cudart-static + - cuda-nvml-dev + - libcufft-dev + - libcufile-dev + - libcurand-dev + - libnpp-dev + - libnvjpeg-dev + - libnvjpeg-static + - cuda-version ${{ cuda_compiler_version }}.* + - aws-sdk-cpp + - cfitsio + - cutlass + - dlpack + - ffmpeg + - ffmpeg * lgpl* + - libabseil + - libboost-headers ${{ libboost_headers }} + - libjpeg-turbo + - if: (arm_variant_type | default("")) != "tegra" + then: + - libnvcomp-dev ${{ libnvcomp }} + - libnvimgcodec-dev ${{ libnvimgcodec }} + - libnvjpeg2k-dev ${{ libnvjpeg2k }} + - libopencv - libprotobuf - libprotobuf-static - host: - # NOTE: static libraries culibos and nvjpeg required for correct feature detection - - if: linux and match(cuda_compiler_version, "13.*") - then: - - cuda-culibos-static - - cuda-cudart-static - - cuda-nvml-dev - - libcufft-dev - - libcufile-dev - - libcurand-dev - - libnpp-dev - - libnvjpeg-dev - - libnvjpeg-static - - cuda-version ${{ cuda_compiler_version }}.* - - aws-sdk-cpp - - cfitsio - - cutlass - - dlpack - - ffmpeg - - ffmpeg * lgpl* - - libabseil - - libboost-headers ${{ libboost_headers }} - - libjpeg-turbo - - if: (arm_variant_type | default("")) != "tegra" - then: - - libnvcomp-dev ${{ libnvcomp }} - - libnvimgcodec-dev ${{ libnvimgcodec }} - - libnvjpeg2k-dev ${{ libnvjpeg2k }} - - libopencv - - libprotobuf - - libprotobuf-static - - libsndfile - - libtar - - libtiff - - lmdb - - nvtx-c - - pip - - protobuf - - pybind11 - - python - - python-clang - - rapidjson - - setuptools - - zlib - # Runtime deps from below, for stub generator - - nvtx - - makefun - - astunparse ${{ astunparse }} - - gast ${{ gast }} - - six ${{ six }} - - dm-tree ${{ dm_tree }} - - packaging ${{ packaging }} - # Stubs autoformat themselves - - black ${{ black }} - run: - - python - - nvtx - - makefun - - astunparse ${{ astunparse }} - - gast ${{ gast }} - - six ${{ six }} - - dm-tree ${{ dm_tree }} - - packaging ${{ packaging }} - - ${{ pin_compatible('cuda-version', lower_bound='x', upper_bound='x') }} - run_constraints: - # These packages are dlopen'd and are already constrained by cuda-version - # FIXME: Consider a meta-package like "nvidia-dali-all" for convenience - # - if: match(cuda_compiler_version, "12.*") - # then: - # - libcufft - # - libcufile - # - libnpp - # - libnvjpeg - - libboost-headers ${{ libboost_headers }} - - if: (arm_variant_type | default("")) != "tegra" - then: - - libnvcomp ${{ libnvcomp }} - - libnvimgcodec ${{ libnvimgcodec }} -tests: - - requirements: + - libsndfile + - libtar + - libtiff + - lmdb + - nvtx-c + - rapidjson + - zlib + + - package: + name: libdali + version: ${{ version }} + inherit: + from: core-build + run_exports: true + build: + script: build.sh + files: + - lib/libdali*.so + requirements: + ignore_run_exports: + by_name: + - cuda-version + from_package: + - libcufft-dev + - libcufile-dev + - libcurand-dev + - libnpp-dev + - libnvjpeg-dev + - libnvimgcodec-dev + - if: (arm_variant_type | default("")) != "tegra" + then: + - libnvcomp-dev + # Added libprotobuf to pick up channel pinnings, but we use the static package + - libprotobuf + build: + - ${{ compiler('cuda') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - if: linux and aarch64 and not match(cuda_compiler_version, "==None") + then: + - arm-variant * ${{ arm_variant_type | default("None") }} + - cmake 3.* + - file + - ninja + - pkgconf + host: + - cuda-version ${{ cuda_compiler_version }}.* run: - - pip - # Test that optional dependencies are co-installable - - libcufft - - libcufile - - libnpp - - libnvjpeg - - libboost-headers + - ${{ pin_compatible('cuda-version', lower_bound='x', upper_bound='x') }} + run_constraints: + # These packages are dlopen'd and are already constrained by cuda-version + # FIXME: Consider a meta-package like "nvidia-dali-all" for convenience + # - if: match(cuda_compiler_version, "12.*") + # then: + # - libcufft + # - libcufile + # - libnpp + # - libnvjpeg + - libboost-headers ${{ libboost_headers }} - if: (arm_variant_type | default("")) != "tegra" then: - - libnvcomp - - libnvimgcodec - script: - - pip check - - python -c "import nvidia.dali" - - tfrecord2idx --help - - wds2idx --help + - libnvcomp ${{ libnvcomp }} + - libnvimgcodec ${{ libnvimgcodec }} + tests: + - script: + - test -f "${PREFIX}/lib/libdali.so" + - test -f "${PREFIX}/lib/libdali_core.so" + - test -f "${PREFIX}/lib/libdali_kernels.so" + - test -f "${PREFIX}/lib/libdali_operators.so" + # Negative check: headers live in libdali-devel now, not here. + - test ! -f "${PREFIX}/include/dali/c_api.h" + about: + summary: DALI native GPU-accelerated data loading libraries (CUDA runtime, Python-independent). + description: | + Native shared libraries for NVIDIA DALI. Contains the core GPU-accelerated + processing engine. Install nvidia-dali-python for the Python API. + license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause + license_file: + - LICENSE + - COPYRIGHT + - Acknowledgements.txt # Contains licenses for linked libraries + - third_party/README.rst + homepage: https://github.com/NVIDIA/dali + + - package: + name: libdali-devel + version: ${{ version }} + inherit: + from: core-build + run_exports: false + build: + script: build.sh + files: + - include/dali/** + requirements: + build: + - ${{ compiler('cuda') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - if: linux and aarch64 and not match(cuda_compiler_version, "==None") + then: + - arm-variant * ${{ arm_variant_type | default("None") }} + - cmake 3.* + - file + - ninja + - pkgconf + host: + - cuda-version ${{ cuda_compiler_version }}.* + run: + - ${{ pin_compatible('cuda-version', lower_bound='x', upper_bound='x') }} + - ${{ pin_subpackage('libdali', exact=True) }} + run_exports: + - ${{ pin_subpackage('libdali', upper_bound="x.x.x") }} + tests: + - script: + - test -f "${PREFIX}/include/dali/c_api.h" + - test -f "${PREFIX}/include/dali/core/common.h" + - test -f "${PREFIX}/include/dali/pipeline/dali.pb.h" + about: + summary: DALI development headers (C++ API). + description: | + Development headers for NVIDIA DALI. Required for building software + that links against libdali. Install libdali for the runtime libraries. + license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause + license_file: + - LICENSE + - COPYRIGHT + - Acknowledgements.txt # Contains licenses for linked libraries + - third_party/README.rst + homepage: https://github.com/NVIDIA/dali + + - package: + name: nvidia-dali-python + version: ${{ version }} + inherit: + from: core-build + run_exports: false + build: + script: build.sh + requirements: + ignore_run_exports: + by_name: + - cuda-version + from_package: + - libnvjpeg-dev + # Added libprotobuf to pick up channel pinnings, but we use the static package + - libprotobuf + # The Python extension links only against libdali*.so and system libs. + - libnvjpeg2k-dev + - zlib + build: + - ${{ compiler('cuda') }} + - ${{ compiler('cxx') }} + - ${{ stdlib('c') }} + - if: linux and aarch64 and not match(cuda_compiler_version, "==None") + then: + - arm-variant * ${{ arm_variant_type | default("None") }} + - cmake 3.* + - file + - ninja + - pkgconf + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - python + - python-clang + - libprotobuf + - libprotobuf-static + host: + - ${{ pin_subpackage('libdali-devel', upper_bound="x.x.x") }} + # NOTE: static libraries culibos and nvjpeg required for correct feature detection + - if: linux and match(cuda_compiler_version, "13.*") + then: + - cuda-culibos-static + - cuda-cudart-static + - cuda-nvml-dev + - libnvjpeg-dev + - libnvjpeg-static + - cuda-version ${{ cuda_compiler_version }}.* + - cutlass + - dlpack + - libboost-headers ${{ libboost_headers }} + - libnvjpeg2k-dev ${{ libnvjpeg2k }} + - libprotobuf + - libprotobuf-static + - nvtx-c + - rapidjson + - zlib + - pip + - pybind11 + - python + - python-clang + - setuptools + # Runtime deps also needed at host time for stub generator + - nvtx + - makefun + - astunparse ${{ astunparse }} + - gast ${{ gast }} + - six ${{ six }} + - optree + - packaging ${{ packaging }} + # Stubs autoformat themselves + - black ${{ black }} + run: + - ${{ pin_subpackage('libdali', upper_bound="x.x.x") }} + - python + - nvtx + - makefun + - astunparse ${{ astunparse }} + - gast ${{ gast }} + - six ${{ six }} + - optree + - packaging ${{ packaging }} + - ${{ pin_compatible('cuda-version', lower_bound='x', upper_bound='x') }} + tests: + - requirements: + run: + - pip + # Test that optional dependencies are co-installable + - libcufft + - libcufile + - libnpp + - libnvjpeg + - libboost-headers + - if: (arm_variant_type | default("")) != "tegra" + then: + - libnvcomp + - libnvimgcodec + script: + - pip check + - python -c "import nvidia.dali" + - | + python <<'PY' + import glob + import json + import os + + metadata = glob.glob(os.path.join(os.environ["PREFIX"], "conda-meta", "nvidia-dali-python-*.json")) + if len(metadata) != 1: + raise SystemExit(f"Expected one nvidia-dali-python metadata file, found: {metadata}") + with open(metadata[0], encoding="utf-8") as fh: + files = set(json.load(fh)["files"]) + + native_libs = { + "lib/libdali.so", + "lib/libdali_core.so", + "lib/libdali_kernels.so", + "lib/libdali_operators.so", + } + unexpected = sorted( + path + for path in files + if path.startswith("include/dali/") + or path.startswith("lib/python") and "/site-packages/nvidia/dali/include/" in path + or path in native_libs + ) + if unexpected: + raise SystemExit("nvidia-dali-python owns native files: " + ", ".join(unexpected[:20])) + PY + - tfrecord2idx --help + - wds2idx --help + about: + summary: A GPU-accelerated library for data loading and pre-processing to accelerate deep learning applications. + description: | + A GPU-accelerated library containing highly optimized building blocks and + an execution engine for data processing to accelerate deep learning training + and inference applications. + license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause + license_file: + - LICENSE + - COPYRIGHT + - Acknowledgements.txt # Contains licenses for linked libraries + - third_party/README.rst + homepage: https://github.com/NVIDIA/dali + about: summary: A GPU-accelerated library for data loading and pre-processing to accelerate deep learning applications. - description: | - A GPU-accelerated library containing highly optimized building blocks and - an execution engine for data processing to accelerate deep learning training - and inference applications. license: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause license_file: - LICENSE @@ -170,7 +366,9 @@ about: - Acknowledgements.txt # Contains licenses for linked libraries - third_party/README.rst homepage: https://github.com/NVIDIA/dali + extra: + feedstock-name: nvidia-dali-python recipe-maintainers: - conda-forge/cuda - isuruf