Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #106184

The next major Python version will be Python 8

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Victor Stinner <victor.stinner@gmail.com>
Newsgroups comp.lang.python
Subject The next major Python version will be Python 8
Date Thu, 31 Mar 2016 23:40:45 +0200
Lines 62
Message-ID <mailman.282.1459461869.28225.python-list@python.org> (permalink)
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
X-Trace news.uni-berlin.de PjcJzZ05EnqAIef+8S8xugMY+BKAM7AuyrbonDDmfbTQ==
Return-Path <victor.stinner@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.002
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'yet.': 0.03; 'subject:Python': 0.05; '(python': 0.05; 'importerror:': 0.05; 'continuation': 0.07; 'incompatible': 0.07; 'rename': 0.07; 'suffix': 0.07; 'fails.': 0.09; 'filename.': 0.09; 'psf,': 0.09; 'python:': 0.09; 'simplified': 0.09; 'subject:version': 0.09; 'example:': 0.10; 'received:209.85.218': 0.10; 'python': 0.10; 'psf': 0.12; 'alpha': 0.15; "(it's": 0.16; '*no*': 0.16; '2016': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'to:name:python list': 0.16; 'module,': 0.18; 'library': 0.20; 'windows': 0.20; 'killer': 0.22; 'minor': 0.22; 'trying': 0.22; 'code.': 0.23; 'split': 0.23; 'import': 0.24; 'feature': 0.24; 'module': 0.25; 'sponsor': 0.27; 'least': 0.27; 'message- id:@mail.gmail.com': 0.27; 'indentation': 0.29; 'pep': 0.29; 'perl': 0.29; 'subject:next': 0.29; 'code': 0.30; 'becomes': 0.30; 'branch': 0.30; 'option': 0.31; 'announce': 0.32; 'point': 0.33; 'url:python': 0.33; 'legacy': 0.33; 'add': 0.34; 'received:google.com': 0.35; 'propose': 0.35; 'replace': 0.35; 'comment': 0.35; 'community': 0.36; 'but': 0.36; 'should': 0.36; 'url:org': 0.36; 'received:209.85': 0.36; 'possible': 0.36; 'modules': 0.36; 'to:addr:python-list': 0.36; 'two': 0.37; 'missing': 0.37; 'release': 0.37; 'version': 0.38; 'received:209': 0.38; 'hi,': 0.38; 'why': 0.39; 'sure': 0.39; 'does': 0.39; 'to:addr:python.org': 0.40; 'where': 0.40; 'still': 0.40; 'your': 0.60; 'close': 0.61; 'subject:The': 0.61; 'skip:u 10': 0.61; 'default': 0.61; 'side': 0.62; 'more': 0.63; 'effective': 0.63; 'respect': 0.65; 'request.': 0.66; 'beat': 0.66; 'decided': 0.66; 'note:': 0.66; 'reply': 0.68; 'dangerous': 0.70; 'study': 0.70; 'hesitate': 0.71; 'secret': 0.72; '50%': 0.79; 'url:cpython': 0.84; 'url:rev': 0.84; 'victor': 0.84; 'suffer': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=Ou2a656showWfs5ObbBTU9KTgF4HTshWRM0rOMVD1iQ=; b=aTjc3kqLwLGZ9OD8k9+sViA+SyywjLsMbGapwvJ+/283BLO2PJPyrzBf9PvTLvrroi XvNqNcOxtsnL1yiDNfOxA8+hA+rBThiEt0l3NblADc54QAupC+bUeJEkOioQamBvjYfL ycbvFM6sZR5SYX+pHewJ10GR9C6H2mUS4Dh4F2yaTsiL8d+VkX6UJWnzDPOTO6c0WCTw gnRqi5IBplKtka2wpjRD+4+W9D7qZHTP1JdyBUBL1iNsnGFXr6CcjPUPrSJbRp/lhMh+ Tr6xfaNNDWRtWIvl7ycbgx9sSasArFCqsDKEcpHzDQ9dKsjiXBHeepndd+Y2s1y1eH1Y TlmQ==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Ou2a656showWfs5ObbBTU9KTgF4HTshWRM0rOMVD1iQ=; b=Sts5HhdYtACNOIYzBE2ERovCCe3PAMOsmaeEkzG32sKmNk+z9jLlcr+Z6BGEINuOoy Dytm5PBdPyOf4JR54EvEpxa79zhNUk1kpwFOJLOKiCkN2MWeG6NbsB3YHZcXlzDgoF5r dzdt9+igfNlGjMXsq7jULBsW+EyX2OhJiMFV5DX2nu1oy3SEKgHZzvGpMuCDPni2M3YU +pxQ4rq2FUhsxXcSqXfO/L/rdfXZWuYNMUWv5Pf3TDt72nSUsPGpky58zMDsmayveYh+ LY/iwQ69mrtYS1I+wpZRhvZFIGmmQX93C41jdRLxHTS97wBP0oiCfQK7O3yR3ghw8Qsu 93xg==
X-Gm-Message-State AD7BkJJE2kYRCbHCQ/Qv9iaosJonS+VqOSeoyW5vI9Ca6nAMqPDId22D/TSNvAH9URD93Z+9CsS05HriRA49OQ==
X-Received by 10.157.57.131 with SMTP id y3mr9035168otb.169.1459460464706; Thu, 31 Mar 2016 14:41:04 -0700 (PDT)
X-Mailman-Approved-At Thu, 31 Mar 2016 18:04:28 -0400
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.21
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Xref csiph.com comp.lang.python:106184

Show key headers only | View raw


Hi,

Python 3 becomes more and more popular and is close to a dangerous point
where it can become popular that Python 2. The PSF decided that it's
time to elaborate a new secret plan to ensure that Python users suffer
again with a new major release breaking all their legacy code.

The PSF is happy to announce that the new Python release will be
Python 8!

Why the version 8? It's just to be greater than Perl 6 and PHP 7, but
it's also a mnemonic for PEP 8. By the way, each minor release will now
multiply the version by 2. With Python 8 released in 2016 and one
release every two years, we will beat Firefox 44 in 2022 (Python 64) and
Windows 2003 in 2032 (Python 2048).

A major release requires a major change to justify a version bump: the
new killer feature is that it's no longer possible to import a module
which does not respect the PEP 8. It ensures that all your code is pure.
Example:

    $ python8 -c 'import keyword'
    Lib/keyword.py:16:1: E122 continuation line missing indentation or outdented
    Lib/keyword.py:16:1: E265 block comment should start with '# '
    Lib/keyword.py:50:1: E122 continuation line missing indentation or outdented
    (...)
    ImportError: no pep8, no glory

Good news: since *no* module of the current standard library of Python 3
respect the PEP 8, the standard library will be simplified to one
unique module, which is new in Python 8: pep8. The standard library will
move to the Python Cheeseshop (PyPI), to reply to an old and popular
request.


DON'T PANIC! You are still able to import your legacy code into
Python 8, you just have to rename all your modules to add a "_noqa" suffix
to the filename. For example, rename utils.py to utils_noqa.py. A side
effect is that you have to update all imports. For example, replace
"import django" with "import django_noqa". After a study of the PSF,
it's a best option to split again the Python community and make sure
that all users are angry.


The plan is that in 10 years, at least 50% of the 77,000 packages on the
Python cheeseshop will be updated to get the "_noqa" tag. After 2020,
the PSF will start to sponsor trolls to harass users of the legacy
Python 3 to force them to migrate to Python 8.


Python 8 is a work-in-progress (it's still an alpha version), the
standard library was not removed yet. Hopefully, trying to import any
module of the standard library fails.

Don't hesitate to propose more ideas to make Python 8 more incompatible
with Python 3!

Note: The change is already effective in the default branch of Python:
https://hg.python.org/cpython/rev/9aedec2dbc01

Have fun,
Victor

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

The next major Python version will be Python 8 Victor Stinner <victor.stinner@gmail.com> - 2016-03-31 23:40 +0200
  Re: The next major Python version will be Python 8 wxjmfauth@gmail.com - 2016-04-01 08:44 -0700

csiph-web