-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Add warning if python classifiers do not match the running version #3640
Conversation
The kind of warning it produces is:
|
088287b
to
4158c5f
Compare
Do we have any feel for how accurate/well-maintained the Python version classifier is, in practice? This could be annoyingly noisy if the data is unreliable. Also, it will produce a flurry of warnings when Python 3.6 is released, in the period before projects release a new version which updates the classifiers to include 3.6. I do see the value, though, and it's hard to see how the classifiers will become any more accurate unless we do something like this. I guess I'm +0 on this, but would like a way to turn it off (for the "new release of Python" situation). |
I know that the zope projects take it pretty seriously, but I also know it takes us awhile to get the dozens of projects updated. We're just recently caught up to 3.5 in git, and most of those haven't been released to PyPI (and usually aren't just for a classifier change IIUC). |
I think the classifiers are badly misused here, and that misuse should not be turned into a formal misuse by placing code functionality upon them. Really the information should be a static dependency - Only reason we've been using them is because they were nice static metadata, whereas historically |
should be taking care of this: |
I guess it is quite unmaintained and one of the goal of this PR would be to show the lack of maintenance: either you remove the classifiers or you keep them up-to-date. And of course, I would also add a |
4158c5f
to
70ec2ee
Compare
I'm fairly concerned about using the classifiers for this purpose. A lot of projects have unmaintained classifiers and I think it needlessly "punishes" (for lack of a better word) these projects. Some of these projects may not have any reason to cut a new release when a new version of Python exists except to add a new classifier... which seems counter productive to me? I think if we want a feature like this (and I like the idea behind the feature!) we'd be better off to expose a way to add the |
On reflection, I agree with @Ivoz and @dstufft - while it would be nice to have some validation that installed packages are supported on the version of Python you are using, the classifiers are not well enough maintained, or flexible enough, to serve this purpose. Changing them from descriptive-only to having an install-time impact (even if it's only a warning) is going to cause more pain than it gains. Instead, I think we need to use a different (new) field. It's possible that Some questions:
I guess the real question is, are projects asking for this capability? While I like the idea in the abstract, if the users don't care, is it going to be worthwhile to add? |
New PR based on |
I'm looking for feedback before starting to add tests :)
cc @pypa/pip-committers
This change is