PyCQA / flake8-import-order

Flake8 plugin that checks import order against various Python Style Guides
GNU Lesser General Public License v3.0
278 stars 72 forks source link

Cap for pycodestyle to avoid un-noticed break #172

Closed gmannos closed 4 years ago

gmannos commented 4 years ago

For pycodestyle new releases , we can manually update to the new pycodestyle by making sure everything is fine.

sigmavirus24 commented 4 years ago

What are we trying to avoid breaking? The versions you've pinned will not resolve to anything with pip

gmannos commented 4 years ago

What are we trying to avoid breaking? The versions you've pinned will not resolve to anything with pip

Openstack was broken due to the latest pycodestyle. pycodestyle is capped in flake8[1] as which is all fine but the latest pycodestyle is pulled by this plugin so caping here can help the future break. and avoid capping pycodestyle on user of flake8-import-order- https://review.opendev.org/#/c/727276/

[1] https://github.com/PyCQA/flake8/blob/f94e0095fd58ddbd6bb16e5c71fb964b74914308/setup.cfg#L45

sigmavirus24 commented 4 years ago

OpenStack forced the constraints model upon pip and should be able to use that to prevent this from forcibly upgrading anything. There's no breakage in this plugin caused by the new version of pycodestyle so it makes no sense ot cap it here.

gmannos commented 4 years ago

OpenStack does cap on flake8 and its plugins but not pycodestyle as pycodestyle is not direct dependency for us. flake8 take care of pycodestyle cap but due to this plugin we are broken and had to cap pycodestyle explicitly. I still prefer that flake8 plugins also use the same model as flake8 so that dep are maintained correctly.

With new pycodestyle you might not have noticed the break but user of this plugin can get broken at any time whenever new checks are released in pycodestyle. OpenStack break is one of the example here.

sigmavirus24 commented 4 years ago

It's impossible for every plugin to maintain its own cap without causing issues with flake8. What you're proposing would drive any user to abandon flake8 altogether