Hi Nyall, > I'm curious -- what's the pain in a Python update? They usually have > very little harmful impact on python code.
from a syntactical point of view, the language is usually only extended - here, you are right for the most part (except for younger features like the async stuff for instance). However, there are always edge-cases in terms of behavior-changes in the interpreter, unfortunately. >From a standard-library point of view, more and more depredations from the earlier 3.x-days are now gradually being removed while many more features have recently been added to the list of deprecations. Just for example, 3.8 and 3.9: https://docs.python.org/3.9/whatsnew/3.8.html#api-and-feature-removals https://docs.python.org/3.9/whatsnew/3.9.html#removed It's not a lot of stuff, but, from experience, it always requires proper testing and minor fixes. Besides, there is always "this one dependency" which has issues and is not fixed in time. Things become a little more problematic when you are relying on the interpreter's internals in one way of another. Every version sees significant changes in its C API. If QGIS did not have any issues with that recently, then you are lucky. Beyond that, every version - especially recent ones - introduce a lot of changes at the byte-code level. If you are, just as an example, relying on packages like `numba`, which is becoming more and more common, then those byte-code-level changes simply mean that you are unable to move to a younger version of Python for quite a bit of time. As of today, strictly speaking, Python 3.9 has only been a "stable" option for many users for the past 9 days: https://github.com/numba/numba/issues/6345 https://github.com/numba/numba/releases/tag/0.53.0 A clear Python upgrade policy for QGIS would be really helpful, allowing developers to adjust their workflow accordingly. PEP 602 has recently introduced clear rules for Python itself, i.e. an annual schedule. It should be feasible to come up with a simple set of rules when QGIS (and/or OSGeo4W for that matter) switches to a new version of Python. https://www.python.org/dev/peps/pep-0602/ Best regards, Sebastian _______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
