Skip to content

Poetry silently skips installing "extras" that aren't lowercase #4123

@deepyaman

Description

@deepyaman
  • I am on the latest Poetry version.
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

Issue

Even though pip allows/standardizes non-lowercase "extras", Poetry does not. It's especially confusing because it silently ignores any "extras" that don't match. I assume this isn't an issue for a most people, because most places use short, lowercase extras; however, Kedro is an example that advocates for mixed-case extras in its docs. Since pip allows it, it would be great if Poetry did, too (our team got burned on it at least twice!).

One way to reproduce this issue (using Conda):

mkdir issue-demo
cd issue-demo/
conda create -n issue-demo python=3.8 -y
conda activate issue-demo
poetry init  # Compatible Python versions:  3.8
poetry add kedro[pandas.CSVDataSet]

Kedro gets installed, but pandas does not. poetry add kedro[pandas.csvdataset] will fix the installation.

The way I figured out what was happening was thanks to a very helpful explanation from @sdispater in #79 (comment). https://pypi.org/pypi/kedro/json indeed yields all-lowercase "extras" in requires_dist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions