uv/docs/reference
Charlie Marsh eb14056e9c
Add support for virtual projects (#6585)
## Summary

The basic idea here is: any project can either be a package, or not
("virtual").

If a project is virtual, we don't build or install it.

A project is virtual if either of the following are true:

- `tool.uv.virtual = true` is set.
- `[build-system]` is absent.

The concept of "virtual projects" only applies to workspace member right
now; it doesn't apply to `path` dependencies which are treated like
arbitrary Python source trees.

TODOs that should be resolved prior to merging:

- [ ] Documentation
- [ ] How do we reconcile this with "virtual workspace roots" which are
a little different -- they omit `[project]` entirely and don't even have
a name?
- [x] `uv init --virtual` should create a virtual project rather than a
virtual workspace.
- [x] Running `uv sync` in a virtual project after `uv init --virtual`
shows `Audited 0 packages in 0.01ms`, which is awkward. (See:
https://github.com/astral-sh/uv/pull/6588.)

Closes https://github.com/astral-sh/uv/issues/6511.
2024-08-27 13:42:46 -04:00
..
benchmarks.md Add link to benchmarks in documentation (#6257) 2024-08-20 12:54:46 -04:00
cli.md Add support for virtual projects (#6585) 2024-08-27 13:42:46 -04:00
index.md Disable collapsible navigation in the documentation (#5674) 2024-08-16 18:09:21 -05:00
platforms.md Move some documents to relevant sections (#5968) 2024-08-09 17:31:10 +00:00
resolver-internals.md docs: use python to highlight requirements and use more content tabs (#6549) 2024-08-27 06:05:14 -05:00
settings.md Add support for virtual projects (#6585) 2024-08-27 13:42:46 -04:00
versioning.md Move some documents to relevant sections (#5968) 2024-08-09 17:31:10 +00:00