A poetry plugin to pin version dependencies when building packages with local folder dependencies.
poetry self add poetry-stickywheel-plugin
This plugin will rewrite folder dependencies in your poetry projects dependencies with version dependencies.
The version will be extracted from the dependencies pyproject.toml and applied as a semver match.
Assuming a pyproject.toml
such as:
[tool.poetry]
name = "a"
version = "0.1.0"
description = ""
authors = []
readme = "README.md"
[tool.poetry.dependencies]
b = {path = "../b", develop = true}
and the dependency pyproject.toml
[tool.poetry]
name = "b"
version = "1.2.3"
description = ""
authors = []
readme = "README.md"
the dependency will be rewritten as if it had been defined as:
b = "^1.2.3"
You can define a section in your pyproject.toml
file named tool.stickywheel
, to configure various options.
The default strategy is semver
(described in the "Help" section above), but there are other choices:
strategy | version | result |
---|---|---|
semver |
1.2.3 |
^1.2.3 |
minimum |
1.2.3 |
>=1.2.3 |
exact |
1.2.3 |
1.2.3 |
To override the default, add strategy
to the configuration. For example:
[tool.stickywheel]
strategy = "exact"
This project is licensed under the MIT licence.
All documentation and images are licenced under the Creative Commons Attribution-ShareAlike 4.0 International License.
This project uses Semantic Versioning.