From cfab998ffc4f348f649cd839bea5697fd8aeef02 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 28 Feb 2024 16:50:25 -0600 Subject: [PATCH] Add support for Python 3.11 (#572) Contributes to https://github.com/rapidsai/build-planning/issues/3 This PR adds support for Python 3.11. ## Notes for Reviewers This is part of ongoing work to add Python 3.11 support across RAPIDS. The Python 3.11 CI workflows introduced in https://github.com/rapidsai/shared-workflows/pull/176 are *optional*... they are not yet required to run successfully for PRs to be merged. This PR can be merged once all jobs are running successfully (including the non-required jobs for Python 3.11). The CI logs should be verified that the jobs are building and testing with Python 3.11. See https://github.com/rapidsai/shared-workflows/pull/176 for more details. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Jake Awe (https://github.com/AyodeAwe) - Ajay Thorve (https://github.com/AjayThorve) URL: https://github.com/rapidsai/cuxfilter/pull/572 --- .github/workflows/build.yaml | 2 +- .github/workflows/pr.yaml | 4 ++-- .github/workflows/test.yaml | 2 +- README.md | 8 ++++---- ci/utils/external_dependencies.yaml | 2 +- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-122_arch-x86_64.yaml | 2 +- dependencies.yaml | 6 +++++- notebooks/README.md | 4 ++-- python/pyproject.toml | 1 + 10 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a308392d..3b8292c9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -66,7 +66,7 @@ jobs: sha: ${{ inputs.sha }} date: ${{ inputs.date }} script: ci/build_wheel.sh - matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.10" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) + matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.11" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) wheel-publish: needs: wheel-build secrets: inherit diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 9f2ae570..1aaacde0 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -64,7 +64,7 @@ jobs: with: build_type: pull-request script: ci/build_wheel.sh - matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.10" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) + matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.11" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) wheel-tests: needs: wheel-build secrets: inherit @@ -72,4 +72,4 @@ jobs: with: build_type: pull-request script: ci/test_wheel.sh - matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.10" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) + matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.11" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b569cdb7..09294752 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -31,4 +31,4 @@ jobs: date: ${{ inputs.date }} sha: ${{ inputs.sha }} script: ci/test_wheel.sh - matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.10" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) + matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.11" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.2.2"))) diff --git a/README.md b/README.md index 8d9f0ef1..4c3565cf 100644 --- a/README.md +++ b/README.md @@ -158,11 +158,11 @@ For nightly version `cuxfilter version == 24.04` : ```bash # for CUDA 12.0 conda install -c rapidsai-nightly -c conda-forge -c nvidia \ - cuxfilter=24.04 python=3.10 cuda-version=12.0 + cuxfilter=24.04 python=3.11 cuda-version=12.0 # for CUDA 11.8 conda install -c rapidsai-nightly -c conda-forge -c nvidia \ - cuxfilter=24.04 python=3.10 cuda-version=11.8 + cuxfilter=24.04 python=3.11 cuda-version=11.8 ``` For the stable version of `cuxfilter` : @@ -170,11 +170,11 @@ For the stable version of `cuxfilter` : ```bash # for CUDA 12.0 conda install -c rapidsai -c conda-forge -c nvidia \ - cuxfilter python=3.10 cuda-version=12.0 + cuxfilter python=3.11 cuda-version=12.0 # for CUDA 11.8 conda install -c rapidsai -c conda-forge -c nvidia \ - cuxfilter python=3.10 cuda-version=11.8 + cuxfilter python=3.11 cuda-version=11.8 ``` Note: cuxfilter is supported only on Linux, and with Python versions 3.8 and later. diff --git a/ci/utils/external_dependencies.yaml b/ci/utils/external_dependencies.yaml index a73a14d1..b71ba541 100644 --- a/ci/utils/external_dependencies.yaml +++ b/ci/utils/external_dependencies.yaml @@ -8,7 +8,7 @@ dependencies: - dask-cudf==24.4.* - cuxfilter==24.4.* - cuda-version=12.0 - - python>=3.9,<3.11 + - python>=3.9,<3.12 - xarray-spatial - pycaret - graphistry diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 04e71abf..44363636 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -38,7 +38,7 @@ dependencies: - pytest - pytest-cov - pytest-xdist -- python>=3.9,<3.11 +- python>=3.9,<3.12 - recommonmark - sphinx-markdown-tables - sphinx>=7.2.5 diff --git a/conda/environments/all_cuda-122_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml index 8bcd24ee..024a828c 100644 --- a/conda/environments/all_cuda-122_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -37,7 +37,7 @@ dependencies: - pytest - pytest-cov - pytest-xdist -- python>=3.9,<3.11 +- python>=3.9,<3.12 - recommonmark - sphinx-markdown-tables - sphinx>=7.2.5 diff --git a/dependencies.yaml b/dependencies.yaml index 327f5262..468c208e 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -156,8 +156,12 @@ dependencies: packages: - python=3.10 - matrix: + py: "3.11" packages: - - python>=3.9,<3.11 + - python=3.11 + - matrix: + packages: + - python>=3.9,<3.12 run: common: - output_types: [conda, requirements, pyproject] diff --git a/notebooks/README.md b/notebooks/README.md index 9c04137f..1ce2f4fb 100644 --- a/notebooks/README.md +++ b/notebooks/README.md @@ -39,11 +39,11 @@ conda install ipykernel # for stable rapids version conda install -c rapidsai -c numba -c conda-forge -c nvidia \ - cuxfilter=23.02 python=3.10 cudatoolkit=11.8 + cuxfilter=23.02 python=3.11 cudatoolkit=11.8 # for nightly rapids version conda install -c rapidsai-nightly -c numba -c conda-forge -c nvidia \ - cuxfilter python=3.10 cudatoolkit=11.8 + cuxfilter python=3.11 cudatoolkit=11.8 ``` > Above are sample install snippets for cuxfilter, see the [Get RAPIDS version picker](https://rapids.ai/start.html) for installing the latest `cuxfilter` version. diff --git a/python/pyproject.toml b/python/pyproject.toml index 0b10c15d..7195f13c 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -40,6 +40,7 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", ] [project.optional-dependencies]