[Python-Dev] Python 3 migration status update across some key subcommunities (was Re: 2.7 is here until 2020, please don't call it a waste.)

Terry Reedy tjreedy at udel.edu
Sun May 31 17:10:31 CEST 2015

On 5/31/2015 10:15 AM, Nick Coghlan wrote:

> The education community started switching a while back - if you watch
> Carrie-Anne Philbin's PyCon UK 2014 keynote, one of her requests for
> the broader Python community was for everyone else to just catch up
> already in order to reduce student's confusion (she phrased it more
> politely than that, though). Educators need to tweak examples and
> exercises to account for a version switch, but that's substantially
> easier than migrating hundreds of thousands or even millions of lines
> of production code.

There is another somewhat invisible but real aspect of migration that 
tends to get ignored: the Python embedded in applications.  LibreOffice 
4.0, for instance, upgraded from 2.6 to 3.3 (around Jan 14 I think). It 
is currently in lo4dir/program/python-core-3.3.1.  I presume unicode 
everywhere pluse the new-in-3.3 efficient, cross-platform unicode 
implementation had something to do with this.  lo4dir/program/wizards is 
a package with subpackages and over 100 .py files.  There are now 
perhaps 20 million LO4 users (and indirect 3.3 users) around the world 
(my guess from Wikipedia article). A few will use the PyUNO bridge for 
scripting.  Installations are from CDs, direct downloads, torrents, and 
linux distributions, but not from pypi.  In a few years, the number 
might grow to 100 million as more LO3 users upgrade and new users start 
with LO4.


> In terms of reducing *barriers* to adoption, after inviting them to
> speak at the 2014 language summit, we spent a fair bit of time with
> the Twisted and Mercurial folks over the past year or so working
> through "What's still missing from Python 3 for your use cases?", as
> Python 3.4 was still missing some features for binary data
> manipulation where we'd been a bit too ruthless in pruning back the
> binary side of things when deciding what counted as text-only
> features, and what was applicable to binary data as well. So 3.5
> brings back binary interpolation, adds a hex() method to bytes, and
> adds binary data support directly to a couple of standard library
> modules (tempfile, difflib).

Perhaps we should investigate whether other apps with embedded but user 
accessible python has migrated and if not, ask why not (dependencies?) 
and whether planned.

Terry Jan Reedy

More information about the Python-Dev mailing list