-
-
Notifications
You must be signed in to change notification settings - Fork 285
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
project.version
field is required
#2416
Comments
We also have that error in some of our projects when installing 'pywinpty', since maturin 1.8.0 was released. There is already andfoy/pywinpty#486 open for that. The issues for maturin are IMO, in addition to the question asked by heinrich5991:
|
This one is expected because it was considered as bugfix as the previous behavior was not spec compliant, quoting my comment in #2417 (comment)
The changelog has a link to #2391, I agree it should be improved, PR welcome.
We are following PEP 621, IMHO it's not reasonable for us to document all of the possible options of PEP 621 in the user guide. As for this specific option, I think the solution is clearly indicated in the error message.
I agree, we should definitely document how maturin determintes metadata that are missing from |
Aside from the documentation improvements, should we undo the behavior change and defer it to a 2.0 release? My current feeling is that it's fine to keep and move on, because
But I'm happy to listen to other opinions and find an alternative way to proceed. |
Configuration that built on maturin v1.0.0 should build until v2 if semantic versioning is being followed. Artifacts published since May 2023 depending on build system I see 13 repositories have issues linked against the change right now with usage down lots due to holidays so I don't think this is one or two projects doing something they never should have expected to work. |
Note that they are also unbuildable when building using frontends like |
As @ijl mentioned, this breaks semver. As a user, if I follow the recommended practices with Maturin 1.0, I expect that my sdist continues to build. Maturin 2.0 can (and maybe should) break compatibility here. |
Building pybigtools with maturing 1.8.0 failed with: Caused by: `project.version` field is required in pyproject.toml unless it is present in the `project.dynamic` list `project.dynamic` is already supported since maturin 1.4: PyO3/maturin#2416
Sounds good, if you are intertested in implementing it in #2417 we can get it merged and cut a new patch release soon. Thanks. |
For anyone follows this thread, you are still encouraged to add |
Sounds good, happy to implement that change. 👍 My availability in the next 48 hours is limited, so my proposal would be we ship a patch release with #2417 as-is now and I open a new PR in the coming days, which will then make it into the next release? |
I’m also having limited time today, will try to get to it later tonight. |
…toml` (#2418) This PR implements the changes discussed in #2416 (comment) on top of #2417. Got this done faster than expected this morning, but won't have any time to incorporate feedback for the next ~ two days. Feel free to pull this in and butcher it any way you like. :) Thanks again for your fantastic work on maturin! 🍰 --------- Co-authored-by: messense <[email protected]>
I had a pyproject.toml file without
and it failed with the above error in my CI. What are the backward compatibility guarantees of maturin, is something like this expected?
The text was updated successfully, but these errors were encountered: