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

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.versioninfo(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