jumpstarter-dev / jumpstarter

http://docs.jumpstarter.dev/
1 stars 2 forks source link

Add contrib packages as optional dependencies #68

Closed kirkbrauer closed 1 week ago

kirkbrauer commented 1 week ago

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.