Support building from sdists#2163
Open
matthewfeickert wants to merge 2 commits intoPlasmaControl:masterfrom
Open
Support building from sdists#2163matthewfeickert wants to merge 2 commits intoPlasmaControl:masterfrom
matthewfeickert wants to merge 2 commits intoPlasmaControl:masterfrom
Conversation
* requirements-dev.txt is not used anywhere in the setuptools build system implimentation and is not packaged so it should not be used in setup.py. * Remove wheel from build-system.requires as that is now redundant. - c.f. https://learn.scientific-python.org/development/guides/packaging-classic/ * Update setuptools to v42 to conform with modern standards.
* As requirements.txt is read in the setuptools-based build to provide the install_require it must be pacakged with the sdist to provide a non-broken sdist.
Author
|
This is ready for review, but needs a maintainer to approve the CI runs. Let me know if you have any questions. 👍 |
9 tasks
YigitElma
reviewed
Apr 15, 2026
| [build-system] | ||
| # These are the assumed default build requirements from pip: | ||
| # https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support | ||
| requires = ["setuptools>=40.8.0", "wheel", "versioneer-518"] |
Collaborator
There was a problem hiding this comment.
How recently did wheel become redundant? Some clusters come with an old version of pip, unless you update it manually (I am not sure if our users do). If this is not causing any trouble (or big overhead), I am fine keeping it.
Author
There was a problem hiding this comment.
@YigitElma pip has nothing to do with wheel. Note from https://learn.scientific-python.org/development/guides/packaging-classic/#pep-517518-support-high-priority (in the context of PEP 517/518 support)
Note that "
wheel" is never required; it was injected automatically bysetuptoolsin older versions, and is no longer used at all.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Current building from
sdistsare broken asdesc-opt's requirements are read in from a requirements fileDESC/setup.py
Lines 14 to 15 in 03637dd
and that
requirements.txtfile is not packagedDESC/MANIFEST.in
Lines 1 to 3 in 03637dd
In addition to noticing
requirements.txtabsence fromMANIFEST.inwe can also manually checkWe can see that this works now as expected by building the sdist and wheel distributions and then inspecting the sdist
This PR fixes that by ensuring the required packages are include in
setuptoolsmanifest.requirements-dev.txtis not used anywhere in thesetuptoolsbuild system implementation and is not packaged so it should not be used insetup.py.build-system.requiresas that is now redundant.setuptoolstov42to conform with modern standards.Note, this is effectively the same PR as f0uriest/orthax#92.