Metadata-Version: 2.1
Name: poetry-workspace-plugin2
Version: 0.5.7
Summary: Multi project workspace plugin for Poetry
Author: Martin Liu
Author-email: martin.xs.liu@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: ipdb (>=0.0.0)
Requires-Dist: poetry (>=1.2.0b3,<2.0.0)
Requires-Dist: poetry-plugin-export (>=1.0.7,<2.0.0)
Description-Content-Type: text/markdown

# Poetry Workspace Plugin

This experimental tool is a [Poetry Plugin](https://python-poetry.org/docs/master/plugins) to support workflows in a multi-project repository.

## Installation

Make sure you are using at least Poetry 1.2.0b3. To install this preview release, run:

```shell
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python - --preview
```

Install this plugin:

```shell
poetry plugin add poetry-workspace-plugin2
```

### Why plugin2?

The [original package](https://pypi.org/project/poetry-workspace-plugin/) was released by [Martin Liu](https://pypi.org/user/martinxsliu/), a former OpenDoor employee. Before he left, he [re-released the project](https://pypi.org/project/poetry-workspace-plugin2/) under the [OpenDoor PyPI account](https://pypi.org/user/opendoor/).

## Workspace

A workspace is a collection of Poetry projects that share a single environment.

## Example config to place at the root

```
[tool.poetry]
name = "code"
version = "0.1.0"
description = "Opendoor Python workspace"
authors = ["Developers <developers@opendoor.com>"]

[[tool.poetry.source]]
name = "pypi-local"
url = "https://opendoor.jfrog.io/opendoor/api/pypi/pip/simple"
secondary = true

[tool.poetry.workspace]
include = [
  "lib/**",
  "workspace/**",
]
exclude = [
  "lib/dev-tools",
  "lib/legacy",
  "lib/template/**",
]

# IMPORTANT: This pyproject.toml file declares dependencies for the shared Python
# workspace. If your app does not belong to the
# workspace (i.e. not included in the `include` section above) then do not add your
# app dependencies here, it will have no effect. Even if your app does belong to
# the workspace, prefer adding app specific dependencies in your app's project. This
# section is reserved for workspace level constraints.
[tool.poetry.dependencies]
python = "~3.9"
virtualenv = "^20.10.0"

[tool.poetry.dev-dependencies]
"opendoor.dev-tools" = {path = "lib/dev-tools", develop = true}
"opendoor.tools" = {path = "tools", develop = true}
```

