Is your feature request related to a problem? Please describe.
As January 1st approaches, support for "Python 2" gets to its end. By deprecating it we can free some machine/time on CI and maybe simplify our "dependency matrix"
Note that this issue is not meant to be executed before the January 1st 2020. The early public issue is just to track it and talk/communicate about.
Describe the solution you'd like
six
from requirements.txttwo quick remarks:
1) dropping support for Python 2 also allows to employ language features for better readability, like dict comprehensions, set literals; new-style classes should be used and might provide leverage for further improvements.
2) why would the support for Python 2.7 be dropped when Python 3.2 and 3.4 is still supported though they reached their eol.
@funkyfuture I agree with the first remark, and for the second, I don't see any problem on dropping that.
The point here is just that dropping 3.2 and 3.4 will just impact the setup.py
and not the compose code itself, like removing all the six
conditions inside the code that would be a fairly big PR
dropping support for Python 2 also allows to employ language features for better readability, like dict comprehensions, set literals; new-style classes should be used and might provide leverage for further improvements.
I'm not arguing against dropping Python 2 support, but all of these language features are already supported on Python 2.
There's probably many places a pure python 3 codebase could offer improvements, but my main motivation here is to reduce the maintenance effort.
and Python 2.7 is EOL and is going to be removed from the next Debian and Ubuntu releases.
Hi,
Remove the announcement banner in README.md
I think it could be worthwhile to leave this as a deprecation notice for some time _after_ the change, so folks with broken python support who come here can know what's up (that this is intentional, etc.)
Otherwise all sounds reasonable to me. :+1:
Edit: Or you could pin this issue. Just something to avoid issue spam and to give clarity to the situation.
Edit 2:
Python 2.7 is EOL and is going to be removed from the next Debian and Ubuntu releases.
Not strictly true. The executable named python
is being removed, by default, from fresh installs of Ubuntu, but upgrades of prior distros are planned to have python2
still installed as the default Python. It is also runnable (for upgrades from earlier Ubuntu versions) as python
, via a symlink. But for fresh Focal installs, one needs to run python2
or python3
explicitly, and there is no program named exactly "python
".
See:
Most helpful comment
There's probably many places a pure python 3 codebase could offer improvements, but my main motivation here is to reduce the maintenance effort.