python-poetry / python-poetry/poetry

`poetry show --solve` or enhance `--why`

Open
#6,381 7 comments 0 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 documentation and believe that my question is not covered.

Feature Request

Related: https://discord.com/channels/487711540787675139/487711540787675143/1015462018767147030

I want to see what is indirectly constraining my dependency from updating, whether that is my Python version or some other package. An example of usage would be to see why a package isn't being updated to the latest version seen on PyPi.

A format like https://discord.com/channels/487711540787675139/487711540787675143/1015470135663939614 would be nice

poetry show foo --solve:

Project requires foo >=4.2,<69
bar adds constraint <=50, union is now >=4.2,<=50
baz adds constraint >49, union is now 50
Selecting version 50 of package foo because of unified constraint >49,50

or
poetry show numpy --why --solve:

Project requires transformers which requires numpy >= 1.21.0
Latest version of numpy (1.22.2) requires Python >=3.8,<4.0, incompatible with current version (Python >=3.7,<4.0)
numpy 1.21.5 works.
Selecting version 1.21.5 of numpy because it works lol

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 with the poetry show --solve and poetry show numpy --why --solve entry points described in the issue, and review how dependency constraints and package versions are currently presented. Done means the command explains indirect constraints and version selection in a format comparable to the examples, including Python-version incompatibilities.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.