Skip to content

Conversation

@jameslamb
Copy link
Member

@jameslamb jameslamb commented Dec 31, 2025

Contributes to rapidsai/build-planning#152

Proposes the following changes, to prevent builds breaking when Python build backends
start to require configuration consistent with PEP 639 (link):

  • using SPDX identifiers in [project].license
  • moving [tool.setuptools].license-files to [project].license-files
  • removing License :: trove classifiers
  • bumping build backend floors (setuptools>=77.0.0 and / or scikit-build-core>=0.11.0)

As part of this, also moves all remaining configuration out of setup.py and into pyproject.toml so this project won't be broken if setuptools eventually removes PEP 517 (link) support.

  • removes setup.py
  • moves all remaining Python build configuration into pyproject.toml
  • updates CONTRIBUTING.md to stop recommending python setup.py install

@jameslamb jameslamb added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels Dec 31, 2025
@copy-pr-bot
Copy link

copy-pr-bot bot commented Dec 31, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb jameslamb changed the title WIP: Use SPDX license identifiers in pyproject.toml, bump build dependency floors WIP: Use SPDX license identifiers in pyproject.toml, remove setup.py, bump build dependency floors Dec 31, 2025
@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

The docs-build failure is expected and would be fixed by #751

File /opt/conda/envs/docs/lib/python3.13/site-packages/cuxfilter/sampledata/random_signals.py:47
     44 data["Time"] = [start + datetime.timedelta(minutes=1) * i for i in range(n)]
     46 # Create a dataframe
---> 47 df = cudf.DataFrame.from_pandas(pd.DataFrame(data))

(build link)

@jameslamb jameslamb changed the title WIP: Use SPDX license identifiers in pyproject.toml, remove setup.py, bump build dependency floors Use SPDX license identifiers in pyproject.toml, remove setup.py, bump build dependency floors Dec 31, 2025
"notebooks.*",
"tests",
"tests.*",
]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is working. The count of files and total size is matching what I see on main.

checking '/tmp/wheelhouse/cuxfilter_cu12-26.2.0a14-py3-none-manylinux_2_28_aarch64.manylinux_2_28_x86_64.whl'
----- package inspection summary -----
file size
  * compressed size: 89.006K
  * uncompressed size: 0.283M
  * compression space saving: 69.3%
contents
  * directories: 0
  * files: 66 (0 compiled)
size by extension
  * .py - 0.253M (89.4%)
  * no-extension - 30.564K (10.6%)
  * .txt - 10.0B (0.0%)
largest files
  * (19.426K) cuxfilter/charts/datashader/custom_extensions/holoviews_datashader.py
  * (19.172K) cuxfilter/dashboard.py
  * (18.585K) cuxfilter/charts/panel_widgets/plots.py
  * (17.256K) cuxfilter/charts/datashader/datashader.py
  * (14.774K) cuxfilter/charts/core/non_aggregate/core_graph.py
------------ check results -----------
errors found while checking: 0

(build link)

Checked by building locally as well.

pushd ./python
pip wheel --no-deps -v .
unzip -l ./cuxfilter*.whl

@jameslamb jameslamb marked this pull request as ready for review December 31, 2025 21:02
@jameslamb jameslamb requested review from a team as code owners December 31, 2025 21:02
@jameslamb jameslamb requested a review from AyodeAwe December 31, 2025 21:02
@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit be6bca2 into rapidsai:main Jan 2, 2026
27 checks passed
@jameslamb jameslamb deleted the pep-639-updates branch January 2, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants