git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC/PATCH] CodingGuidelines: add Python code guidelines

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 18, 2013, 20:25 UTC
Message-ID
<7vip6uqlvl.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130118193501.GE31172@serenity.lan>
John Keeping <john@keeping.me.uk> writes:
Show 15 quoted lines
>>> + - Where required libraries do not restrict us to Python 2, we try to
>>> +   also be compatible with Python 3.  In this case we use
>>> +   `from __future__ import unicode_literals` if we need to differentiate
>>> +   Unicode string literals, rather than prefixing Unicode strings with
>>> +   'u' since the latter is not supported in Python versions 3.0 - 3.2.
>> 
>> "In this case"?  In what case?  This document will stay effective
>> long after you settle one particular backward incompatibility Python
>> 3 introduced, namely, the unicode literal issues.  It is just one
>> "example".
>
> I meant "in the case where you are supporting Python 3" but I suspect it
> would be better to move the unicode_literals sentence to a new bullet.
> Or maybe we should just remove it - I haven't seen a case in the current
> Git source where we need Unicode literals.

Yeah, "we support 2.x" and "we suport 3.x" may want to be combined, but listing individual specifics as separate points to watch out for would make it much more readable.

Show 5 quoted lines
> As more people have started trying to support Python 3 in the wild, it
> has become clear that it is often easier to have a single codebase that
> works with both Python 2 and Python 3, and not use 2to3.
>
> It is for this reason that the Unicode literal prefix was reintroduced.

Yes, and from that perspective, placing floor on earlier 3.x makes tons of sense, no?

These early versions may not be unstable in the "this does not behave as specified in the language specification for 3.x" sense, but for the purpose of running scripts meant to be executable by both 2.x and 3.x series, the early 3.x versions are not as good as later versions where Python folks started making deliberate effort to support them.

Previous: John KeepingNext: John Keeping
Message 4 of 7 in “CodingGuidelines: add Python code guidelines”
  1. CodingGuidelines: add Python code guidelinesJohn Keeping, Jan 18, 2013
  2. Junio C HamanoJan 18, 2013
  3. John KeepingJan 18, 2013
  4. Junio C HamanoJan 18, 2013
  5. John KeepingJan 18, 2013
  6. Junio C HamanoJan 18, 2013
  7. John KeepingJan 18, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.