Bump minimal flit version everywhere#680
Bump minimal flit version everywhere#680DimitriPapadopoulos wants to merge 3 commits intopypa:mainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #680 +/- ##
=======================================
Coverage 55.14% 55.14%
=======================================
Files 15 15
Lines 1206 1206
=======================================
Hits 665 665
Misses 541 541 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
4e8b38e to
35e763f
Compare
35e763f to
2c483ce
Compare
agronholm
left a comment
There was a problem hiding this comment.
I'm not convinced yet.
|
I'm not totally convinced myself. Rather, I am convinced that dependency groups are the proper way to define dependencies nowadays, but unsure that it is feasible to avoid specifying the build system both at the top and the bottom of The latter does require more investigation, I'm sorry about that. |
The dependencies in |
|
I understand this is all supposed to work automatically. From the tox documentation:
At least, I understand this should work, as it lets I guess this doesn't work, as it requires the I will test all that more thoroughly, but need to understand what |
This test was contributed to the project after a failed release when setuptools was replaced with flit as the build backand, and the sdist didn't contain the expected files. I wouldn't characterize this as an important test anymore, but I have no good reason to toss it away either. I must ask, why are you so invested in making these little changes to this project? |
|
To be honest, that's because I am fed up with the cacophony that characterizes Python development tools, at odds with the initial simplicity of the language itself. The whole ecosystem reminds of Perl ("There Is More Than One Way To Do It"). That's especially true nowadays when comparing Python to more recent languages like Go and Rust. Consistency and homogeneity, especially in the Python development tools themselves, would probably help everyone package Python software in a clean, standard and maintainable way. |
|
Rust and Go have the advantage of hindsight, and Python had to solve problems these languages never had, and still don't have. That said, I don't see how the changes in this PR help with this at all. These changes only deal with how the wheel project itself is developed, and the |
|
Well, I turned to the build and packaging tools themselves to understand how to build and package my own software, because the documentation was terrible. I found the gradual migration from setup.py to setup.cfg to pyproject.toml perhaps worse than the Python 2 to 3 transition. Any way, it's almost done now, and the documentation has improved much. But I would still expect the development of these tools to be as exemplary as possible, sticking to standards as much as possible. I can revert though, and just bump the flit version 3.8 → 3.11. |
If you find this project not following one of the packaging standards, feel free to link to the document of said standard.
Yes, please do that. |
|
By the way, |
PEP 639 requires version 3.11. This had been forgotten in 15b7577 because the version of flit currently needs to be defined in two different places.
33dee00 to
a3b6958
Compare
|
Done. @henryiii A few additional questions if you don't mind:
|
|
test_sdist.py is completely separate from the rest of the test suite. As it stands now, running just this file doesn't require the package installed (which is why So to answer your first question technically, no, section question, yes. But that's not necessarily the best direction, just the technical correct answer. IMHO, Though, I have pretty much the same sort of a special test file in scikit-build-core, slightly different usage (since I use check-sdist there), so maybe I'm not one to talk. :) |
a3b6958 to
fb310b9
Compare
The default value is the empty list so there is no need to explictly initialize it. Also, that's consistent with the next definition of the next environment. Skip building packages because it's entirely done in a test script.
fb310b9 to
1db9966
Compare
|
I've reverted to bumping flit — just added the couple cleanups discussed above. Moving the sdist check outside the tox tests can be done in a different PR. I'm still unsure what comparing the result of the following commands is about exactly, and whether I understand #501 introduced |
Probably not. |
|
If you want to remove that test, I'm not against it. |
It was only useful to make sure setuptools and flit would create the same sdist, before and after 0de0c1a.
|
Fine. It's now clear to me this was as a one-shot test to make sure setuptools and flit create the same sdist. It should have been removed after testing or merging #501, it's essentially a no-op nowadays. |
|
I've opened a PR to use that instead. I'd recommend not touching test_sdist.py for this PR. |
|
Okay, it seems like all the proposed improvements are in. I added the one missing thing, the minimum tox version requirement in the tox configuration, so we're all set here. Thanks for getting the ball rolling @DimitriPapadopoulos . I'm closing this PR as there's nothing left to be done. |
Basic support for PEP 639 requires flit 3.11.
The minimal version is specified in two different places, only the first one had been updated:
wheel/pyproject.toml
Lines 1 to 2 in 56223f6
wheel/pyproject.toml
Lines 139 to 140 in 56223f6
I wonder whether a single occurrence of the minimal version is possible...
It appears it should be possible to specify all dependencies in a single place. Modernize dependency handling to achieve that.