[Python-ideas] PEP 4XX: Adding sys.implementation

Chris Rebert pyideas at rebertia.com
Sat Apr 28 08:22:25 CEST 2012

On Fri, Apr 27, 2012 at 11:06 PM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> Proposal
> ========
> We will add ``sys.implementation``, in the ``sys`` module, as a namespace
> to contain implementation-specific information.
> The contents of this namespace will remain fixed during interpreter
> execution and through the course of an implementation version.  This
> ensures behaviors don't change between versions which depend on variables
> in ``sys.implementation``.
> ``sys.implementation`` will be a dictionary, as opposed to any form of
> "named" tuple (a la ``sys.version_info``).  This is partly because it
> doesn't have meaning as a sequence, and partly because it's a potentially
> more variable data structure.
> Open Issues
> ===========
> * What are the long-term objectives for ``sys.implementation``?
>  - possibly pull in implementation details from the main ``sys`` namespace
>    and elsewhere (PEP 3137 lite).
> * Alternatives to the approach dictated by this PEP?
> * ``sys.implementation`` as a proper namespace rather than a dict.  It
>  would be it's own module or an instance of a concrete class.

So, what's the justification for it being a dict rather than an object
with attributes? The PEP merely (sensibly) concludes that it cannot be
considered a sequence.

Relatedly, I find the PEP's use of the term "namespace" in reference
to a dict to be somewhat confusing.


More information about the Python-ideas mailing list