Pipenv: `outdated` command

Created on 3 Sep 2017  ·  22Comments  ·  Source: pypa/pipenv

I propose to add this command, as in Bundler, to get the list of new versions of locked packages.

Most helpful comment

I found another way to view all outdated packages in particular environment (basically because pipenv update --dry-run didn't work as expected)
Here is the simple command: pipenv run pip list -o

All 22 comments

What's the purpose when there's "update", which just gets you everything up-to-date?

Two purposes, depending on command arguments:
1 See what would be updated without actually updating anything (dry run)

  1. Check that there are new versions not satisfied by constraints (e.g. new major releases)

This would be difficult to implement, but I like the idea!

Our new dependency resolver will make this a lot easier though :)

Let's do it!

@grv87 can you provide an example output of what you'd expect this command to look like?

I'm thinking:

```shell
$ pipenv outdated
Checking [dev-dependencies]...
Flask 0.9.1 is available!
Checking [dependencies]...
pytest 1.2.1 is available!

I like this idea!

Thanks for the quick response!

I have two thoughts about output:

  1. It could be machine-readable (maybe not by default, with special argument)
  2. Human-readable output should be easy copy-pastable to Pipfile

I don't think copy-pastable to a pipfile would be useful — because outdated would only show you packages you have installed that are out of date according to your Pipfile.

Your Pipfile will already be up to date.

I like this idea, too

I want to keep this tool as simple as possible — adding another command is a big deal. I don't want to overwhelm users with options.

perhaps a flag to the existing update command would work.

going with $ pipenv update --dry-run for now

screen shot 2017-09-05 at 5-1 05 21 pm

this was harder than i expected

v5.3.5 released, which contains this.

✨🍰✨

Copy-pastable - that was for goal 2.

E.g. you have in Pipfile

foo = "~= 1.1"

And 2.0 version of foo package has been released. It wouldn't be installed by update, but I want to be aware that it exists and I could update Pipfile to get it.

Anyway, thanks for dry-run, it covers half of use cases.

it's copy-pastable in requirements format currently. we can update that to pipfile format.

i think what we have now is good

I found another way to view all outdated packages in particular environment (basically because pipenv update --dry-run didn't work as expected)
Here is the simple command: pipenv run pip list -o

Was this page helpful?
0 / 5 - 0 ratings