poetry-shared-venv-plugin


Namepoetry-shared-venv-plugin JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://github.com/lucasvieirasilva/poetry-shared-venv-plugin
SummaryPoetry Plugin for Bundling Local Dependencies
upload_time2024-11-21 11:28:17
maintainerNone
docs_urlNone
authorLucas Vieira
requires_python<4,>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Poetry Shared Venv Plugin

## SonarCloud Status

[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=bugs)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)

[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)

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.

```toml
[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](CONTRIBUTING.md)

## Change Log

- See our [Change Log](CHANGELOG.md)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/lucasvieirasilva/poetry-shared-venv-plugin",
    "name": "poetry-shared-venv-plugin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Lucas Vieira",
    "author_email": "lucas.vieira94@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/f1/d3/669a5d4f143dcf4ce65958d10a817bc085e67febafa3f85dc0fc461ce6b3/poetry_shared_venv_plugin-0.2.1.tar.gz",
    "platform": null,
    "description": "# Poetry Shared Venv Plugin\n\n## SonarCloud Status\n\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=bugs)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lucasvieirasilva_poetry-shared-venv-plugin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lucasvieirasilva_poetry-shared-venv-plugin)\n\nCentralize your monorepo submodules in a single virtual environment.\n\n## Motivation\n\nIn 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.\n\nThe IDEs also have a hard time switching between them as you navigate through the codebase.\n\nThis plugin aims to solve this problem by centralizing the virtual environments in a single directory, very similar to how `yarn workspaces` works.\n\n## Install\n\n`poetry self add poetry-shared-venv-plugin`\n\n## Usage\n\n1. Create a `pyproject.toml` file in the root of your repository.\n2. Add the `shared-venv` section to the `pyproject.toml` file.\n\n```toml\n[tool.poetry]\nname = \"demo\"\nversion = \"0.1.0\"\ndescription = \"Python workspace\"\nauthors = []\npackage-mode = false\n\n[tool.poetry.dependencies]\npython = \"^3.12\"\n\n[tool.shared-venv]\nenabled = true\nroot = true\ninclude = [\n    \"packages/**\"\n]\n```\n\n3\\. Add your packages to the `packages` directory. (or any other directory you want)\n\nNow, 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.\n\nThe root `poetry.lock` file will be generated in the root of the repository.\n\n## Contributing\n\n- See our [Contributing Guide](CONTRIBUTING.md)\n\n## Change Log\n\n- See our [Change Log](CHANGELOG.md)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Poetry Plugin for Bundling Local Dependencies",
    "version": "0.2.1",
    "project_urls": {
        "Homepage": "https://github.com/lucasvieirasilva/poetry-shared-venv-plugin",
        "Repository": "https://github.com/lucasvieirasilva/poetry-shared-venv-plugin"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6d73587dfea29a2817f6eb8f0e9441efcea9895bb9bec959b68388456eb509a5",
                "md5": "9d23afc4acdc8320d653b46ea8fe6b34",
                "sha256": "c16a7a692ff740cbbde854ee136cc0b579afa86741307b56701eb3209b4514dd"
            },
            "downloads": -1,
            "filename": "poetry_shared_venv_plugin-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9d23afc4acdc8320d653b46ea8fe6b34",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.9",
            "size": 5978,
            "upload_time": "2024-11-21T11:28:16",
            "upload_time_iso_8601": "2024-11-21T11:28:16.615758Z",
            "url": "https://files.pythonhosted.org/packages/6d/73/587dfea29a2817f6eb8f0e9441efcea9895bb9bec959b68388456eb509a5/poetry_shared_venv_plugin-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1d3669a5d4f143dcf4ce65958d10a817bc085e67febafa3f85dc0fc461ce6b3",
                "md5": "95d80c92a84da0bc0a9bd96afd7645d9",
                "sha256": "4ea58b551ea4eac3972c79b0fde17579deeb6ef1f0385d2e0e86fa9098166dae"
            },
            "downloads": -1,
            "filename": "poetry_shared_venv_plugin-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "95d80c92a84da0bc0a9bd96afd7645d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.9",
            "size": 5373,
            "upload_time": "2024-11-21T11:28:17",
            "upload_time_iso_8601": "2024-11-21T11:28:17.455931Z",
            "url": "https://files.pythonhosted.org/packages/f1/d3/669a5d4f143dcf4ce65958d10a817bc085e67febafa3f85dc0fc461ce6b3/poetry_shared_venv_plugin-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-21 11:28:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lucasvieirasilva",
    "github_project": "poetry-shared-venv-plugin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "poetry-shared-venv-plugin"
}
        
Elapsed time: 0.41633s