-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Update v2 to use pyproject.toml #7287
Conversation
Codecov Report
@@ Coverage Diff @@
## v2 #7287 +/- ##
==========================================
+ Coverage 93.70% 93.71% +0.01%
==========================================
Files 351 351
Lines 36171 36171
Branches 5202 5202
==========================================
+ Hits 33895 33899 +4
+ Misses 1652 1648 -4
Partials 624 624
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
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. Just put down some initial comments. I plan to take a deeper look between our current sdist/wheel and the ones as part of this PR in the next iteration.
562f5c1
to
b4d17d8
Compare
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.
It's looking good. I'm still diving through it, but just wanted to send some comments back now so we can keep making progress on it while I go through it.
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.
Finished making my pass through all of this. It is looking really good. I just had some more comments to add on to my previous review.
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.
Nice. This looks good. I just had a few more comments. It would also be good if we can expand in the PR description why we chose flit explicitly over setuptools and the benefits we get. Also feel free to squash all of the commits to what the final commit will be.
This change removes both the setup.py and setup.cfg files in favor of using the pyproject.toml. In addition we remove our build dependencies on both seuptools and wheel, instead using flit as our build backend.
2945137
to
d4fae65
Compare
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! 🚢
This PR is to consolidate our build tooling around pyproject.toml. We were running into issues finding a version of setuptools that would work on python 3.8 through 3.10 for the sdist building PR: #7262. We decided to take the opportunity to move away from using setuptools entirely and to re-write our build tooling around flit, while at the same time moving from setup.py/setup.cfg fully over to pyproject.toml.
Setuptools has a lot of legacy functionality, and is constantly deprecating old behaviors and evolving. Because of this it has been the cause of a lot of issues for us in the past as behavior changes out from under us. Flit is new and very minimal. Our goal in the change is to have a stable core to our build system that we won't have to build around so defensively.