Skip to content

Declare uv extras for the base-cli test contract #405

Description

@codeforester

Goal

Opt the base-cli repository's authoritative test command into the optional uv
dependency groups it already documents, so basectl setup base-cli prepares
the environment required by basectl test base-cli.

Background

base_manifest.yaml declares python.manager: uv and runs
./tests/full_validate.sh. The test suite includes the benchmark gate, whose
comparator contract requires the cyclopts package from the benchmark extra.
The Base enhancement in basefoundry/base#2393 / PR #2394 adds the generic
test.uv_extras manifest contract and carries it through uv setup and test
execution.

Scope

  • Add uv_extras: [dev, typer, quality, benchmark] to base_manifest.yaml.
  • Keep the existing command and dependency declarations unchanged.
  • Verify the manifest remains compatible with the Base setup and test flow once
    the paired Base PR is available.

Acceptance Criteria

  • base_manifest.yaml declares the dev, typer, quality, and
    benchmark uv extras for the test command.
  • basectl setup base-cli selects those extras through the Base manifest
    contract.
  • basectl test base-cli reaches the benchmark comparator contract without
    requiring a separate user install command.
  • Existing base-cli validation remains green.

Validation

  • ./tests/full_validate.sh
  • basectl setup base-cli
  • basectl test base-cli

Non-Goals

  • Do not duplicate benchmark dependencies outside pyproject.toml.
  • Do not change the benchmark implementation or comparator policy.
  • Do not merge the companion PR until the paired Base enhancement is available.

Project Fields

  • Status: Backlog
  • Priority: P2
  • Area: Setup
  • Initiative: pyproject/uv
  • Size: T

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or product improvement

    Type

    No type

    Projects

    • Status
      In Review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions