Skip to content

Commit

Permalink
Add support for Python 3.11, require NumPy 1.23+ (#4195)
Browse files Browse the repository at this point in the history
Contributes to rapidsai/build-planning#3

This PR adds support for Python 3.11.

It also bumps uses of `NumPy` to `numpy>=1.23`, 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)

Approvers:
  - Jake Awe (https://github.com/AyodeAwe)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Rick Ratzel (https://github.com/rlratzel)

URL: #4195
  • Loading branch information
jameslamb authored Feb 29, 2024
1 parent ac65b17 commit 0a2a245
Show file tree
Hide file tree
Showing 14 changed files with 29 additions and 18 deletions.
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ dependencies:
- ninja
- notebook>=0.5.0
- numba>=0.57
- numpy>=1.21
- numpy>=1.23
- numpydoc
- nvcc_linux-64=11.8
- openmpi
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ dependencies:
- ninja
- notebook>=0.5.0
- numba>=0.57
- numpy>=1.21
- numpy>=1.23
- numpydoc
- openmpi
- packaging>=21
Expand Down
4 changes: 2 additions & 2 deletions conda/recipes/cugraph-dgl/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2023, NVIDIA CORPORATION.
# Copyright (c) 2023-2024, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand All @@ -25,7 +25,7 @@ requirements:
- cugraph ={{ version }}
- dgl >=1.1.0.cu*
- numba >=0.57
- numpy >=1.21
- numpy >=1.23
- pylibcugraphops ={{ minor_version }}
- python
- pytorch
Expand Down
4 changes: 2 additions & 2 deletions conda/recipes/cugraph-pyg/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022-2023, NVIDIA CORPORATION.
# Copyright (c) 2022-2024, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand Down Expand Up @@ -28,7 +28,7 @@ requirements:
run:
- rapids-dask-dependency ={{ minor_version }}
- numba >=0.57
- numpy >=1.21
- numpy >=1.23
- python
- pytorch >=2.0
- cupy >=12.0.0
Expand Down
4 changes: 2 additions & 2 deletions conda/recipes/cugraph-service/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2018-2023, NVIDIA CORPORATION.
# Copyright (c) 2018-2024, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand Down Expand Up @@ -60,7 +60,7 @@ outputs:
- dask-cuda ={{ minor_version }}
- dask-cudf ={{ minor_version }}
- numba >=0.57
- numpy >=1.21
- numpy >=1.23
- python
- rapids-dask-dependency ={{ minor_version }}
- thriftpy2 >=0.4.15
Expand Down
8 changes: 6 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,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
python_build_wheel:
common:
- output_types: [conda, pyproject, requirements]
Expand All @@ -445,7 +449,7 @@ dependencies:
- &dask rapids-dask-dependency==24.4.*
- &dask_cuda dask-cuda==24.4.*
- &numba numba>=0.57
- &numpy numpy>=1.21
- &numpy numpy>=1.23
- &ucx_py ucx-py==0.37.*
- output_types: conda
packages:
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 @@ -25,7 +25,7 @@ classifiers = [
dependencies = [
"cugraph==24.4.*",
"numba>=0.57",
"numpy>=1.21",
"numpy>=1.23",
"pylibcugraphops==24.4.*",
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.

Expand Down
1 change: 1 addition & 0 deletions python/cugraph-equivariant/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"pylibcugraphops==24.4.*",
Expand Down
3 changes: 2 additions & 1 deletion python/cugraph-pyg/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,12 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"cugraph==24.4.*",
"numba>=0.57",
"numpy>=1.21",
"numpy>=1.23",
"pylibcugraphops==24.4.*",
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.

Expand Down
1 change: 1 addition & 0 deletions python/cugraph-service/client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

[project.urls]
Expand Down
5 changes: 3 additions & 2 deletions python/cugraph-service/server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ dependencies = [
"dask-cuda==24.4.*",
"dask-cudf==24.4.*",
"numba>=0.57",
"numpy>=1.21",
"numpy>=1.23",
"rapids-dask-dependency==24.4.*",
"rmm==24.4.*",
"thriftpy2",
Expand All @@ -37,6 +37,7 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

[project.scripts]
Expand All @@ -45,7 +46,7 @@ cugraph-service-server = "cugraph_service_server.__main__:main"
[project.optional-dependencies]
test = [
"networkx>=2.5.1",
"numpy>=1.21",
"numpy>=1.23",
"pandas",
"pytest",
"pytest-benchmark",
Expand Down
5 changes: 3 additions & 2 deletions python/cugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ dependencies = [
"dask-cudf==24.4.*",
"fsspec[http]>=0.6.0",
"numba>=0.57",
"numpy>=1.21",
"numpy>=1.23",
"pylibcugraph==24.4.*",
"raft-dask==24.4.*",
"rapids-dask-dependency==24.4.*",
Expand All @@ -47,12 +47,13 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

[project.optional-dependencies]
test = [
"networkx>=2.5.1",
"numpy>=1.21",
"numpy>=1.23",
"pandas",
"pytest",
"pytest-benchmark",
Expand Down
3 changes: 2 additions & 1 deletion python/nx-cugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,15 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3 :: Only",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"cupy-cuda11x>=12.0.0",
"networkx>=3.0",
"numpy>=1.21",
"numpy>=1.23",
"pylibcugraph==24.4.*",
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.

Expand Down
3 changes: 2 additions & 1 deletion python/pylibcugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,13 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

[project.optional-dependencies]
test = [
"cudf==24.4.*",
"numpy>=1.21",
"numpy>=1.23",
"pandas",
"pytest",
"pytest-benchmark",
Expand Down

0 comments on commit 0a2a245

Please sign in to comment.