-
-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't pin importlib-metadata #1438
Conversation
fwiw, it's pretty self-explanatory but here's the error message I get when I try to bump the
We're seeing it because we use shared constraints files that are capping various dependencies, but obviously this would be an issue for a normal package that specified e.g. |
This reverts commit 975a3f4. The breakage has since been fixed and, per the documentation, we only need to use ranges for mccabe, pyflakes, and pycodestyle. Signed-off-by: Stephen Finucane <stephen@that.guru>
20990b6
to
821c3c8
Compare
Hey @stephenfin I believe unpinning this will start emitting deprecation warnings for the API flake8 uses and nudging towards the unstable API intended to replace it. We're not intending to move to that API and the deprecation warnings are going to create maintenance burden for us. (A very small team.) Ignoring the harassment and character assassination we've already received from core python developers for not finding this to be the best path forward. I don't think we'll e lifting this pin anytime soon |
The commit I'm reverting here was very light on detail so I've no idea what I've potentially walked into 😄 All I know is that without this, we can't use flake8 > 4.x in OpenStack-land. Have you any links that you could point me to providing more detail on this issue? It would be nice to find some way to resolve this that works for both the flake8 maintainers and the OpenStack community at large. |
Oh, okay, this is python/importlib_metadata#319. Hmm... |
There are also discussions on discuss.python.org and there have been back channel discussions of Flake8 being unreasonable for taking someone at their word that an API was stable and should be relied upon while saying the new stable API could fly out the window in the next release |
Otherwise dependency resolution breaks when other dependencies specify importlib-metadata >= 4.4, as done by Python-Markdown and many other packages. More details here: PyCQA/flake8#1438
I see this PR is closed as are the tickets that reference the issue -- but what's the resolution for people who want to get work done on projects? When all this work is closed, guidance would be appreciated. (Although it sounds like that's what's being mentioned in the above referenced link as well: no guidance.) Is the recourse to simply downgrade flake8 and pin it to version prior to 4.0.1? |
@jeffnyman there are a few suggestions in #1522 |
In commit 975a3f4, the
importlib-metadata
dependency was pinned to < 4.3. This was apparently to resolve some issues with that package that occured at that time. However, said issues are no longer present and this pinning is preventing packages that haveflake8
as a dependency from using the newer releases ofimportlib-metadata
(in my case, this is preventing us from bumpingflake8
used by the OpenStackhacking
package).This PR proposes removing the cap as it's no longer necessary and is actively causing issues. I'm hoping that this can be included in a future patch release (i.e. 4.0.2) but if not, I guess a future minor release will have to suffice.