PEP 594 for Python 3.8: Is “batteries included” an outdated model?

The programming language Python 3.8 may be facing some changes. 26 modules are to be removed from the standard library, as demanded in the new proposal PEP 594. This is being discussed animatedly within the community.

Christian Heimes, a developer from the Python Core Team, has proposed PEP 594 for versions starting with Python 3.8. He triggered a lively discussion within the community. The proposed amendment is titled “Removing dead batteries from the standard library”. The standard library should therefore be detoxified.

Criticism of the Standard Library

Python follows a “batteries included” approach: A feature-rich standard library is included with the installation. At the 2019 Python Language Summit, speaker Amber Brown headlined in a controversial session that these batteries are phasing out.

Brown sees a number of problems in the standard library. Among other things, she complains about missing bugfixes and the perpetual support for Python 2, which is almost at the end of life. In the session, the spirits boiled up – Python founder Guido van Rossum is said to have left the room after a discussion with the speaker. But what about Python’s batteries?

Python 3.8 : PEP 594

The discussion about the Standard Library continues, as Python Core Developer Christian Heimes has submitted PEP 594 . The proposal is about removing a whole series of standard library modules.

According to Heimes, the “batteries included” model is now outdated, because Python users would usually install packages anyway. That was finally made easy by PyPI (Python Package Index), then set-up tools and later pip. In addition, many standard library modules are outdated, eg. For example, for the operating system Mac OS 9 from 1999.

In total, according to PEP 594, 26 modules should be gradually removed from the standard library. This would relieve the Core Developer Team as the main objective. The proposal falls under the PEP category standards and refers to the upcoming versions Python 3.8, 3.9 and 3.10. For the older Library Modules, Heimes proposes a Legacy Standard Library, which he has already created on GitHub .

All further information on PEP 594 can be found in the proposal.

Controversial opinions on Python 3.8 for PEP 594

Within the community, the proposal is controversial, be it on Reddit or in the PEP comments. So the user David ( dbsmith.dbs83 ) in the PEP comments argues that smaller modules should remain in the standard library : “Have to disagree with some of these removals. Many of them are very small , and do not cause harm by being included in the standard library. If it is good reason to […], not just because it is old. ”

But the pendulum also beats in the other direction, because even PEP 594 does not go far enough for some.

What are PEPs?

The programming language Python can be transformed by Python Enhancement Proposals (PEPs) . The suggested changes can be submitted by any Python user. If the proposal does not come from any developer in the Python Core Team, a member of the core team must be a sponsor in the spirit of a mentor.

PEPs are divided into three categories:

  1. Standards Track: new features or implementations
  2. Informational: Design topics, general guidelines and information for the community
  3. Process: a Python-related process, for example: Guidelines or procedures

PEP 1 sets out the requirements for submitting and implementing PEPs.

Recent Articles


Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here