Skip to main content

Poetry Plugin for Bundling Local Dependencies

Project description

Poetry Shared Venv Plugin

SonarCloud Status

Vulnerabilities Bugs Code Smells Technical Debt Lines of Code

Maintainability Rating Reliability Rating Security Rating Quality Gate 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

  1. Create a pyproject.toml file in the root of your repository.
  2. Add the shared-venv section to the pyproject.toml file.
[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

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

poetry_shared_venv_plugin-0.2.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file poetry_shared_venv_plugin-0.2.1.tar.gz.

File metadata

File hashes

Hashes for poetry_shared_venv_plugin-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4ea58b551ea4eac3972c79b0fde17579deeb6ef1f0385d2e0e86fa9098166dae
MD5 95d80c92a84da0bc0a9bd96afd7645d9
BLAKE2b-256 f1d3669a5d4f143dcf4ce65958d10a817bc085e67febafa3f85dc0fc461ce6b3

See more details on using hashes here.

File details

Details for the file poetry_shared_venv_plugin-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for poetry_shared_venv_plugin-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c16a7a692ff740cbbde854ee136cc0b579afa86741307b56701eb3209b4514dd
MD5 9d23afc4acdc8320d653b46ea8fe6b34
BLAKE2b-256 6d73587dfea29a2817f6eb8f0e9441efcea9895bb9bec959b68388456eb509a5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page