Skip to content

Commit d587748

Browse files
authored
Move the pandas tests dependencies out of the all conda environments (NVIDIA#24960)
The pandas-tests extras added in NVIDIA#24835 include `pyqt`, which pulls in `qt-main` 5.15. Its `icu`/`libxml2<2.14`/`alsa-lib` requirements conflict with `openjdk>=22,<23` and `openmpi>=5.0` in the merged RAPIDS devcontainer conda env, so that environment cannot be solved on linux-aarch64 (rapidsai/devcontainers#805, `Build / all / arm64, 13.3, conda`). These packages are only needed to run the pandas test suite, not in every cudf developer environment, so: - Drop `test_python_pandas_tests` from the `all` file entry. - Add a `pandas_tests` file entry with `output: none`. Its environment is generated on demand with `rapids-dependency-file-generator --file-key pandas_tests --output conda --matrix ""` and layered onto `all` with `conda env update`, so no extra files are committed. It carries no `python` or `cuda-version` pin, so it does not change the base environment's versions. I checked that the generated file plus `all_cuda-133_arch-aarch64` solves on linux-aarch64. - Update the `update-pandas-testing` skill to create the environment that way. CI is unaffected: the pandas-tests job installs the `pandas-tests` pip extra. Failing CI log: https://github.com/rapidsai/devcontainers/actions/runs/40994236863/job/124205775940?pr=805#step:8:3322 Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) - Matthew Roeschke (https://github.com/mroeschke) URL: NVIDIA#24960
1 parent 671e11b commit d587748

6 files changed

Lines changed: 9 additions & 91 deletions

File tree

‎.agents/skills/update-pandas-testing/SKILL.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ This rule describes the procedure for updating the pandas unit testing of cudf.p
99

1010
## Prerequisites
1111
1. Prompt the user for a development environment. Assume that the provided environment already contains cudf, the target version of pandas, and the pandas test dependencies.
12-
2. If the user does not provide an environment, create one from the file in `conda/environments/` that matches the CUDA version and CPU architecture of the machine (`all_cuda-<CUDA major><CUDA minor>_arch-<arch>.yaml`). These files contain pandas and the `test_python_pandas_tests` dependencies from `dependencies.yaml`, but not cudf. Build and install cudf into the new environment in editable mode.
12+
2. If the user does not provide an environment, create one from the file in `conda/environments/` that matches the CUDA version and CPU architecture of the machine (`all_cuda-<CUDA major><CUDA minor>_arch-<arch>.yaml`), then add the `test_python_pandas_tests` dependencies, which you generate with `rapids-dependency-file-generator` from the `pandas_tests` file key in `dependencies.yaml`. Neither file contains cudf. Build and install cudf into the new environment in editable mode.
1313

1414
For example, to create a fictional conda development environment named "cudf-dev" on an x86_64 machine with CUDA 13
1515
```bash
1616
conda env create -n cudf-dev -f conda/environments/all_cuda-133_arch-x86_64.yaml
17+
rapids-dependency-file-generator --file-key pandas_tests --output conda --matrix "" > /tmp/pandas_tests.yaml
18+
conda env update -n cudf-dev -f /tmp/pandas_tests.yaml
1719
conda run -n cudf-dev ./build.sh libcudf pylibcudf cudf --pydevelop
1820
```
1921

‎conda/environments/all_cuda-129_arch-aarch64.yaml‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ channels:
66
- conda-forge
77
dependencies:
88
- aiobotocore>=2.2.0,<3
9-
- beautifulsoup4
109
- binutils
1110
- boto3>=1.21.21
1211
- botocore>=1.24.21
13-
- bottleneck
1412
- breathe>=4.35.0
1513
- c-compiler
1614
- cachetools
@@ -36,17 +34,14 @@ dependencies:
3634
- doxygen=1.18.0
3735
- fastavro>=0.22.9
3836
- flatbuffers==24.3.25
39-
- fsspec
4037
- fsspec>=0.6.0
4138
- gcc_linux-aarch64=14.*
4239
- gdb
43-
- html5lib
4440
- hypothesis>=6.131.7
4541
- identify>=2.5.20
4642
- include-what-you-use==0.24.0
4743
- ipykernel
4844
- ipython
49-
- jinja2
5045
- jupyter_client
5146
- kvikio==26.12.*,>=0.0.0a0
5247
- libcufile-dev
@@ -57,9 +52,7 @@ dependencies:
5752
- librdkafka<2.15.0a0
5853
- librmm==26.12.*,>=0.0.0a0
5954
- libucxx==0.53.*,>=0.0.0a0
60-
- lxml
6155
- make
62-
- matplotlib-base
6356
- mmh3
6457
- moto>=4.0.8
6558
- msgpack-python
@@ -70,43 +63,32 @@ dependencies:
7063
- nbsphinx
7164
- ninja
7265
- notebook
73-
- numba
7466
- numba-cuda-mlir>=0.3.0
7567
- numba-cuda>=0.22.2,<0.31.0
7668
- numba>=0.60.0,<0.65.0
77-
- numexpr
7869
- numpy>=2.0,<3.0
7970
- numpydoc
8071
- nvidia-ml-py>=12
8172
- nvtx>=0.2.1
82-
- odfpy
8373
- openpyxl
8474
- packaging
8575
- pandas>=3.0.0,<3.1.0
8676
- pandoc
8777
- polars>=2.0,<2.2
8878
- pre-commit
8979
- psutil
90-
- pyarrow
9180
- pyarrow>=19.0.0
92-
- pyqt
93-
- pyreadstat
94-
- pytables
9581
- pytest-benchmark
9682
- pytest-cases>=3.8.2
9783
- pytest-cov
9884
- pytest-httpserver
99-
- pytest-reportlog
10085
- pytest-rerunfailures!=16.0.0
10186
- pytest-xdist
10287
- pytest<9.1.0
103-
- python-calamine
10488
- python-confluent-kafka
10589
- python-xxhash
10690
- python>=3.12
10791
- pytorch>=2.4.0
108-
- pyxlsb
109-
- qtpy
11092
- rapids-build-backend>=0.4.0,<0.5.0
11193
- rapids-cli
11294
- rapids-dask-dependency==26.12.*,>=0.0.0a0
@@ -126,12 +108,8 @@ dependencies:
126108
- sphinxcontrib-websupport
127109
- streamz
128110
- sysroot_linux-aarch64==2.28
129-
- tabulate
130111
- typing_extensions>=4.0.0
131112
- ucxx==0.53.*,>=0.0.0a0
132-
- xarray
133-
- xlrd
134-
- xlsxwriter
135113
- zlib>=1.2.13
136114
- zstandard
137115
- pip:

‎conda/environments/all_cuda-129_arch-x86_64.yaml‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ channels:
66
- conda-forge
77
dependencies:
88
- aiobotocore>=2.2.0,<3
9-
- beautifulsoup4
109
- binutils
1110
- boto3>=1.21.21
1211
- botocore>=1.24.21
13-
- bottleneck
1412
- breathe>=4.35.0
1513
- c-compiler
1614
- cachetools
@@ -36,17 +34,14 @@ dependencies:
3634
- doxygen=1.18.0
3735
- fastavro>=0.22.9
3836
- flatbuffers==24.3.25
39-
- fsspec
4037
- fsspec>=0.6.0
4138
- gcc_linux-64=14.*
4239
- gdb
43-
- html5lib
4440
- hypothesis>=6.131.7
4541
- identify>=2.5.20
4642
- include-what-you-use==0.24.0
4743
- ipykernel
4844
- ipython
49-
- jinja2
5045
- jupyter_client
5146
- kvikio==26.12.*,>=0.0.0a0
5247
- libcufile-dev
@@ -57,9 +52,7 @@ dependencies:
5752
- librdkafka<2.15.0a0
5853
- librmm==26.12.*,>=0.0.0a0
5954
- libucxx==0.53.*,>=0.0.0a0
60-
- lxml
6155
- make
62-
- matplotlib-base
6356
- mkl<2026.2
6457
- mmh3
6558
- moto>=4.0.8
@@ -71,43 +64,32 @@ dependencies:
7164
- nbsphinx
7265
- ninja
7366
- notebook
74-
- numba
7567
- numba-cuda-mlir>=0.3.0
7668
- numba-cuda>=0.22.2,<0.31.0
7769
- numba>=0.60.0,<0.65.0
78-
- numexpr
7970
- numpy>=2.0,<3.0
8071
- numpydoc
8172
- nvidia-ml-py>=12
8273
- nvtx>=0.2.1
83-
- odfpy
8474
- openpyxl
8575
- packaging
8676
- pandas>=3.0.0,<3.1.0
8777
- pandoc
8878
- polars>=2.0,<2.2
8979
- pre-commit
9080
- psutil
91-
- pyarrow
9281
- pyarrow>=19.0.0
93-
- pyqt
94-
- pyreadstat
95-
- pytables
9682
- pytest-benchmark
9783
- pytest-cases>=3.8.2
9884
- pytest-cov
9985
- pytest-httpserver
100-
- pytest-reportlog
10186
- pytest-rerunfailures!=16.0.0
10287
- pytest-xdist
10388
- pytest<9.1.0
104-
- python-calamine
10589
- python-confluent-kafka
10690
- python-xxhash
10791
- python>=3.12
10892
- pytorch>=2.4.0
109-
- pyxlsb
110-
- qtpy
11193
- rapids-build-backend>=0.4.0,<0.5.0
11294
- rapids-cli
11395
- rapids-dask-dependency==26.12.*,>=0.0.0a0
@@ -127,12 +109,8 @@ dependencies:
127109
- sphinxcontrib-websupport
128110
- streamz
129111
- sysroot_linux-64==2.28
130-
- tabulate
131112
- typing_extensions>=4.0.0
132113
- ucxx==0.53.*,>=0.0.0a0
133-
- xarray
134-
- xlrd
135-
- xlsxwriter
136114
- zlib>=1.2.13
137115
- zstandard
138116
- pip:

‎conda/environments/all_cuda-133_arch-aarch64.yaml‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ channels:
66
- conda-forge
77
dependencies:
88
- aiobotocore>=2.2.0,<3
9-
- beautifulsoup4
109
- binutils
1110
- boto3>=1.21.21
1211
- botocore>=1.24.21
13-
- bottleneck
1412
- breathe>=4.35.0
1513
- c-compiler
1614
- cachetools
@@ -36,17 +34,14 @@ dependencies:
3634
- doxygen=1.18.0
3735
- fastavro>=0.22.9
3836
- flatbuffers==24.3.25
39-
- fsspec
4037
- fsspec>=0.6.0
4138
- gcc_linux-aarch64=14.*
4239
- gdb
43-
- html5lib
4440
- hypothesis>=6.131.7
4541
- identify>=2.5.20
4642
- include-what-you-use==0.24.0
4743
- ipykernel
4844
- ipython
49-
- jinja2
5045
- jupyter_client
5146
- kvikio==26.12.*,>=0.0.0a0
5247
- libcufile-dev
@@ -57,9 +52,7 @@ dependencies:
5752
- librdkafka<2.15.0a0
5853
- librmm==26.12.*,>=0.0.0a0
5954
- libucxx==0.53.*,>=0.0.0a0
60-
- lxml
6155
- make
62-
- matplotlib-base
6356
- mmh3
6457
- moto>=4.0.8
6558
- msgpack-python
@@ -70,43 +63,32 @@ dependencies:
7063
- nbsphinx
7164
- ninja
7265
- notebook
73-
- numba
7466
- numba-cuda-mlir>=0.3.0
7567
- numba-cuda>=0.22.2,<0.31.0
7668
- numba>=0.60.0,<0.65.0
77-
- numexpr
7869
- numpy>=2.0,<3.0
7970
- numpydoc
8071
- nvidia-ml-py>=12
8172
- nvtx>=0.2.1
82-
- odfpy
8373
- openpyxl
8474
- packaging
8575
- pandas>=3.0.0,<3.1.0
8676
- pandoc
8777
- polars>=2.0,<2.2
8878
- pre-commit
8979
- psutil
90-
- pyarrow
9180
- pyarrow>=19.0.0
92-
- pyqt
93-
- pyreadstat
94-
- pytables
9581
- pytest-benchmark
9682
- pytest-cases>=3.8.2
9783
- pytest-cov
9884
- pytest-httpserver
99-
- pytest-reportlog
10085
- pytest-rerunfailures!=16.0.0
10186
- pytest-xdist
10287
- pytest<9.1.0
103-
- python-calamine
10488
- python-confluent-kafka
10589
- python-xxhash
10690
- python>=3.12
10791
- pytorch>=2.10.0
108-
- pyxlsb
109-
- qtpy
11092
- rapids-build-backend>=0.4.0,<0.5.0
11193
- rapids-cli
11294
- rapids-dask-dependency==26.12.*,>=0.0.0a0
@@ -126,12 +108,8 @@ dependencies:
126108
- sphinxcontrib-websupport
127109
- streamz
128110
- sysroot_linux-aarch64==2.28
129-
- tabulate
130111
- typing_extensions>=4.0.0
131112
- ucxx==0.53.*,>=0.0.0a0
132-
- xarray
133-
- xlrd
134-
- xlsxwriter
135113
- zlib>=1.2.13
136114
- zstandard
137115
- pip:

0 commit comments

Comments
 (0)