-
Notifications
You must be signed in to change notification settings - Fork 261
MNT: Switch to hatchling build backend #1176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportBase: 92.38% // Head: 92.38% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## master #1176 +/- ##
=======================================
Coverage 92.38% 92.38%
=======================================
Files 97 97
Lines 12250 12250
Branches 2525 2525
=======================================
Hits 11317 11317
Misses 613 613
Partials 320 320 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Seems it likes to exclude .gz data files by default. Not sure if that's a bug or configuration choice. |
|
Thanks, @ofek! I was thinking it might be something along those lines but ran out of energy to fiddle last night. |
@ZviBaratz Would you mind reviewing if you have a couple minutes? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍
Thank you for taking this on. Hatch looks really great, and I haven't had the chance to use it yet. I think we could probably leverage it further down the road to simplify some of our testing and CI workflows, etc.
Sure. Feel free to look into this. My next project along the lines of these PRs will be to purge setuptools' pkg_resources for pkgutil and importlib-resources. |
I've become increasingly frustrated with setuptools across various projects, in large part due to the weird blend of backward compatibility and churn related to trying to support modern standards.
#1133 converted most of our build metadata to backend-agnostic
pyproject.toml
metadata.#1171 converted the rest and replaced the setuptools-specific versioneer with the (surprisingly) backend-agnostic setuptools_scm.
This PR finishes the job by selecting a new backend, and one that actually works better with
setuptools_scm
by separating version calculation from version file writing and both of these from determining which files belong in the sdist or wheel. Even better, you can separately decide what goes in an sdist and what goes in a wheel.See Hatch and hatch-vcs for further details.
This will also let us resolve #1087 in the short term by excluding it from the wheel/installation, while keeping it in the sdist for testing purposes.
Fixes #1087.