Skip to content

Make the repository root usable as a uv project #7090

@bzantium

Description

@bzantium

Problem

The repository root currently has a pyproject.toml, but it only contains Black configuration. That means tools that expect standard project metadata, like Astral uv, do not recognize the checkout as a Python project.

Typical commands fail immediately from the repo root with errors like:

error: No `project` table found in: `/path/to/tensorboard/pyproject.toml`

and editable installs fall back to legacy setuptools discovery from the repo root.

Why this matters

uv is increasingly common for Python dependency management and editable development environments. Even if TensorBoard continues to rely on Bazel for building and running the app itself, it is still useful for contributors to be able to:

  • uv sync from the repo root
  • uv pip install -e .
  • manage a TensorBoard development environment without having to hand-roll a separate requirements install step

Proposed fix

Add standard project metadata at the repo root:

  • a build-system table for setuptools
  • a project table with dynamic version/dependencies
  • setuptools package discovery configuration scoped to tensorboard*
  • an optional extra for tf-nightly, matching the existing development guidance
  • brief documentation for the uv workflow in DEVELOPMENT.md

This would make the repository usable with uv without changing the existing Bazel-based build/run workflow.

Scope

This issue is about making the repository metadata uv-compatible. It is not proposing to replace Bazel or guarantee that uv run tensorboard ... from a source checkout works without the usual generated build artifacts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions