[Python-Dev] docs.python.org pointing to Python 3 by default? (original) (raw)

Barry Warsaw barry at python.org
Mon May 21 18:14:54 CEST 2012


On May 21, 2012, at 02:28 PM, Nick Coghlan wrote:

Rather than a new subdomain, I'd prefer to see a discreet "documentation version" CSS widget, similar to that used in the Django docs (see https://docs.djangoproject.com/en/1.4/) that indicated the current displayed version and provided quick links to the 2.7 docs, the stable 3.x docs and the development docs.

I'd be all for this, as long as I can still write chrome/firefox/genericbrowser shortcuts to give me the latest Python 2 or Python 3 library page.

I know plenty of people are keen to push the migration to Python 3 forward as quickly as possible, but this is definitely a case of "make haste slowly". We need to tread carefully or we're going to give existing users an even stronger feeling that we simply don't care about the impact the Python 3 migration is having (or is going to have) on them. We know that we care, but there's still plenty of folks out there that don't realise how deeply rooted the problems are in Python 2's text model and why the Python 3 backwards compatibility break was needed to fix them. They don't get to see the debates that happen on this list - they only get to see the end results of our decisions. Switching the default docs.python.org version to the 3.x series is a move that needs to be advertised well in advance as a courtesy to our users, so that those that need to specifically reference 2.7 have plenty of time to update their links.

Right. I'm just keen on continuing to make progress. I really do think we're not far from a tipping point on Python 3, and I want to keep nudging us over the edge. Roller coasters are scary and fun. :)

Back when Python 3 was first released, we set a target for the migration period of around 5 years. Since the io performance problems in 3.0 meant that 3.1 was the first real production ready release of 3.x, that makes June 2014 the target date for when we would like the following things to be true:

If history is repeated, my guess is that will put us a few months into Python 3.5 development. I think Python 3.3 is shaping up to be a fantastic release, and once it's out we should start thinking about what we want to accomplish in Python 3.4 to achieve the goal of Python 3 dominance.

- all major third party libraries and frameworks support Python 3 (or there are Python 3 forks or functional replacements)

There's already great ongoing work on this. It could use more help of course. I've mentioned Ubuntu's efforts here before, but this is really more about the greater Python universe, and getting Python 3 on the radar of more and more projects.

- Python 3 is the default choice for most new Python projects

When I talk to folks starting new Python projects, I always push for it to begin in Python 3. Of course, the state of their dependencies is always a consideration, but this is becoming more feasible for more projects every day.

- most Python instruction uses Python 3, with Python 2 differences described for those that need to work with legacy code - (less likely, but possible) user-focused distros such as Ubuntu and Fedora have changed their "python" symlink to refer to Python 3

I doubt Debian/Ubuntu will ever switch /usr/bin/python though PEP 394 will probably have the final word.

That's still 2 years away, and should line up fairly nicely with the release of Python 3.4 (assuming the current release cadence is maintained for at least one more version). Key web and networking frameworks such as Django [1], Pyramid [2] and Twisted [3] should also be well supported on 3.x by that point.

Rough estimate, assuming 18 month cadences and an on-time release of 3.3, puts 3.4 final in February of 2014.

final33 = datetime.datetime(day=25, month=8, year=2012) final34 = final33 + datetime.timedelta(days=18 * 30) final34.isoformat() '2014-02-16T00:00:00'

Cheers, -Barry



More information about the Python-Dev mailing list