Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit 59972f6

Browse files
authored
Add support for Python 3.11, require NumPy 1.23+ (#1348)
Contributes to rapidsai/build-planning#3 This PR adds support for Python 3.11. It also proposes: * declaring `numpy` as a runtime dependency, as `cuspatial` does import it directly * a floor on `NumPy` of `numpy>=1.23` in tests, see rapidsai/build-planning#3 (comment) ## 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 rapidsai/shared-workflows#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 rapidsai/shared-workflows#176 for more details. Authors: - James Lamb (https://github.com/jameslamb) - Kyle Edwards (https://github.com/KyleFromNVIDIA) Approvers: - Jake Awe (https://github.com/AyodeAwe) - Mark Harris (https://github.com/harrism) - Kyle Edwards (https://github.com/KyleFromNVIDIA) URL: #1348
1 parent 603d764 commit 59972f6

File tree

7 files changed

+19
-6
lines changed

7 files changed

+19
-6
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,13 @@ docker run --gpus all --pull always --rm -it \
119119
### Install with Conda
120120

121121
To install via conda:
122-
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.9 and 3.10
122+
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.9, 3.10, and 3.11.
123123
124124
cuSpatial can be installed with conda (miniconda, or the full Anaconda distribution) from the rapidsai channel:
125125

126126
```shell
127127
conda install -c rapidsai -c conda-forge -c nvidia \
128-
cuspatial=24.04 python=3.10 cudatoolkit=11.8
128+
cuspatial=24.04 python=3.11 cudatoolkit=11.8
129129
```
130130
We also provide nightly Conda packages built from the HEAD of our latest development branch.
131131

@@ -134,7 +134,7 @@ See the [RAPIDS installation documentation](https://docs.rapids.ai/install) for
134134
### Install with pip
135135

136136
To install via pip:
137-
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.9 and 3.10
137+
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.9, 3.10, and 3.11.
138138
139139
The cuSpatial pip packages can be installed from NVIDIA's PyPI index. pip installations require using the matching wheel to the system's installed CUDA toolkit.
140140
- For CUDA 11 toolkits, install the `-cu11` wheels

conda/environments/all_cuda-118_arch-x86_64.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ dependencies:
3030
- nbsphinx
3131
- ninja
3232
- notebook
33+
- numpy>=1.23
3334
- numpydoc
3435
- nvcc_linux-64=11.8
3536
- pre-commit
@@ -39,7 +40,7 @@ dependencies:
3940
- pytest
4041
- pytest-cov
4142
- pytest-xdist
42-
- python>=3.9,<3.11
43+
- python>=3.9,<3.12
4344
- rmm==24.4.*
4445
- scikit-build-core>=0.7.0
4546
- scikit-image

conda/environments/all_cuda-122_arch-x86_64.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies:
3333
- nbsphinx
3434
- ninja
3535
- notebook
36+
- numpy>=1.23
3637
- numpydoc
3738
- pre-commit
3839
- proj
@@ -41,7 +42,7 @@ dependencies:
4142
- pytest
4243
- pytest-cov
4344
- pytest-xdist
44-
- python>=3.9,<3.11
45+
- python>=3.9,<3.12
4546
- rmm==24.4.*
4647
- scikit-build-core>=0.7.0
4748
- scikit-image

conda/recipes/cuspatial/meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ requirements:
7575
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
7676
- cudf ={{ minor_version }}
7777
- geopandas >=0.11.0
78+
- numpy >=1.23
7879
- python
7980
- rmm ={{ minor_version }}
8081

dependencies.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,18 @@ dependencies:
324324
packages:
325325
- python=3.10
326326
- matrix:
327+
py: "3.11"
327328
packages:
328-
- python>=3.9,<3.11
329+
- python=3.11
330+
- matrix:
331+
packages:
332+
- python>=3.9,<3.12
329333
run_python_cuspatial:
330334
common:
331335
- output_types: [conda, requirements, pyproject]
332336
packages:
333337
- geopandas>=0.11.0
338+
- &numpy numpy>=1.23
334339
test_python_cuspatial:
335340
common:
336341
- output_types: [conda, requirements, pyproject]
@@ -342,6 +347,7 @@ dependencies:
342347
common:
343348
- output_types: [conda, requirements, pyproject]
344349
packages:
350+
- *numpy
345351
- pytest
346352
- pytest-cov
347353
- pytest-xdist

python/cuproj/pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,14 @@ classifiers = [
4444
"Programming Language :: Python",
4545
"Programming Language :: Python :: 3.9",
4646
"Programming Language :: Python :: 3.10",
47+
"Programming Language :: Python :: 3.11",
4748
]
4849

4950
[project.optional-dependencies]
5051
test = [
5152
"cuspatial==24.4.*",
5253
"geopandas>=0.11.0",
54+
"numpy>=1.23",
5355
"pyproj>=3.6.0,<3.7a0",
5456
"pytest",
5557
"pytest-cov",

python/cuspatial/pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ requires-python = ">=3.9"
3838
dependencies = [
3939
"cudf==24.4.*",
4040
"geopandas>=0.11.0",
41+
"numpy>=1.23",
4142
"rmm==24.4.*",
4243
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
4344
classifiers = [
@@ -48,6 +49,7 @@ classifiers = [
4849
"Programming Language :: Python",
4950
"Programming Language :: Python :: 3.9",
5051
"Programming Language :: Python :: 3.10",
52+
"Programming Language :: Python :: 3.11",
5153
]
5254

5355
[project.optional-dependencies]

0 commit comments

Comments
 (0)