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 "outdated" pip command #235
Conversation
I'm not convinced this should get its own command since it's really just a subset of what we've discussed an "info" command could show. E.g. |
If Could you please point me a link to the discussion about |
The difference between |
Hi dgladkov, thanks for this contribution! In general I agree with jezdez that "outdated" is quite specific functionality to deserve its own top-level command, and I'd rather see it as a flag to a general "show installed packages" command. I'm not sure about the name Re where that discussion happened previously, it was on some tickets I believe, though I can't find them at the moment. The other thing I wonder about this patch is that it kind of makes the assumption that everything is listed on PyPI, even though that's not really true. I often use custom indexes, find-links, etc, and these things don't have an XMLRPC interface. A more flexible "outdated" command would not use XMLRPC, it would actually use PackageFinder to go out looking for updated versions in the same way "install" does, and would thus be able to handle options like --index-url and --find-links. Of course, this would be slower... and in the long run I think we (i.e. Python packaging infrastructure) should be moving away from link-scraping. But in the short run it feels strange to me to introduce new features that make inflexible and incorrect assumptions about how people use pip. At the very least I think this patch should check |
Hi, As a user, I think that this functionality is quite urgent regardless of how it would be called. |
Im with @xster here. Hope this code is merged soon. |
This functionality is very important. Will it be merged anytime soon? :) And I vote for dedicated 'outdated' command. |
Any news on this issue ? |
Nobody cares? |
Hmm, I commented above on why this implementation doesn't seem like the right approach, given that not all packages come from PyPI - haven't seen any response to that yet. |
Yeah, I think we can all agree that the feature is useful, only that the patch needs improvement as mentioned above. |
Hi Carl, I finally managed to upgrade I'm using a "private" method to get the local version installed, as you can see in my comments. I'm willing to update anything necessary so that this gets merged into master. I've been thinking, that instead of using a dictionary Cheers, |
Just wanted to give a quick idea for the command -- let's have a
etc. With the last option we'd be able to deprecate the |
BTW, given the fact that the other commands are imperatives, |
Hi, As I said in the IRC channel. I'm in favor of a I have two concerns about it:
Here is the last version of Thanks, regards |
@maraujop Thanks for the work, regarding your questions:
|
Hi Miguel - your code looks good to me in general. I know find_requirement might be slow, but I think we're better off doing this in stages; I don't want to hold up the feature for some kind of massive performance optimization or reorganization of find_requirement. I agree with @jezdez that the |
btw just for the record the yolk tool has this kind of feature with
|
When should this be merged ? If it will not be merged, please close it. It has been one year since this pull request. But this feature is still not included in pip. 😭 |
@lepture It'll be merged when the code is ready, which takes a while sometimes. |
@maraujop any updates? |
it's been over a year... let's put it in :) |
Sorry, to take so long to answer. I planned back in time to address to move the code to a Cheers, |
this being handled by pull #675 |
This command lists all installed (or only local) packages that can be updated. Basically it performs search for all installed package names in one XML-RPC request, filters only installed packages (there is no way to do exact match) and displays only those, which version differ from the latest version on PyPI.
I don't know why something like that wasn't implemented earlier - and maybe there is a reason for that - but I'm unaware of it:)
Also I added basic test for this command, but I haven't tested --local and --index options yet.