Skip to content

Commit

Permalink
Drop Python 3.9 support (#4625)
Browse files Browse the repository at this point in the history
Contributes to rapidsai/build-planning#88

Finishes the work of dropping Python 3.9 support.

This project stopped building / testing against Python 3.9 as of rapidsai/shared-workflows#235.
This PR updates configuration and docs to reflect that.

## Notes for Reviewers

### How I tested this

Checked that there were no remaining uses like this:

```shell
git grep -E '3\.9'
git grep '39'
git grep 'py39'
```

And similar for variations on Python 3.8 (to catch things that were missed the last time this was done).

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Bradley Dice (https://github.com/bdice)
  - Brad Rees (https://github.com/BradReesWork)

URL: #4625
  • Loading branch information
jameslamb authored Aug 26, 2024
1 parent 6b6e8c8 commit 73a2a84
Show file tree
Hide file tree
Showing 14 changed files with 21 additions and 32 deletions.
6 changes: 1 addition & 5 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -480,10 +480,6 @@ dependencies:
specific:
- output_types: [conda]
matrices:
- matrix:
py: "3.9"
packages:
- python=3.9
- matrix:
py: "3.10"
packages:
Expand All @@ -494,7 +490,7 @@ dependencies:
- python=3.11
- matrix:
packages:
- python>=3.9,<3.12
- python>=3.10,<3.12
python_build_rapids:
common:
- output_types: [conda, pyproject, requirements]
Expand Down
2 changes: 1 addition & 1 deletion docs/cugraph/source/installation/getting_cugraph.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ conda install -c rapidsai -c conda-forge -c nvidia cugraph cuda-version=12.0

Alternatively, use `cuda-version=11.8` for packages supporting CUDA 11.

Note: This conda installation only applies to Linux and Python versions 3.9/3.10/3.11.
Note: This conda installation only applies to Linux and Python versions 3.10/3.11.

<br>

Expand Down
4 changes: 2 additions & 2 deletions docs/cugraph/source/tutorials/basic_cugraph.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

CuGraph is part of [Rapids](https://docs.rapids.ai/user-guide) and has the following system requirements:
* NVIDIA GPU, Volta architecture or later, with [compute capability](https://developer.nvidia.com/cuda-gpus) 7.0+
* CUDA 11.2, 11.4, 11.5, 11.8, 12.0 or 12.2
* Python version 3.9, 3.10, or 3.11
* CUDA 11.2, 11.4, 11.5, 11.8, 12.0, 12.2, or 12.5
* Python version 3.10 or 3.11
* NetworkX >= version 3.3 or newer in order to use use [NetworkX Configs](https://networkx.org/documentation/stable/reference/backends.html#module-networkx.utils.configs) **This is required for use of nx-cuGraph, [see below](#cugraph-using-networkx-code).**

## Installation
Expand Down
8 changes: 4 additions & 4 deletions notebooks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ The easiest way to run the notebooks is to get the latest [rapidsai/notebooks](h

For example, get the latest (as of writing the document) nightly image (`a` after the version number indicates that an image is nightly) with cuda 12.0 using
```sh
docker pull rapidsai/notebooks:24.10a-cuda12.0-py3.9
docker pull rapidsai/notebooks:24.10a-cuda12.0-py3.10
```

And, then run a container based on the image using

```sh
docker run --rm -it --pull always --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 rapidsai/notebooks:24.10a-cuda12.0-py3.9
docker run --rm -it --pull always --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 rapidsai/notebooks:24.10a-cuda12.0-py3.10
```
You are all set. Run and edit cugraph notebooks from a browser at url
http://127.0.0.1:8888/lab/tree/cugraph/cugraph_benchmarks
Expand All @@ -89,8 +89,8 @@ ssh -L 127.0.0.1:8888:127.0.0.1:8888 [USER_NAME@][REMOTE_HOST_NAME or REMOTE_HO
and then run the container in your remote machine.

```sh
docker pull rapidsai/notebooks:24.10a-cuda12.0-py3.9
docker run --rm -it --pull always --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 rapidsai/notebooks:24.10a-cuda12.0-py3.9
docker pull rapidsai/notebooks:24.10a-cuda12.0-py3.10
docker run --rm -it --pull always --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 rapidsai/notebooks:24.10a-cuda12.0-py3.10
```

You can run and edit cugraph notebooks at url http://127.0.0.1:8888/lab/tree/cugraph/cugraph_benchmarks as if they are running locally.
Expand Down
2 changes: 1 addition & 1 deletion notebooks/demo/nx_cugraph_demo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"Using `nx-cugraph` with this notebook requires the following: \n",
"- NVIDIA GPU, Pascal architecture or later\n",
"- CUDA 11.2, 11.4, 11.5, 11.8, or 12.0\n",
"- Python versions 3.9, 3.10, or 3.11\n",
"- Python versions 3.10 or 3.11\n",
"- NetworkX >= version 3.2\n",
" - _NetworkX 3.0 supports dispatching and is compatible with `nx-cugraph`, but this notebook will demonstrate features added in 3.2_\n",
" - At the time of this writing, NetworkX 3.2 is only available from source and can be installed by following the [development version install instructions](https://github.com/networkx/networkx/blob/main/INSTALL.rst#install-the-development-version).\n",
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph-dgl/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
Expand Down
3 changes: 1 addition & 2 deletions python/cugraph-equivariant/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,10 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down
3 changes: 1 addition & 2 deletions python/cugraph-pyg/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down
3 changes: 1 addition & 2 deletions python/cugraph-service/client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,13 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"thriftpy2!=0.5.0,!=0.5.1",
] # 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",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down
3 changes: 1 addition & 2 deletions python/cugraph-service/server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"cudf==24.10.*,>=0.0.0a0",
"cugraph-service-client==24.10.*,>=0.0.0a0",
Expand All @@ -36,7 +36,6 @@ dependencies = [
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down
3 changes: 1 addition & 2 deletions python/cugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"cudf==24.10.*,>=0.0.0a0",
"cupy-cuda11x>=12.0.0",
Expand All @@ -39,7 +39,6 @@ dependencies = [
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down
4 changes: 2 additions & 2 deletions python/nx-cugraph/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ to run supported algorithms with GPU acceleration.

nx-cugraph requires the following:
* NVIDIA GPU, Volta architecture or later, with [compute capability](https://developer.nvidia.com/cuda-gpus) 7.0+
* CUDA 11.2, 11.4, 11.5, 11.8, or 12.0
* Python version 3.9, 3.10, or 3.11
* CUDA 11.2, 11.4, 11.5, 11.8, 12.0, 12.2, or 12.5
* Python version 3.10 or 3.11
* NetworkX >= version 3.0 (version 3.2 or higher recommended)

More details about system requirements can be found in the [RAPIDS System Requirements documentation](https://docs.rapids.ai/install#system-req).
Expand Down
7 changes: 3 additions & 4 deletions python/nx-cugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,12 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3 :: Only",
Expand Down Expand Up @@ -90,7 +89,7 @@ matrix-entry = "cuda_suffixed=true"

[tool.black]
line-length = 88
target-version = ["py39", "py310", "py311"]
target-version = ["py310", "py311"]

[tool.isort]
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
Expand Down Expand Up @@ -156,7 +155,7 @@ exclude_lines = [
[tool.ruff]
# https://github.com/charliermarsh/ruff/
line-length = 88
target-version = "py39"
target-version = "py310"
[tool.ruff.lint]
unfixable = [
"F841", # unused-variable (Note: can leave useless expression)
Expand Down
3 changes: 1 addition & 2 deletions python/pylibcugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ authors = [
{ name = "NVIDIA Corporation" },
]
license = { text = "Apache 2.0" }
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"nvidia-cublas",
"nvidia-curand",
Expand All @@ -33,7 +33,6 @@ dependencies = [
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down

0 comments on commit 73a2a84

Please sign in to comment.