2014-09-26, 12:56
Does Team-Kodi have plans on upgrading Kodi's built-in Python interpreter to support at least Python 3.3 scripts soon?
Perhaps the next Kodi version might be a good point to break backwards compatibility if that is what is required?
Having support for both Python 2.x and Python 3.x might be nice but it should by now not hold new Kodi addons back.
http://wiki.python.org/moin/Python2orPython3
Point is that while it's possible to support both, Python 2.x is legacy, Python 3.x is the present and future of Python.
Python 3.0 was released in 2008, and the final 2.x version 2.7 release came out in mid-2010.
It is now almost the year 2015, maybe time to move on? Rationale here http://legacy.python.org/dev/peps/pep-0387/
Perhaps the next Kodi version might be a good point to break backwards compatibility if that is what is required?
Having support for both Python 2.x and Python 3.x might be nice but it should by now not hold new Kodi addons back.
http://wiki.python.org/moin/Python2orPython3
Quote:Supporting Python 2 and Python 3 in a common code base
The common subset of Python 2.6+ and Python 3.3+ is quite large - the restoration of u prefix support for unicode literals in Python 3.3 means that semantically correct Python 2.6+ code can be made source compatible with Python 3.3+ while still remaining largely idiomatic Python. The main difference is that some things will need to be imported from different places in order to handle the fact they have different names in Python 2 and Python 3.
Accordingly, the six compatibility package ( http://packages.python.org/six/ ) is a key utility for supporting Python 2 and Python 3 in a single code base.
The future compatibility package ( http://python-future.org/index.html ) is still in beta and doesn't support as many versions of Python as six (it only goes back as far as Python 2.6, while six supports Python 2.4), but allows Python 2 compatible code to be written in a style that is closer to idiomatic Python 3 (for example, it includes an actual Python 2 compatible implementation of the Python 3 bytes type, rather than relying on the Python 2.x 8-bit string type that exposes a slightly different API).
Point is that while it's possible to support both, Python 2.x is legacy, Python 3.x is the present and future of Python.
Python 3.0 was released in 2008, and the final 2.x version 2.7 release came out in mid-2010.
It is now almost the year 2015, maybe time to move on? Rationale here http://legacy.python.org/dev/peps/pep-0387/