From d84ff5d67464e58a3f298cc3cba4aae9fd790eba Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 31 May 2024 12:52:58 -0700 Subject: [PATCH 1/4] ensure raft-dask wheel tests install pylibraft wheel from the same CI run --- .github/workflows/pr.yaml | 98 +++++++++++++++++++------------------- ci/test_wheel_raft_dask.sh | 3 +- 2 files changed, 51 insertions(+), 50 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index eff1124f16..12f9c21bbe 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -13,12 +13,12 @@ jobs: pr-builder: needs: - checks - - conda-cpp-build - - conda-cpp-tests - - conda-cpp-checks - - conda-python-build - - conda-python-tests - - docs-build + # - conda-cpp-build + # - conda-cpp-tests + # - conda-cpp-checks + # - conda-python-build + # - conda-python-tests + # - docs-build - wheel-build-pylibraft - wheel-tests-pylibraft - wheel-build-raft-dask @@ -31,49 +31,49 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.08 with: enable_check_generated_files: false - conda-cpp-build: - needs: checks - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.08 - with: - build_type: pull-request - node_type: cpu16 - conda-cpp-tests: - needs: conda-cpp-build - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.08 - with: - build_type: pull-request - conda-cpp-checks: - needs: conda-cpp-build - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-24.08 - with: - build_type: pull-request - enable_check_symbols: true - symbol_exclusions: _ZN\d+raft_cutlass - conda-python-build: - needs: conda-cpp-build - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.08 - with: - build_type: pull-request - conda-python-tests: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.08 - with: - build_type: pull-request - docs-build: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.08 - with: - build_type: pull-request - node_type: "gpu-v100-latest-1" - arch: "amd64" - container_image: "rapidsai/ci-conda:latest" - run_script: "ci/build_docs.sh" + # conda-cpp-build: + # needs: checks + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.08 + # with: + # build_type: pull-request + # node_type: cpu16 + # conda-cpp-tests: + # needs: conda-cpp-build + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.08 + # with: + # build_type: pull-request + # conda-cpp-checks: + # needs: conda-cpp-build + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-24.08 + # with: + # build_type: pull-request + # enable_check_symbols: true + # symbol_exclusions: _ZN\d+raft_cutlass + # conda-python-build: + # needs: conda-cpp-build + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.08 + # with: + # build_type: pull-request + # conda-python-tests: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.08 + # with: + # build_type: pull-request + # docs-build: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.08 + # with: + # build_type: pull-request + # node_type: "gpu-v100-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci-conda:latest" + # run_script: "ci/build_docs.sh" wheel-build-pylibraft: needs: checks secrets: inherit diff --git a/ci/test_wheel_raft_dask.sh b/ci/test_wheel_raft_dask.sh index bd531e7e85..9b1187592d 100755 --- a/ci/test_wheel_raft_dask.sh +++ b/ci/test_wheel_raft_dask.sh @@ -11,7 +11,8 @@ RAPIDS_PY_WHEEL_NAME="raft_dask_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels RAPIDS_PY_WHEEL_NAME="pylibraft_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 ./local-pylibraft-dep python -m pip install --no-deps ./local-pylibraft-dep/pylibraft*.whl -python -m pip install "raft_dask-${RAPIDS_PY_CUDA_SUFFIX}[test]>=0.0.0a0" --find-links dist/ +# echo to expand wildcard before adding `[extra]` requires for pip +python -m pip install -v "$(echo ./dist/raft_dask_${RAPIDS_PY_CUDA_SUFFIX}*.whl)[test]" test_dir="python/raft-dask/raft_dask/test" From 5611234694276d9b502793a27b283d5d23d0f181 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 31 May 2024 13:38:47 -0700 Subject: [PATCH 2/4] add alpha specs, remove duplicate dependencies, re-enable conda tests --- .github/workflows/pr.yaml | 98 +++++++++---------- .../all_cuda-118_arch-aarch64.yaml | 3 +- .../all_cuda-118_arch-x86_64.yaml | 3 +- .../all_cuda-122_arch-aarch64.yaml | 3 +- .../all_cuda-122_arch-x86_64.yaml | 3 +- dependencies.yaml | 9 +- python/raft-dask/pyproject.toml | 2 +- 7 files changed, 61 insertions(+), 60 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 12f9c21bbe..eff1124f16 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -13,12 +13,12 @@ jobs: pr-builder: needs: - checks - # - conda-cpp-build - # - conda-cpp-tests - # - conda-cpp-checks - # - conda-python-build - # - conda-python-tests - # - docs-build + - conda-cpp-build + - conda-cpp-tests + - conda-cpp-checks + - conda-python-build + - conda-python-tests + - docs-build - wheel-build-pylibraft - wheel-tests-pylibraft - wheel-build-raft-dask @@ -31,49 +31,49 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.08 with: enable_check_generated_files: false - # conda-cpp-build: - # needs: checks - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.08 - # with: - # build_type: pull-request - # node_type: cpu16 - # conda-cpp-tests: - # needs: conda-cpp-build - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.08 - # with: - # build_type: pull-request - # conda-cpp-checks: - # needs: conda-cpp-build - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-24.08 - # with: - # build_type: pull-request - # enable_check_symbols: true - # symbol_exclusions: _ZN\d+raft_cutlass - # conda-python-build: - # needs: conda-cpp-build - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.08 - # with: - # build_type: pull-request - # conda-python-tests: - # needs: conda-python-build - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.08 - # with: - # build_type: pull-request - # docs-build: - # needs: conda-python-build - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.08 - # with: - # build_type: pull-request - # node_type: "gpu-v100-latest-1" - # arch: "amd64" - # container_image: "rapidsai/ci-conda:latest" - # run_script: "ci/build_docs.sh" + conda-cpp-build: + needs: checks + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.08 + with: + build_type: pull-request + node_type: cpu16 + conda-cpp-tests: + needs: conda-cpp-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.08 + with: + build_type: pull-request + conda-cpp-checks: + needs: conda-cpp-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-24.08 + with: + build_type: pull-request + enable_check_symbols: true + symbol_exclusions: _ZN\d+raft_cutlass + conda-python-build: + needs: conda-cpp-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.08 + with: + build_type: pull-request + conda-python-tests: + needs: conda-python-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.08 + with: + build_type: pull-request + docs-build: + needs: conda-python-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.08 + with: + build_type: pull-request + node_type: "gpu-v100-latest-1" + arch: "amd64" + container_image: "rapidsai/ci-conda:latest" + run_script: "ci/build_docs.sh" wheel-build-pylibraft: needs: checks secrets: inherit diff --git a/conda/environments/all_cuda-118_arch-aarch64.yaml b/conda/environments/all_cuda-118_arch-aarch64.yaml index 2fad2e103d..f4baaf4664 100644 --- a/conda/environments/all_cuda-118_arch-aarch64.yaml +++ b/conda/environments/all_cuda-118_arch-aarch64.yaml @@ -21,7 +21,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.* +- distributed-ucxx==0.39.*,>0.0.0a0 - doxygen>=1.8.20 - gcc_linux-aarch64=11.* - graphviz @@ -44,6 +44,7 @@ dependencies: - nvcc_linux-aarch64=11.8 - pre-commit - pydata-sphinx-theme +- pylibraft==24.8.*,>=0.0.0a0 - pytest-cov - pytest==7.* - rapids-build-backend>=0.3.0,<0.4.0.dev0 diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index b141ebd7e0..eb378f26a2 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -21,7 +21,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.* +- distributed-ucxx==0.39.*,>0.0.0a0 - doxygen>=1.8.20 - gcc_linux-64=11.* - graphviz @@ -44,6 +44,7 @@ dependencies: - nvcc_linux-64=11.8 - pre-commit - pydata-sphinx-theme +- pylibraft==24.8.*,>=0.0.0a0 - pytest-cov - pytest==7.* - rapids-build-backend>=0.3.0,<0.4.0.dev0 diff --git a/conda/environments/all_cuda-122_arch-aarch64.yaml b/conda/environments/all_cuda-122_arch-aarch64.yaml index 9333930e01..4c8e33cb49 100644 --- a/conda/environments/all_cuda-122_arch-aarch64.yaml +++ b/conda/environments/all_cuda-122_arch-aarch64.yaml @@ -22,7 +22,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.* +- distributed-ucxx==0.39.*,>0.0.0a0 - doxygen>=1.8.20 - gcc_linux-aarch64=11.* - graphviz @@ -40,6 +40,7 @@ dependencies: - numpydoc - pre-commit - pydata-sphinx-theme +- pylibraft==24.8.*,>=0.0.0a0 - pytest-cov - pytest==7.* - rapids-build-backend>=0.3.0,<0.4.0.dev0 diff --git a/conda/environments/all_cuda-122_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml index e209b5b046..2a974ce4dd 100644 --- a/conda/environments/all_cuda-122_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -22,7 +22,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.* +- distributed-ucxx==0.39.*,>0.0.0a0 - doxygen>=1.8.20 - gcc_linux-64=11.* - graphviz @@ -40,6 +40,7 @@ dependencies: - numpydoc - pre-commit - pydata-sphinx-theme +- pylibraft==24.8.*,>=0.0.0a0 - pytest-cov - pytest==7.* - rapids-build-backend>=0.3.0,<0.4.0.dev0 diff --git a/dependencies.yaml b/dependencies.yaml index 363d2588e1..54a74506b8 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -475,12 +475,9 @@ dependencies: - numba>=0.57 - *numpy - rapids-dask-dependency==24.8.*,>=0.0.0a0 - - ucx-py==0.39.* - output_types: conda packages: - &ucx_py_conda ucx-py==0.39.* - - output_types: pyproject - packages: - &pylibraft_conda pylibraft==24.8.*,>=0.0.0a0 - output_types: requirements packages: @@ -518,7 +515,7 @@ dependencies: packages: # UCXX is not currently a hard-dependency thus only installed during tests, # this will change in the future. - - &distributed_ucxx_conda distributed-ucxx==0.39.* + - &distributed_ucxx_conda distributed-ucxx==0.39.*,>0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -529,10 +526,10 @@ dependencies: matrices: - matrix: {cuda: "12.*"} packages: - - distributed-ucxx-cu12==0.39.* + - distributed-ucxx-cu12==0.39.*,>0.0.0a0 - matrix: {cuda: "11.*"} packages: - - distributed-ucxx-cu11==0.39.* + - distributed-ucxx-cu11==0.39.*,>0.0.0a0 - {matrix: null, packages: [*distributed_ucxx_conda]} depends_on_ucx_build: common: diff --git a/python/raft-dask/pyproject.toml b/python/raft-dask/pyproject.toml index f3d5acacac..f2c8919301 100644 --- a/python/raft-dask/pyproject.toml +++ b/python/raft-dask/pyproject.toml @@ -32,7 +32,7 @@ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ "dask-cuda==24.8.*,>=0.0.0a0", - "distributed-ucxx==0.39.*", + "distributed-ucxx==0.39.*,>0.0.0a0", "joblib>=0.11", "numba>=0.57", "numpy>=1.23,<2.0a0", From 587476cd2c1b0d2ede445c3bc362107a9d1d6d8f Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 31 May 2024 14:16:25 -0700 Subject: [PATCH 3/4] ucx-py needs an alpha spec, alpha spec needs to be '>=' --- conda/environments/all_cuda-118_arch-aarch64.yaml | 4 ++-- conda/environments/all_cuda-118_arch-x86_64.yaml | 4 ++-- conda/environments/all_cuda-122_arch-aarch64.yaml | 4 ++-- conda/environments/all_cuda-122_arch-x86_64.yaml | 4 ++-- dependencies.yaml | 12 ++++++------ python/raft-dask/pyproject.toml | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-aarch64.yaml b/conda/environments/all_cuda-118_arch-aarch64.yaml index f4baaf4664..0ea75b58c8 100644 --- a/conda/environments/all_cuda-118_arch-aarch64.yaml +++ b/conda/environments/all_cuda-118_arch-aarch64.yaml @@ -21,7 +21,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.*,>0.0.0a0 +- distributed-ucxx==0.39.*,>=0.0.0a0 - doxygen>=1.8.20 - gcc_linux-aarch64=11.* - graphviz @@ -57,5 +57,5 @@ dependencies: - sphinx-copybutton - sphinx-markdown-tables - sysroot_linux-aarch64==2.17 -- ucx-py==0.39.* +- ucx-py==0.39.*,>=0.0.0a0 name: all_cuda-118_arch-aarch64 diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index eb378f26a2..5497c2a7c2 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -21,7 +21,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.*,>0.0.0a0 +- distributed-ucxx==0.39.*,>=0.0.0a0 - doxygen>=1.8.20 - gcc_linux-64=11.* - graphviz @@ -57,5 +57,5 @@ dependencies: - sphinx-copybutton - sphinx-markdown-tables - sysroot_linux-64==2.17 -- ucx-py==0.39.* +- ucx-py==0.39.*,>=0.0.0a0 name: all_cuda-118_arch-x86_64 diff --git a/conda/environments/all_cuda-122_arch-aarch64.yaml b/conda/environments/all_cuda-122_arch-aarch64.yaml index 4c8e33cb49..632ff471b4 100644 --- a/conda/environments/all_cuda-122_arch-aarch64.yaml +++ b/conda/environments/all_cuda-122_arch-aarch64.yaml @@ -22,7 +22,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.*,>0.0.0a0 +- distributed-ucxx==0.39.*,>=0.0.0a0 - doxygen>=1.8.20 - gcc_linux-aarch64=11.* - graphviz @@ -53,5 +53,5 @@ dependencies: - sphinx-copybutton - sphinx-markdown-tables - sysroot_linux-aarch64==2.17 -- ucx-py==0.39.* +- ucx-py==0.39.*,>=0.0.0a0 name: all_cuda-122_arch-aarch64 diff --git a/conda/environments/all_cuda-122_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml index 2a974ce4dd..a7d59b4a5f 100644 --- a/conda/environments/all_cuda-122_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -22,7 +22,7 @@ dependencies: - cxx-compiler - cython>=3.0.0 - dask-cuda==24.8.*,>=0.0.0a0 -- distributed-ucxx==0.39.*,>0.0.0a0 +- distributed-ucxx==0.39.*,>=0.0.0a0 - doxygen>=1.8.20 - gcc_linux-64=11.* - graphviz @@ -53,5 +53,5 @@ dependencies: - sphinx-copybutton - sphinx-markdown-tables - sysroot_linux-64==2.17 -- ucx-py==0.39.* +- ucx-py==0.39.*,>=0.0.0a0 name: all_cuda-122_arch-x86_64 diff --git a/dependencies.yaml b/dependencies.yaml index 54a74506b8..9e16bf473d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -477,7 +477,7 @@ dependencies: - rapids-dask-dependency==24.8.*,>=0.0.0a0 - output_types: conda packages: - - &ucx_py_conda ucx-py==0.39.* + - &ucx_py_conda ucx-py==0.39.*,>=0.0.0a0 - &pylibraft_conda pylibraft==24.8.*,>=0.0.0a0 - output_types: requirements packages: @@ -491,11 +491,11 @@ dependencies: - matrix: {cuda: "12.*"} packages: - &pylibraft_cu12 pylibraft-cu12==24.8.*,>=0.0.0a0 - - &ucx_py_cu12 ucx-py-cu12==0.39.* + - &ucx_py_cu12 ucx-py-cu12==0.39.*,>=0.0.0a0 - matrix: {cuda: "11.*"} packages: - &pylibraft_cu11 pylibraft-cu11==24.8.*,>=0.0.0a0 - - &ucx_py_cu11 ucx-py-cu11==0.39.* + - &ucx_py_cu11 ucx-py-cu11==0.39.*,>=0.0.0a0 - {matrix: null, packages: [*pylibraft_conda, *ucx_py_conda]} test_python_common: common: @@ -515,7 +515,7 @@ dependencies: packages: # UCXX is not currently a hard-dependency thus only installed during tests, # this will change in the future. - - &distributed_ucxx_conda distributed-ucxx==0.39.*,>0.0.0a0 + - &distributed_ucxx_conda distributed-ucxx==0.39.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -526,10 +526,10 @@ dependencies: matrices: - matrix: {cuda: "12.*"} packages: - - distributed-ucxx-cu12==0.39.*,>0.0.0a0 + - distributed-ucxx-cu12==0.39.*,>=0.0.0a0 - matrix: {cuda: "11.*"} packages: - - distributed-ucxx-cu11==0.39.*,>0.0.0a0 + - distributed-ucxx-cu11==0.39.*,>=0.0.0a0 - {matrix: null, packages: [*distributed_ucxx_conda]} depends_on_ucx_build: common: diff --git a/python/raft-dask/pyproject.toml b/python/raft-dask/pyproject.toml index f2c8919301..64bec455e4 100644 --- a/python/raft-dask/pyproject.toml +++ b/python/raft-dask/pyproject.toml @@ -32,13 +32,13 @@ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ "dask-cuda==24.8.*,>=0.0.0a0", - "distributed-ucxx==0.39.*,>0.0.0a0", + "distributed-ucxx==0.39.*,>=0.0.0a0", "joblib>=0.11", "numba>=0.57", "numpy>=1.23,<2.0a0", "pylibraft==24.8.*,>=0.0.0a0", "rapids-dask-dependency==24.8.*,>=0.0.0a0", - "ucx-py==0.39.*", + "ucx-py==0.39.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ "Intended Audience :: Developers", From de12892a3f34167804bfaee343f89cf65d8dca1b Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 31 May 2024 17:43:12 -0500 Subject: [PATCH 4/4] Update dependencies.yaml Co-authored-by: Bradley Dice --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 9e16bf473d..b0e5706a7f 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -477,8 +477,8 @@ dependencies: - rapids-dask-dependency==24.8.*,>=0.0.0a0 - output_types: conda packages: - - &ucx_py_conda ucx-py==0.39.*,>=0.0.0a0 - &pylibraft_conda pylibraft==24.8.*,>=0.0.0a0 + - &ucx_py_conda ucx-py==0.39.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file