You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
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)?
Summary
Currently, the minimum versions policy regarding GUI toolkits states
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
The text was updated successfully, but these errors were encountered: