Skip to content

[repo] Adopt uv workspaces for extralit-server and extralit (SDK) #210

@JonnyTran

Description

@JonnyTran

Problem

The two Python packages (extralit-server, extralit) have independent pyproject.toml and lockfiles. Shared dev dependencies (ruff, pytest, etc.) drift; cross-package work requires installing each separately.

Approach

  1. Add a root pyproject.toml with [tool.uv.workspace] listing both packages.
  2. Move shared dev dependencies (ruff, mypy, pytest plugins) to a workspace-level dev group.
  3. Single root uv.lock.
  4. Update CONTRIBUTING and AGENTS.md so uv sync at the repo root sets up both packages.
  5. Update CI workflows (extralit.yml, extralit-server.yml) to use the workspace install.

Acceptance criteria

  • uv sync from repo root installs both packages in editable mode.
  • A single uv.lock exists at root; per-package lockfiles removed.
  • All existing CI jobs pass.
  • Docs reflect the new workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    infrastructurerefactorCode refactoring or technical debt improvements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions