[FEA]: Provide separate source distributions for individual packages
Nobody has claimed this yet.
- Dominant language
- Cython
- Stars
- 3.4k
- Forks
- 329
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 116
Description
Is this a duplicate?
- I confirmed there appear to be no duplicate issues for this request and that I agree to the Code of Conduct
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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