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.
Problem
The repository root currently has a
pyproject.toml, but it only contains Black configuration. That means tools that expect standard project metadata, like Astraluv, do not recognize the checkout as a Python project.Typical commands fail immediately from the repo root with errors like:
and editable installs fall back to legacy setuptools discovery from the repo root.
Why this matters
uvis 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 .Proposed fix
Add standard project metadata at the repo root:
build-systemtable for setuptoolsprojecttable with dynamic version/dependenciestensorboard*tf-nightly, matching the existing development guidanceuvworkflow inDEVELOPMENT.mdThis would make the repository usable with
uvwithout 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 thatuv run tensorboard ...from a source checkout works without the usual generated build artifacts.