NVIDIA / NVIDIA/cuda-python

[FEA]: Provide separate source distributions for individual packages

Open
#754 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

CI/CD cuda.bindings enhancement P2
Dominant language
Cython
Stars
3.4k
Forks
329
Avg merge
1d 23h
Merged PRs (30d)
116

Description

Is this a duplicate?
Area

General cuda-python

Is your feature request related to a problem? Please describe.

Currently, the cuda-bindings, cuda-core and cuda-python packages on PyPI publish only binary wheels. Source code is available from archives attached to releases, but it includes the whole repository and therefore does not integrate well with standard PEP 517 build process (read: you can't just pip install cuda-python-v12.9.0.tar.gz).

Describe the solution you'd like

While we can work around it, as downstream packagers we would find it much cleaner if you could provide source distributions for each project separately. If you don't want to upload them to PyPI, attaching to releases would also work.

Describe alternatives you've considered

No response

Additional context

I understand that there are currently some cross-package dependencies that require using the monorepo archive. However, I think they could be solved cleanly with help of some symlinks that turn into included subdirectories in sdist. If you agree, I can experiment a bit and prepare a pull request if I get something neat working.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the packaging setup for the cuda-bindings, cuda-core, and cuda-python projects, then compare it with the whole-repository release archives. Verify that each project can produce a separate source distribution usable by a standard PEP 517 build, while preserving the cross-package dependencies; done means the distributions can be attached to releases or published to PyPI.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.