-
-
Notifications
You must be signed in to change notification settings - Fork 6
feat: Account for python_versions in validate.py #1729
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
base: main
Are you sure you want to change the base?
Conversation
9cef1e0 to
9f61a09
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.
i thought the same back in 2024: #643 (comment)
and proposed a similar but more hacky patch: b2649a1
i now forget / i don't understand anthony's reasoning at the time: "validate must succeed on all installable targets. otherwise we're building a wheel that is installable but broken"
i'll take a closer look at this soon as i think it makes sense to have
edit: hmm so
validating python3.11: dist/objectstore_client-0.0.3-py3-none-any.whl
creating env
=> installing
ERROR: Package 'objectstore-client' requires a different Python: 3.11.10 not in '>=3.13'
Technically this is not correct because a py3-none-any wheel shouldn't have pyproject requires-python >= 3.13. I think that's what anthony was trying to say. It should be py313-none-any.
I'm not sure what that's happening because a pyproject.toml with requires-python >= 3.13 should result in py313-none-any. Maybe it's a craft bug? I don't think we're in the wrong here as it's doing the correct thing - a py3-none-any wheel should be validated on 3.11, 3.12, 3.13 - all installable versions that internal pypi supports.
|
I'm not too familiar with how wheel tags work, but As a random example, see also For the record, another problem we had was that we would have to specify |
validate.pyshould take into account thepython_versionsconstraint for each package it tries to build.If this doesn't happen, then validation will always fail if a package requires a python version that is too new (e.g. 3.13) but the pythons we validate on are lower than that (currently 3.11, 3.12, 3.13).
This was initially added for #1728
We don't need it anymore as we're downgrading the package to be compatible with 3.11.
However it might still be useful if we need this for some other package in the future.