-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Python 3.12, drop pyppeteer dependency #625
Conversation
notebooks/README.md
Outdated
@@ -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.11 cudatoolkit=11.8 | |||
cuxfilter python=3.12 cudatoolkit=11.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Python version change pulled this into the diff, which made me realize the outdated cuxfilter=23.02
here. I definitely think that should be removed.
Should the cudatoolkit
also be removed? I'd expect its dependencies like cuspatial
and cudf
to manage their own runtime dependencies on things from the CTK, and that separately installing cudatoolkit
shouldn't be required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should:
- Drop
-c numba
from the line above - Replace this with something like what we have in cudf:
conda install -c rapidsai -c conda-forge -c nvidia \
cuxfilter=24.10 python=3.12 cuda-version=12.5
Make sure update-version.sh
has a replacement command for RAPIDS versions in notebooks/README.md
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok great, will push that shortly.
Looks like that's what this project does already do in its main README, so it's just this notebook README that needs to be updated.
Lines 156 to 178 in ca63e9d
For nightly version `cuxfilter version == 24.10` : | |
```bash | |
# for CUDA 12.0 | |
conda install -c rapidsai-nightly -c conda-forge -c nvidia \ | |
cuxfilter=24.10 python=3.11 cuda-version=12.0 | |
# for CUDA 11.8 | |
conda install -c rapidsai-nightly -c conda-forge -c nvidia \ | |
cuxfilter=24.10 python=3.11 cuda-version=11.8 | |
``` | |
For the stable version of `cuxfilter` : | |
```bash | |
# for CUDA 12.0 | |
conda install -c rapidsai -c conda-forge -c nvidia \ | |
cuxfilter python=3.11 cuda-version=12.0 | |
# for CUDA 11.8 | |
conda install -c rapidsai -c conda-forge -c nvidia \ | |
cuxfilter python=3.11 cuda-version=11.8 | |
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can reduce the content and only list it one place?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah even better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just pushed a commit making these docs in notebooks/README.md
point back to the installation steps in the top-level README.md
.
Now that Will move this out of draft once everything is passing. |
@@ -40,7 +40,6 @@ requirements: | |||
- numpy >=1.23,<2.0a0 | |||
- packaging | |||
- panel >=1.0 | |||
- pyppeteer >=0.2.6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This dependency on pyppeteer
makes it impossible to install cuxfilter
in a Python 3.12 environment.
I just pushed 7d17377 removing it.
It appears that the latest version of pyppeteer
(v1.0.2, published 2.5+ years ago), puts an upper limit on websockets<11.0
and there are not any websockets
conda packages available that both support Python 3.12 and meet that constraint.
The following packages are incompatible
└─ cuxfilter is installable with the potential options
├─ cuxfilter 24.10.00a21 would require
│ └─ pyppeteer >=0.2.6 with the potential options
│ ├─ pyppeteer 0.2.6 would require
│ │ └─ websockets >=9.1,<10.0 with the potential options
│ │ ├─ websockets [10.0|10.1|10.2|10.3|9.1] would require
│ │ │ └─ python >=3.7,<3.8.0a0 , which can be installed;
│ │ ├─ websockets [10.0|10.1|...|9.1] would require
│ │ │ └─ python >=3.8,<3.9.0a0 , which can be installed;
│ │ ├─ websockets [10.0|10.1|...|9.1] would require
│ │ │ └─ python >=3.9,<3.10.0a0 , which can be installed;
│ │ └─ websockets 9.1 would require
│ │ └─ python >=3.6,<3.7.0a0 , which can be installed;
│ └─ pyppeteer 1.0.2 would require
│ └─ websockets >=10.0,<11.0 with the potential options
│ ├─ websockets [10.0|10.1|10.2|10.3|10.4] would require
│ │ └─ python >=3.10,<3.11.0a0 , which can be installed;
│ ├─ websockets [10.0|10.1|10.2|10.3|9.1], which can be installed (as previously explained);
│ ├─ websockets [10.0|10.1|...|9.1], which can be installed (as previously explained);
│ ├─ websockets [10.0|10.1|...|9.1], which can be installed (as previously explained);
│ └─ websockets 10.4 would require
│ └─ python >=3.11,<3.12.0a0 , which can be installed;
I think we can drop the pyppeteer
dependency here!
git grep -i pyppeteer
shows 0 direct uses of it- it seems the last use of it here was removed when
cuxfilter.assets.screengrab
was removed in Refactor to use holoviews powered bar charts #494 pyppeteer
appears to be abandoned: https://github.com/pyppeteer/pyppeteer/blob/7dc91ee5173d3836f77800a3774beeaf2b448c0e/README.md#L1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few related cleanups -- I'll apply these and trigger a /merge
.
/merge |
Description
Contributes to rapidsai/build-planning#40
This PR adds support for Python 3.12.
Notes for Reviewers
This is part of ongoing work to add Python 3.12 support across RAPIDS.
It temporarily introduces a build/test matrix including Python 3.12, from rapidsai/shared-workflows#213.
A follow-up PR will revert back to pointing at the
branch-24.10
branch ofshared-workflows
once allRAPIDS repos have added Python 3.12 support.
Additional changes needed to add this support:
pyppeteer
(https://github.com/rapidsai/cuxfilter/pull/625/files#r1750741079)This will fail until all dependencies have been updates to Python 3.12
CI here is expected to fail until all of this project's upstream dependencies support Python 3.12.
This can be merged whenever all CI jobs are passing.