Skip to content

Drop support for Python 3.9 #88

@bdice

Description

@bdice

This issue tracks dropping Python 3.9, following from the discussion on #40:

When should we drop Python 3.9?

Typically RAPIDS has kept the matrix of supported Python minor versions to 2 or 3 versions at a time. When adding Python 3.12, we should probably drop Python 3.9 as well.

SPEC 0 recommended dropping support for Python 3.9 in 2023Q4. Meanwhile, NEP 29 recommended dropping support for Python 3.9 as of Apr 05, 2024. Both of these deadlines have passed and several large Python libraries are now moving towards dropping Python 3.9, so it is probably reasonable to drop Python 3.9 around the same time that we add Python 3.12.

We are beyond the SPEC 0 date for dropping Python 3.9 now, and expect that RAPIDS dependencies will gradually drop support. We are exploring dropping Python 3.9 in RAPIDS 24.10.

Tasks:

Things to be careful about:

  • Python version embedded in Jupyter notebook metadata (like this)
  • avoid changing benchmarking results and the code to reproduce them
  • pynvjitlink is used by more than just RAPIDS (like https://github.com/NVIDIA/nvmath-python), and uses its own CI matrix to support a broader range of versions than RAPIDS (link)... we may sometimes drop a Python version across RAPIDS but still support it in pynvjitlink
  • generic tools like rapids-reviser, rapids-build-backend, rapids-metadata, etc. shouldn't have their floors bumped unless there's a compelling reason to do so... that'd make it harder to fix bugs in those tools that affect older releases
### before making changes in individual repos
- [x] Announce deprecation: https://github.com/rapidsai/docs/pull/528
- [x] Drop Python 3.9 from shared-workflows: https://github.com/rapidsai/shared-workflows/pull/235
### Updates for libraries
- [x] cucim (https://github.com/rapidsai/cucim/pull/766)
- [x] cudf (https://github.com/rapidsai/cudf/pull/16637)
- [x] cugraph (https://github.com/rapidsai/cugraph/pull/4625)
- [x] cugraph-gnn (https://github.com/rapidsai/cugraph-gnn/pull/32)
- [x] cugraph-pg (https://github.com/rapidsai/cugraph-pg/pull/25 ... this repo is not being actively developed right now, not waiting for that to be mered to consider this done)
- [x] cuml (https://github.com/rapidsai/cuml/pull/6040)
- [x] cuspatial (https://github.com/rapidsai/cuspatial/pull/1443)
- [x] cuvs (https://github.com/rapidsai/cuvs/pull/301)
- [x] cuxfilter (https://github.com/rapidsai/cuxfilter/pull/623)
- [x] dask-cuda (https://github.com/rapidsai/dask-cuda/pull/1377)
- [x] kvikio (https://github.com/rapidsai/kvikio/pull/443)
- [x] pynvjitlink (https://github.com/rapidsai/pynvjitlink/pull/102)
- [x] rapids-cmake (https://github.com/rapidsai/rapids-cmake/pull/684)
- [x] raft (https://github.com/rapidsai/raft/pull/2417)
- [x] rmm (https://github.com/rapidsai/rmm/pull/1659)
- [x] ucx-py (https://github.com/rapidsai/ucx-py/pull/1065)
- [x] ucxx (https://github.com/rapidsai/ucxx/pull/272)
- [x] wholegraph (https://github.com/rapidsai/wholegraph/pull/209)
- [x] private repos
### after all libraries are updated
- [x] `pypi-wheel-scripts` (https://github.com/rapidsai/pypi-wheel-scripts/pull/16)
- [x] `ci-imgs` (https://github.com/rapidsai/ci-imgs/pull/173)
- [x] dask-build-environment (https://github.com/rapidsai/dask-build-environment/pull/97)
- [x] update install docs? (https://github.com/rapidsai/docs/blob/01dbbcb67c199893b839651f5dca01356c825068/install/install.md?plain=1#L101) (https://github.com/rapidsai/docs/pull/534)
- [x] Update release selector: need to disable Python 3.9 on nightlies https://github.com/rapidsai/docs/blob/01dbbcb67c199893b839651f5dca01356c825068/_includes/selector.html (https://github.com/rapidsai/docs/pull/534)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions