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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions