[openstack-dev] pep8 pinning in requirements

Thierry Carrez thierry at openstack.org
Wed Mar 20 14:52:31 UTC 2013


Sean Dague wrote:
> I noticed yesterday with the cinder review that pep8 was listed as >=
> 1.3, and not pinned. I think this is a really bad idea.
> 
> After a large amount of pep8 churn at the end of Folsom, we agreed to
> pin pep8 for Grizzly, and it was good. It prevented huge numbers of
> churn patches because a new pep8 minor release came out and now we
> needed an extra space somewhere to pass the scanner.

I've been discussing this with someone recently (Jim, I think). PEP8 is
a great set of rules to enforce common style and I'm very happy that we
use it. However we don't really need that much pep8 *tool* to evolve
over time. Adapting corner-case spacing over a 1MLOC codebase brings us
no real value...

The issue is that the pep8 tool liberally accepts bugfixes to existing
tests, and new interpretations of the established rules, both in the
same point releases. Ideally it would separate the set of rules being
used from the version being used, something like

pep8 --party-like-it-was=2013-01-01

that would let you use latest pep8 version with the rules as they stood
at the beginning of this year.

Alternatively, we could freeze our pep8 version... but the distros tend
to ship with a relatively-current version.

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack



More information about the OpenStack-dev mailing list