Title: Document "optional components that are commonly included in Python distributions."
Type: Stage:
Components: Documentation Versions:
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Antony.Lee, docs@python, r.david.murray
Priority: normal Keywords:

Created on 2018-05-19 22:00 by Antony.Lee, last changed 2018-05-21 14:05 by r.david.murray.

Messages (2)
msg317140 - (view) Author: Antony Lee (Antony.Lee) * Date: 2018-05-19 22:00
The stdlib docs intro include the following sentences:

    It also describes some of the optional components that are commonly included in Python distributions.

    For Unix-like operating systems Python is normally provided as a collection of packages, so it may be necessary to use the packaging tools provided with the operating system to obtain some or all of the optional components.

However, as far as I can tell, there is no easy way to actually know what parts of the stdlib are "optional".  The _thread module's doc does state "The module is optional.", and the threading module's doc also implies that it is optional ("The dummy_threading module is provided for situations where threading cannot be used because _thread is missing.") (yes, I know support for threadless builds is going away in 3.7; that's irrelevant here.), but even ensurepip's docs don't state that it may be missing (even though I believe(?) that it is indeed removed (and intended to be so) from some linux distribution's Pythons).

A master list of "optional" features would thus be welcome.  Its usefulness is to know what parts of the stdlib we can actually rely on; e.g. in a Matplotlib user noted that bz2 is not present in all Python installs.
msg317233 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2018-05-21 14:05
As I understand it, we don't control or know what that list is, it depends on each distribution's policies.
Date User Action Args
2018-05-21 14:05:19r.david.murraysetnosy: + r.david.murray
messages: + msg317233
2018-05-19 22:00:07Antony.Leecreate