On Apr 01, 2017, at 05:12 PM, Ghislain Vaillant wrote: >Pasting the relevant quotes below: > >"The 2.x series of Python is due for deprecation and will not be maintained >past 2020 so it is recommended that Python 2 modules are not packaged unless >necessary."
It's true that upstream will almost certainly end bug fix support for Python 2.7 (and thus the 2.x series) in 2020, with the exact date still TBD. It's not unlikely that source-only security fixes will continue upstream for some indeterminate time after that, but it depends on quite a few factors, not the least of which is core developers and an RM still interested in working on Python 2. Keep in mind that 2.7 will be *10 years old* at that point! Distributions with long term support releases will also be continuing to support Python 2.7 in some capacity after that. Ubuntu's 16.04 LTS release will live until 2021. Other distros may have longer commitments. I am hoping that in Ubuntu, we will be able to demote Python 2.7 for the 18.04 LTS release so that we won't be committed to supporting it until 2023, but we'll see about that. As for Debian, I do think we need to plan on how and when we're going to downgrade our commitment to Python 2. Yes, there will probably be Python 2 code bases for effectively forever, but that doesn't necessarily mean Debian's commitment to it also has to be open ended. It's not an easy decision or transition, but I think it's inevitable. Already we are seeing upstream library authors beginning to drop Python 2 support, so I suspect at some point we may have to split source packages if we think we still want to maintain Python 2 and 3 for some packages. >"The idea is to basically stop uploading new Python 2 only libraries, >port things on the critical path, and swap leaf packages to Python 3." I think we should be very strict about leaf packages. If they support Python 3 we should not allow them to enter Debian as Python 2 applications, and all new uploads of leaf applications should use Python 3 if at all possible. For libraries that already support 2 and 3, I don't think we necessarily need to actively drop Python 2 yet. We have great tools, so it's usually just as easy to continue supporting both. I'm on the fence for new library packages, but I suppose if it's also just as easy to support both, we might as well go through NEW for both, since it's easier to drop binary packages than add them. I think we should strongly discourage (or even reject?) new Python 2-only library packages, and I think that's the scenario that the lintian tag is trying to support. >csvkit definitely qualifies as such leaf package, since it is a >collection of command-line tools, not a Python library. Does it support Python 3? If so, then why not make them Python 3 applications? Debian's long term plans for Python 2 would be a great topic to discuss at Debconf. -Barry