[Cryptography-dev] [Proposal] Intent to deprecate and remove: Python 2.6

Paul Kehrer paul.l.kehrer at gmail.com
Tue Dec 22 23:10:51 EST 2015


Some numbers to inform this conversation. Here are the download counts for cryptography 1.1.2 right now (12 days of downloads):

                            cryptography-1.1.2.tar.gz    2015-12-10      261,761
 cryptography-1.1.2-pp27-none-macosx_10_10_x86_64.whl    2015-12-10           86
           cryptography-1.1.2-cp35-none-win_amd64.whl    2015-12-10          292
               cryptography-1.1.2-cp35-none-win32.whl    2015-12-10          325
  cryptography-1.1.2-cp35-cp35m-macosx_10_6_intel.whl    2015-12-10          481
cryptography-1.1.2-cp35-cp35m-macosx_10_10_x86_64.whl    2015-12-10           50
           cryptography-1.1.2-cp34-none-win_amd64.whl    2015-12-10          289
               cryptography-1.1.2-cp34-none-win32.whl    2015-12-10          347
  cryptography-1.1.2-cp34-cp34m-macosx_10_6_intel.whl    2015-12-10          254
cryptography-1.1.2-cp34-cp34m-macosx_10_10_x86_64.whl    2015-12-10           63
           cryptography-1.1.2-cp33-none-win_amd64.whl    2015-12-10          108
               cryptography-1.1.2-cp33-none-win32.whl    2015-12-10           97
  cryptography-1.1.2-cp33-cp33m-macosx_10_6_intel.whl    2015-12-10           60
cryptography-1.1.2-cp33-cp33m-macosx_10_10_x86_64.whl    2015-12-10           49
           cryptography-1.1.2-cp27-none-win_amd64.whl    2015-12-10        3,941
               cryptography-1.1.2-cp27-none-win32.whl    2015-12-10        2,544
   cryptography-1.1.2-cp27-none-macosx_10_6_intel.whl    2015-12-10        5,834
  cryptography-1.1.2-cp27-none-macosx_10_10_intel.whl    2015-12-10          188
           cryptography-1.1.2-cp26-none-win_amd64.whl    2015-12-10           86
               cryptography-1.1.2-cp26-none-win32.whl    2015-12-10           63
  cryptography-1.1.2-cp26-none-macosx_10_10_intel.whl    2015-12-10           93

PyPI mirrors account for ~50-60 downloads, so you can see that the 2.6 wheel downloads are essentially insignificant. Of course, Python 2.6 users are disproportionately likely to be using a pip that predates wheel support or a tool like easy_install and without significant work parsing the PyPI logs we can't easily see the breakdown from the sdist (which obviously constitutes the vast, vast majority of all downloads).

In the absence of solid numbers on our actual download counts I'd propose fully dropping 2.6 support in a more graduated fashion. At the termination of support (2 releases by this proposal, which would be between March-May of 2016 at our current release rates) we would do the following:

* Remove the 2.6 trove classifier
* Changelog entry announcing that we no longer support 2.6 going forward.
* Remove 2.6 from our jenkins config
* Remove all but one 2.6 builder from our Travis config

Retaining one builder would not be unduly burdensome from a maintenance perspective, but it would allow us to realize almost all of the benefits of removing 2.6 including faster CI and less wheels to upload.

This approach would allow us to remove support quickly, but retain compatibility at least until such time as we decide we want a 2.7+ specific feature (which could terminate the last of 2.6 support at any time). It is possible that a bug would creep in due to not having full support in our test matrix, but we aren't claiming 2.6 compatibility and bugs of that type have been exceedingly rare thus far in the project.

-Paul
On December 22, 2015 at 9:44:12 PM, Alex Gaynor (alex.gaynor at gmail.com) wrote:

Hi all,

I'd like to propose we formally deprecate (in our next release) and remove (in the release thereafter) support for Python2.6.

It is no longer under support from its developers (which makes it a security risk), its use is more or less confined to users of CentOS and RHEL (which means SCL is available to them, and they have a corporate benefactor to complain to if it doesn't work), and its seriously funking with our development workflow because it's so abysmally slow in CI (which means it's annoying me enough to want to solve this).

There is genuinely no justifiable reason to use Python 2.6 anymore, both Django and Twisted have dropped it.

If this would _seriously_ impact you, please reply to this thread. If possible I'd also like to hear from our downstreams.

Cheers,
Alex

--
"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084
_______________________________________________  
Cryptography-dev mailing list  
Cryptography-dev at python.org  
https://mail.python.org/mailman/listinfo/cryptography-dev  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cryptography-dev/attachments/20151222/94367b84/attachment.html>


More information about the Cryptography-dev mailing list