[code-quality] pep8 vs. flake8 incompatibility ...

Peter Danecek Peter.Danecek at ingv.it
Mon Jun 29 20:24:54 CEST 2015


Dear all,

I am writing this mail, after I was directed to it in [1]. I note that the latest released versions of pep8 and flake8 are not compatible. This situation now persists for several month. 

For the point of view of a project providing software packaging this is very unsatisfying. In particular, I am referring to Macports here [2]. Such project usually rely on the assumption that the latest released version tend to provide the best quality and user experience of a given software package, and if this should not be the case in one specific moment in time that problems are resolved timely.

In the case of pep8 vs. flake8, flake8 imposes constraints on the versions of dependencies. While lower bounds are perfectly fine, the upper bounds are problematic, because a perfectly working and well tested port would break by construction at any time later, when one of its dependencies is updated. 

I of cause understand the problems involved with parallel developments, but I would argue that one major goal of any project should be to remain compatible with the most recent versions of its dependency when ever possible or to release once major issues are resolved.

In the concrete case, it looks like the relevant issue [3], which causes the version constraint on pep8 (>=1.5.7,!=1.6.0,!=1.6.1,!=1.6.2) was actually resolved in [4] already some time ago, but this commit actually not released yet. 

On the other hand, constraints on mccabe (>=0.2.1,<0.4) & pyflakes (>=0.8.1,<0.9) are not founded on issues with concretely released software [1], but only hypothetical show-stoppers once these versions are effectively released [5]. I'd argue, such constraints shouldn't be around after all, but introduces only after test failure show evidence of any problem. Anyway, if develops want to insist on them [1], these should be relaxed timely after the release the relevant software. For pyflakes the release of version 0.9.0 dates back to 2015-05-31 [6], the release was acknowledged pretty timely in [7] and fixed in [8], but the change was no release thereafter yet.

So my question is now when this issues with conflicting versions, can be expected to be solved upstream. This is of particular relevance to understand if and how to solve the downstream issue in Macports [2], and if we need to foresee for any interim solutions. 

Thank you very much!
~petr

---

[1] https://gitlab.com/pycqa/flake8/issues/68
[2] https://trac.macports.org/ticket/47429
[3] https://gitlab.com/pycqa/flake8/issues/35
[4] https://github.com/jcrocholl/pep8/commit/435d1cbf995a659a82d1d4b42d25e3459556ef21
[5] https://trac.macports.org/ticket/47429#comment:4
[6] https://pypi.python.org/pypi/pyflakes/0.9.0
[7] https://gitlab.com/pycqa/flake8/issues/61
[8] https://gitlab.com/pycqa/flake8/commit/f2b0bb52e5dc94da2d0dbdbbe655956228bf1f22



More information about the code-quality mailing list