Make the repository root usable as a uv project
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 syncfrom the repo rootuv 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-systemtable for setuptools - a
projecttable 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
uvworkflow inDEVELOPMENT.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.
Source: tensorflow/tensorboard