Poetry plugin for simple mix dependencies from toml option and wrap poetry 'build' command.
Project description
Poetry Dependency Juice Plugin
This plugin simplifies the process of managing dependencies in your Poetry projects by allowing you to mix dependencies from specified groups and wrap the poetry build
command into poetry jbuild
.
It provides an easy way to create custom mixes of dependencies and execute the build command with those mixes.
See difference:
Poetry build:
poetry build && pkginfo -f requires_dist dist/*.whl
output:
Building poetry-plugin-deps-juice (0.0.2)
- Building sdist
- Built poetry_plugin_deps_juice-0.0.2.tar.gz
- Building wheel
- Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl
requires_dist: ['poetry (>=1.8.0,<2.0.0)']
Juice build:
poetry jbuild && pkginfo -f requires_dist dist/*.whl
output:
Mixing juice..
base -> poetry
{'poetry-core': '^1.7.0', 'wheel': '^0.42.0'}
setup -> poetry
{'build': '^1.0.3', 'setuptools': '^69.0.3'}
Building poetry-plugin-deps-juice (0.0.2)
- Building sdist
- Built poetry_plugin_deps_juice-0.0.2.tar.gz
- Building wheel
- Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl
requires_dist: ['build (>=1.0.3,<2.0.0)', 'poetry (>=1.8.0,<2.0.0)', 'poetry-core (>=1.7.0,<2.0.0)', 'setuptools (>=69.0.3,<70.0.0)', 'wheel (>=0.42.0,<0.43.0)']
Usage
-
Installation:
Install the plugin using Poetry:
pip install poetry-plugin-deps-juice
or
pip install --user poetry-plugin-deps-juice
or at least
poetry self add poetry-plugin-deps-juice
-
Define Dependency Mix:
Add your dependency mix to the
pyproject.toml
file under the[tool.poetry-plugin-deps-juice]
section:[tool.poetry-plugin-deps-juice] "fancy" = [ "base", "setup", ]
Here,
poetry
is the custom mix name, andbase
andsetup
are the groups of dependencies to be mixed.To mix into default group
[tool.poetry.dependencies]
use:[tool.poetry-plugin-deps-juice] "poetry" = [ "base", "setup", ]
-
Execute Juice Command:
Now you can use the defined mix with Poetry:
poetry jbuild
This command will mix dependencies from the specified groups and execute the
poetry build
command.This is easier than manually merging all dependencies into one group or adding them manually to the
[tool.poetry.dependencies]
option. When installing the built package using pip, only dependencies listed in the[tool.poetry.dependencies]
option are installed (in current time). This plugin simplifies the process by allowing you to create mixes on-the-fly for the final package. -
List Available Dependency Mixes:
To get a list of available mixes along with their corresponding groups, run:
poetry juice-list
This will display a list of mixes and their associated groups:
"poetry" <- "base" "setup"
Contributing
Feel free to contribute to this plugin by reporting issues, suggesting features, or submitting pull requests on GitHub.
License
This plugin is licensed under the Apache 2. License. See the LICENSE file for details.
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
File details
Details for the file poetry_plugin_deps_juice-0.0.3.tar.gz
.
File metadata
- Download URL: poetry_plugin_deps_juice-0.0.3.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 PyPy/7.3.10 Linux/5.10.194-1-MANJARO-TKG
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf82221558df040a4a542a9b8488458122f884466e519095fb1d303b136b5bb |
|
MD5 | 8c16bdf58266261d4700e55831fa590e |
|
BLAKE2b-256 | b099a1f46b7953c053476df8bd03f7fa72edbf3094af4eff4942e68aa0fda684 |
File details
Details for the file poetry_plugin_deps_juice-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: poetry_plugin_deps_juice-0.0.3-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 PyPy/7.3.10 Linux/5.10.194-1-MANJARO-TKG
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dae95aa9b0723710397da08a3867048544404779722b6fb0a408d0c6404aa3a9 |
|
MD5 | 1bd6f72af05c80018532f12e352d0222 |
|
BLAKE2b-256 | ab6b18f44939d73ae062ede063fd89cd5665ad99b0e7ac7ac42f4d3df6867c05 |