Python\'s poetry dependency manager allows specifying optional dependencies via command:
$ poetry add --optional redis
Which results in thi
You need to add a tool.poetry.extras
group to your pyproject.toml
if you want to use the -E
flag during install, as described in this section of the docs:
[tool.poetry.extras]
caching = ["redis"]
The key refers to the word that you use with poetry install -E
, and the value is a list of packages that were marked as --optional
when they were added. There currently is no support for making optional packages part of a specific group during their addition, so you have to maintain it by hand.
The reason behind this additional layer of abstraction is that extra-installs usually refer to some additional functionality that is enabled through the installation of one or more dependencies. poetry
simply mimics setuptools' definition of extra-installs here, which might explain why it's so sparingly documented.