🐛 fix(build): match hatchling floor to python-requires#94
Merged
Conversation
Building the sdist on Python 3.8/3.9 failed to resolve a backend because the build requirement pinned hatchling>=1.28, which dropped Python 3.9, while the project still declares requires-python >=3.8. Split the floor with an environment marker so old interpreters get hatchling>=1.27, the last release supporting <3.10, and modern ones keep >=1.28. Fixes #92.
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.
Installing python-discovery from source on Python 3.8 or 3.9 fails at the build step with
No matching distribution found for hatchling>=1.28, reported in #92. The build pinhatchling>=1.28requires Python>=3.10, yet the project declaresrequires-python = ">=3.8"and tests against 3.8/3.9, so pip cannot find a backend when it builds the sdist on those interpreters.Nothing needs that specific floor; it landed during the standalone rewrite in #28. An environment marker splits the requirement so interpreters below 3.10 pull
hatchling>=1.27, the last release supporting<3.10, while 3.10 and newer keephatchling>=1.28.Published wheels ship prebuilt and skip the backend, so they stay unchanged. This restores source builds on the older interpreters the package already supports.