Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[MNT]: Update minver policy re: GUI toolkits #24693

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

Closed
anntzer opened this issue Dec 11, 2022 · 2 comments · Fixed by #24710
Closed

[MNT]: Update minver policy re: GUI toolkits #24693

anntzer opened this issue Dec 11, 2022 · 2 comments · Fixed by #24710
Milestone

Comments

@anntzer
Copy link
Contributor

anntzer commented Dec 11, 2022

Summary

Currently, the minimum versions policy regarding GUI toolkits states

For system or C-dependencies (FreeType, GUI frameworks, LaTeX, Ghostscript, FFmpeg) support as old as practical. These can be difficult to install for end-users and we want to be usable on as many systems as possible. We will bump these on a case-by-case basis.

I believe that in the case of GUI toolkits, this could be amended to something like "If, for a version of a Python binding, upstream doesn't provide wheels compatible with any Python version we support (and still publishes wheels for later versions) and neither anaconda and conda-forge provide packages compatible with any Python version we support, then that version of the binding can be dropped". (Sorry for the terrible formulation.)

In practice, this refers to old PyQt5 versions (#23968 (comment)): clearly, both upstream and anaconda and conda-forge intend to provide wheels/built packages for PyQt5, but the oldest PyQt5 that has a PyPI wheel compatible with Python 3.8 (our oldest supported version) is 5.10.1, and the oldest PyQt5 that has conda packages compatible with Python 3.8 is 5.9.2 (AFAICT). So we should just drop support for PyQt<5.9.2, on the grounds that it is hard to actually test them and that both upstream and conda don't seem to attach an importance to running that version of PyQt with Python 3.8+.

Note that e.g. the wheels part doesn't apply e.g. to PyGObject, which has never (AFAICT) published wheels (so it's neither easier nor harder to test old versions on a non-conda setup).

Thoughts?

Proposed fix

No response

@timhoffm
Copy link
Member

Sounds reasonable.

@tacaswell
Copy link
Member

This language pre-dates much of the current packaging context, I agree we should pull the GUI frameworks out of this category, but should still be conservative about updating them. How about

We the oldest version of each GUI toolkit supported by the oldest version of Python we support.

and leave "supported by" a bit ambiguous (I do not want to bake details of downstream packaging it too tightly)?

@QuLogic QuLogic added this to the v3.7.0 milestone Dec 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants