python-poetry / python-poetry/poetry

Add support to `poetry show` for packages that are not installed

Open
#7,731 4 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/show kind/feature status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have searched the FAQ and general documentation and believe that my question is not already covered.

Feature Request

I am working on publishing a package using poetry publish. Before publishing, I would like to check what versions of my package are already available on Pypi, so that I can ensure that I don't overwrite an existing version.

Poetry has some functionality, that lets you interact with Pypi including:

  • poetry show --latest foo (note this only works for packages that you depend on - if you don't have foo in your dependencies the command doesn't work)
  • poetry search foo

It would be awesome if we could use poetry info foo or poetry show foo to get info on packages that are not currently installed (or is the current package).

Ideally, it would have format something like this:

$ poetry info black
 name         : black
 version      : 22.10.0
 description  : The uncompromising code formatter.

dependencies
 - click >=8.0.0
 - mypy-extensions >=0.4.3
 - pathspec >=0.9.0
 - platformdirs >=2
 - tomli >=1.1.0
 - typing-extensions >=3.10.0.0

And maybe a command to list all of the versions:

poetry info black --verisons
22.10.0
22.9.0
22.7.0
...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing poetry show, poetry info, and poetry search command entry points and how they query package metadata. Done should allow package information for a package that is not installed, while the proposed version-listing behavior needs to be scoped and specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.