Skip to content
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

Testing against oldest python dependencies #81

Open
2 of 14 tasks
seberg opened this issue Jul 15, 2024 · 4 comments
Open
2 of 14 tasks

Testing against oldest python dependencies #81

seberg opened this issue Jul 15, 2024 · 4 comments

Comments

@seberg
Copy link

seberg commented Jul 15, 2024

E.g. for NumPy 2 it makes sense at least for some projects (cudf, cuml, cucim) to test both NumPy 2 and NumPy 1.x, however, RAPIDS currently doesn't do this.

The following PR would allow each projects to add explicit oldest dependencies to their testing workflows: rapidsai/shared-workflows#228

For each of the projects, we need then pin the interesting oldest dependencies:

  • rmm:
    • numpy==1.23, numba=0.57
    • PR
  • cuDF:
    • numpy==1.23, pandas==2.0, numba=0.57, (fsspec=0.6.0)
      pyarrow==16.1.0, cupy==12.0.0
    • PR
  • raft:
    • numpy=1.23, numba==0.57, (joblib==0.11)
  • cuML:
    • numpy=1.23, numba==0.57, scipy==1.8, joblib==0.11
  • cuGraph:
    • cupy==12.0.0, numpy=1.23, numba==0.57, networkx==3.0, (fsspec=0.6.0)
  • cuCIM:
    • cupy==12.0.0, numpy=1.23, scikit-image==0.19.0, (lazy_loader==0.1)
  • cuSpatial:
    • cupy==12.0.0, numpy=1.23, geopandas=0.11.0
  • cuxfilter:
    • cupy==12.0.0, numpy=1.23, numba>=0.57, geopandas=0.11.0, holoviews==1.16.0, bokeh==3.1, panel==1.0
  • ucxx:
    • numpy==1.23, numba=0.57 (only inherited from RMM, maybe skip)
  • KvikIO:
    • cupy==12.0.0, numpy=1.23, zarr==? (no range specified)
  • wholegraph:
    • probably skip dependencies seem only test dependencies not runtime.
  • cuVS:
    • cupy==12.0.0, numpy==1.23

Many of these depend on rmm so could e.g. have a numba=0.57, but maybe it is sufficient to concentrate on explicitly specified dependencies only. I bracketed a few that seemed not very relevant, although it may make sense to just put them anyway.

@jameslamb
Copy link
Member

+1, I think it'll be great to have something like this. I've seen it be very effective in other projects.

And I specifically think we'll be happy to have it when pandas 3.0 comes out: pandas-dev/pandas#57064

@jakirkham
Copy link
Member

@bdice do you have thoughts on this proposal? 🙂

@bdice
Copy link
Contributor

bdice commented Aug 7, 2024

Yes, I support this. This is what @seberg and I discussed when I drafted rapidsai/shared-workflows#228.

@jakirkham
Copy link
Member

The first 2 steps are done above. Have checked those boxes

Next step is rolling this out to projects (as described by the remaining checklist items)

Though please let me know if I've missed anything

rapids-bot bot pushed a commit to rapidsai/cudf that referenced this issue Sep 4, 2024
This adds explicit tests with old versions of key dependencies. Specifically:
- `numba==0.57`
- `numpy==1.23`
- `pandas==2.0`
- ~`fsspec==0.6.0`~ excluded it. `transformers==4.39.3` requires `huggingface_hub` which requires `fsspec>=2023.5.0`.  In principle one could include it e.g. only for conda which doesn't pull in `transformers`, but that seemed not worth the trouble?
- `cupy==12.0.0`
- `pyarrow==16.1.0`

See also rapidsai/build-planning#81

(Marking as draft until I see that things work.)

Authors:
  - Sebastian Berg (https://github.com/seberg)
  - Matthew Roeschke (https://github.com/mroeschke)
  - GALI PREM SAGAR (https://github.com/galipremsagar)

Approvers:
  - Matthew Roeschke (https://github.com/mroeschke)
  - Bradley Dice (https://github.com/bdice)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Charles Blackmon-Luca (https://github.com/charlesbluca)

URL: #16570
res-life pushed a commit to res-life/cudf that referenced this issue Sep 11, 2024
This adds explicit tests with old versions of key dependencies. Specifically:
- `numba==0.57`
- `numpy==1.23`
- `pandas==2.0`
- ~`fsspec==0.6.0`~ excluded it. `transformers==4.39.3` requires `huggingface_hub` which requires `fsspec>=2023.5.0`.  In principle one could include it e.g. only for conda which doesn't pull in `transformers`, but that seemed not worth the trouble?
- `cupy==12.0.0`
- `pyarrow==16.1.0`

See also rapidsai/build-planning#81

(Marking as draft until I see that things work.)

Authors:
  - Sebastian Berg (https://github.com/seberg)
  - Matthew Roeschke (https://github.com/mroeschke)
  - GALI PREM SAGAR (https://github.com/galipremsagar)

Approvers:
  - Matthew Roeschke (https://github.com/mroeschke)
  - Bradley Dice (https://github.com/bdice)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Charles Blackmon-Luca (https://github.com/charlesbluca)

URL: rapidsai#16570
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants