uv icon indicating copy to clipboard operation
uv copied to clipboard

Workspace exclusion does not work

Open blinkseb opened this issue 5 months ago • 7 comments

uv platform: Fedora 40 uv version: uv 0.4.5

Hello,

First of all, thanks a lot for uv, it's an awesome tool!

I'm trying to migrate my current project from poetry to uv by leveraging the workspace functionality. I have the following projects structure:

.
├── projects
│   ├── a
│   │   ├── hello.py
│   │   ├── pyproject.toml
│   │   └── README.md
│   ├── b
│   │   ├── ba
│   │   │   ├── hello.py
│   │   │   ├── pyproject.toml
│   │   │   └── README.md
│   │   └── bb
│   │       ├── hello.py
│   │       ├── pyproject.toml
│   │       └── README.md
│   └── c
│       ├── hello.py
│       ├── pyproject.toml
│       └── README.md
├── pyproject.toml

The root pyproject.toml, the workspace root, is defined as:

[project]
name = "project"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.12"
dependencies = []

[tool.uv]
package = false

[tool.uv.workspace]
members = ["projects/*", "projects/b/*"]
exclude = ["projects/b"]

However, uv lock (or basically any uv command) fails this the following error message:

❯ uv lock
error: Workspace member `/home/sbrochet/uv-test/workspace/projects/b` is missing a `pyproject.toml` (matches: `projects/*`)

even if projects/b is explicitly excluded.

I've also tried to remove the members entry projects/b/*, but it fails with the same error message.

Thanks a lot again!

blinkseb avatar Sep 05 '24 06:09 blinkseb