tensorflow / tensorflow/tensorboard

Make the repository root usable as a uv project

Open
#7,090 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.2k
Forks
1.7k
Avg merge
4d 22h
Merged PRs (30d)
1

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the repository-root pyproject.toml and the existing development guidance in DEVELOPMENT.md. Add the requested setuptools metadata, package discovery scope, and tf-nightly extra, then document the uv workflow without changing Bazel usage. Verify the result from the repository root with uv sync and uv pip install -e ..

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.