Disclaimer: Written by claude to turn my local projects structure into a short guide.
I also pointed it to mention the discussion from this issue astral-sh/uv#17351, as I was looking for a way to have nested projects with their own uv.lock and be be able to independently uv sync --frozen in the inner projects, while still having the convenience of an outer workspace containing everything.
Another solution that seems ok is to make a sibling meta-package that acts as the workspace, using path sources to include all the sibling packages in one place.
The result:
A uv workspace lets you develop multiple Python packages in one repo with a single