A Poetry plugin to enable exclusivity between groups
Project description
Poet Plugin
A Poetry plugin to enable exclusivity between groups.
Poet stands for Poetry Exclusivity Toggle (or some other excuse, I did not want a verbose package name and
poet
seemed short and sweet since this plugin changes the internal poetry package during runtime).
Installation
Simply add this plugin as a dependency with pip install poet-plugin
.
Usage
When running poetry install
, the various options (--only
, --without
) are parsed to ensure the dependency resolver
only considers what needs to be considered.
This allows a non-mutually exclusive group definition, so that e.g. the dev
group can refer to
some local path, whereas a prod
group refers to git URI.
Examples
Considering the following pyproject.toml
, depicting a mono-repository:
[tool.poetry.dependencies]
python = ">=3.8,<3.12"
poetry = "^1.2.0"
[tool.poetry.group.prod.dependencies]
foo = {git = "https://github.com/bar/foo", subdirectory = "src/libs/foo"}
[tool.poetry.group.dev.dependencies]
foo = {path = "../../libs/foo", develop = true}
- Install the prod version:
poetry install --without dev
, ORpoetry install --only prod
- Install the dev version:
poetry install --without prod
, ORpoetry install --only dev
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for poet_plugin-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560f5d6d8d69f198a3acb06449f4ec18c079fe22441cb268d4ab0e6edbd3df08 |
|
MD5 | e0f1e215685d0f849df0f11d4fcf607c |
|
BLAKE2b-256 | e83b388ea5c3876c6c02ca15b71642b8e7b3ee63eecf2a9cef64159ee61f1f30 |