On Fri, Apr 27, 2012 at 11:06 PM, Eric Snow firstname.lastname@example.org wrote: <snip>
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.
- 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.