Problem: Intellisense tends to break (especially in a clean environment) when running uv sync --all-extras and working on a contrib package.
Proposed Solution: If we add all contrib packages as optional dependencies under a contrib group, when running uv sync --all-extras those packages and all their dependencies will also be installed in the virtual environment, providing Intellisense with the correct dependencies to index.
Cons: This creates circular dependencies (even though the workspace root jumpstarter does not depend on those packages itself, the pyproject.toml does).
This should be fine since uv run runs each package in an isolated virtual environment anyways, so we won't break the purity of any of the tests.
Problem: Intellisense tends to break (especially in a clean environment) when running
uv sync --all-extras
and working on a contrib package.Proposed Solution: If we add all contrib packages as optional dependencies under a
contrib
group, when runninguv sync --all-extras
those packages and all their dependencies will also be installed in the virtual environment, providing Intellisense with the correct dependencies to index.Cons: This creates circular dependencies (even though the workspace root
jumpstarter
does not depend on those packages itself, thepyproject.toml
does).This should be fine since
uv run
runs each package in an isolated virtual environment anyways, so we won't break the purity of any of the tests.