Initial workspace support (#3705)

Add workspace support when using `-r <path>/pyproject.toml` or `-e
<path>` in the pip interface. It is limited to all-editable
static-metadata workspaces, and tests only include a single main
workspace, ignoring path dependencies in another workspace. This can be
considered the MVP for workspace support: You can create a workspace,
you can install from it, but some options and conveniences are still
missing. I'll file follow-up tickets (support in lockfiles, support path
deps in other workspace, #3625)

There is also support in `uv run`, but we need
https://github.com/astral-sh/uv/issues/3700 first to properly support
using different current projects in the bluejay interface, currently the
resolution and therefore the lockfile depends on the current project.
I'd do this change first (it's big enough already), then #3700, and then
add workspace support properly to bluejay.

Fixes #3404
This commit is contained in:
konsti 2024-05-28 09:41:53 +02:00 committed by GitHub
parent 89cfecea77
commit a89e146107
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 952 additions and 210 deletions

View file

@ -1,7 +1,7 @@
[project]
name = "seeds"
version = "1.0.0"
dependencies = ["boltons==24.0.0"]
dependencies = ["idna==3.6"]
[build-system]
requires = ["hatchling"]

View file

@ -1,4 +1,4 @@
import boltons
import idna
def seeds():

View file

@ -1,7 +1,7 @@
[project]
name = "seeds"
version = "1.0.0"
dependencies = ["boltons==24.0.0"]
dependencies = ["idna==3.6"]
[build-system]
requires = ["hatchling"]

View file

@ -1,4 +1,4 @@
import boltons
import idna
def seeds():