[Python-Dev] [Python-checkins] cpython: Eric Snow's implementation of PEP 421.

Brett Cannon brett at python.org
Mon Jun 4 17:39:40 CEST 2012


On Mon, Jun 4, 2012 at 11:10 AM, Barry Warsaw <barry at python.org> wrote:

> Thanks for the second set of eyes, Brett.
>
> On Jun 04, 2012, at 10:16 AM, Brett Cannon wrote:
>
> >> +.. data:: implementation
> >> +
> >> +   An object containing the information about the implementation of the
> >> +   currently running Python interpreter.  Its attributes are the those
> >>
> >
> >"the those" -> "those"
>
> I actually rewrote this section a bit:
>
>   An object containing information about the implementation of the
>   currently running Python interpreter.  The following attributes are
>   required to exist in all Python implementations.
>
> >> +   that all Python implementations must implement.
> >
> >Should you mention that VMs are allowed to add their own attributes that
> >are not listed?
>
> Here's how I rewrote it:
>
>   :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.
>
> >>  They are described
> >> +   below.
> >> +
> >> +   *name* is the implementation's identifier, like ``'cpython'``.
> >
> >Is this guaranteed to be lowercase, or does it simply happen to be
> >lowercase in this instance?
>
> Yes, PEP 421 guarantees them to be lower cased.


>   *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.
>
>
OK, then I would add a test to make sure this happens, like
``self.assertEqual(sys.implementation.name, sys.implement.name.lower())``
if you don't want to bother documenting it to make sure other VMs conform.

-Brett

>I think you meant to say ``sys.version_info(2, 7, 2, 'final', 0)``.
>
> Fixed.
>
> >> +   However, for a structured record type use
> >> :func:`~collections.namedtuple`
> >>
> >
> >What's with the ~?
>
> I'm not sure, but it seems to result in a cross-reference, and I see tildes
> used elsewhere, so I guess it's some reST/docutils magic.  I left this one
> in
> there.
>
> Cheers,
> -Barry
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20120604/d4d00bc1/attachment-0001.html>


More information about the Python-Dev mailing list