Poetry Plugin for Bundling Local Dependencies
Project description
Poetry Shared Venv Plugin
SonarCloud Status
Centralize your monorepo submodules in a single virtual environment.
Motivation
In a monorepo-style project with multiple poetry projects in the same repository, and each project has its own virtual environment, installing dependencies can be a time-consuming task, especially when the dependencies are shared among the projects.
The IDEs also have a hard time switching between them as you navigate through the codebase.
This plugin aims to solve this problem by centralizing the virtual environments in a single directory, very similar to how yarn workspaces works.
Install
poetry self add poetry-shared-venv-plugin
Usage
- Create a
pyproject.tomlfile in the root of your repository. - Add the
shared-venvsection to thepyproject.tomlfile.
[tool.poetry]
name = "demo"
version = "0.1.0"
description = "Python workspace"
authors = []
package-mode = false
[tool.poetry.dependencies]
python = "^3.12"
[tool.shared-venv]
enabled = true
root = true
include = [
"packages/**"
]
3. Add your packages to the packages directory. (or any other directory you want)
Now, when you run the poetry commands to add, update or remove the dependencies, the plugin will install them in the shared virtual environment in the root of the repository, but it will still generate the poetry.lock file in the package directory as usual.
The root poetry.lock file will be generated in the root of the repository.
Contributing
- See our Contributing Guide
Change Log
- See our Change Log
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters