summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doc/library/sys.rst23
1 files changed, 13 insertions, 10 deletions
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index db5f374e76..55c06ca643 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -619,12 +619,13 @@ always available.
.. data:: implementation
- An object containing the information about the implementation of the
- currently running Python interpreter. Its attributes are the those
- that all Python implementations must implement. They are described
- below.
+ An object containing information about the implementation of the
+ currently running Python interpreter. The following attributes are
+ required to exist in all Python implementations.
- *name* is the implementation's identifier, like ``'cpython'``.
+ *name* is the implementation's identifier, e.g. ``'cpython'``. The actual
+ string is defined by the Python implementation, but it is guaranteed to be
+ lower case.
*version* is a named tuple, in the same format as
:data:`sys.version_info`. It represents the version of the Python
@@ -633,7 +634,7 @@ always available.
interpreter conforms, which ``sys.version_info`` represents. For
example, for PyPy 1.8 ``sys.implementation.version`` might be
``sys.version_info(1, 8, 0, 'final', 0)``, whereas ``sys.version_info``
- would be ``sys.version_info(1, 8, 0, 'final', 0)``. For CPython they
+ would be ``sys.version_info(2, 7, 2, 'final', 0)``. For CPython they
are the same value, since it is the reference implementation.
*hexversion* is the implementation version in hexadecimal format, like
@@ -646,10 +647,12 @@ always available.
``cache_tag`` is set to ``None``, it indicates that module caching should
be disabled.
- Regardless of its contents, :data:`sys.implementation` will not
- change during a run of the interpreter, nor between implementation
- versions. (It may change between Python language versions,
- however.) See `PEP 421` for more information.
+ :data:`sys.implementation` may contain additional attributes specific to
+ the Python implementation. These non-standard attributes must start with
+ an underscore, and are not described here. Regardless of its contents,
+ :data:`sys.implementation` will not change during a run of the interpreter,
+ nor between implementation versions. (It may change between Python
+ language versions, however.) See `PEP 421` for more information.
.. versionadded:: 3.3