This repo’s Python packages live under python/ and are managed as a uv workspace.
The workspace is defined in python/pyproject.toml:
- Workspace members:
python/sqlrooms-cli(dist:sqlrooms)python/sqlrooms-server(dist:sqlrooms-server)
Because sqlrooms and sqlrooms-server share the sqlrooms.* namespace (PEP 420), you should use uv from within the workspace so it resolves local members correctly.
From python/:
cd python
uv syncOr from a member directory:
cd python/sqlrooms-cli
uv synccd python/sqlrooms-cli
uv run sqlrooms :memory:cd python/sqlrooms-server
uv run sqlrooms-server --db-path :memory: --port 4000When a workspace member depends on another member (e.g. sqlrooms depends on sqlrooms-server), uv needs an explicit mapping in the depending package’s pyproject.toml:
[tool.uv.sources]
sqlrooms-server = { workspace = true }If you see an error like:
sqlrooms-serveris included as a workspace member, but is missing an entry intool.uv.sources
add the mapping above to the package that declares the dependency.
The Python server serves a bundled static UI from:
python/sqlrooms-cli/sqlrooms/web/static/
Build it from the repo root:
pnpm --filter sqlrooms-cli-app build