Skip to content

A poetry plugin to pin local folder dependencies to specific versions when building packages.

Notifications You must be signed in to change notification settings

nathanielheitsch/poetry-stickywheel-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poetry StickyWheel Plugin

A poetry plugin to pin version dependencies when building packages with local folder dependencies.

🛠 Installing

poetry self add poetry-stickywheel-plugin

📚 Help

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"

Configuration

You can define a section in your pyproject.toml file named tool.stickywheel, to configure various options.

Dependency constraint strategy

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"

⚖️ Licence

This project is licensed under the MIT licence.

All documentation and images are licenced under the Creative Commons Attribution-ShareAlike 4.0 International License.

📝 Meta

This project uses Semantic Versioning.

About

A poetry plugin to pin local folder dependencies to specific versions when building packages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%