tensorflow / tensorflow/tensorboard

Reduce dependencies and rely on pip extras

Open
#6,181 4 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

Installing the tensorboard Python package requires a good deal of dependencies, as you can see from the dependency graph down here. The more dependencies we have:

  • The more bloated our virtual environments become
  • The slower our CI jobs are
  • The bigger are our Docker images that need the Tensorboard
  • The slower is the dependency resolution of Python packages with tools such as poetry, pipenv, pdm, ..

In short, it would be great to reduce the dependencies to the minimum required set to integrated the Tensorboard as flawless as possible in production/well-engineered systems.

Although I don't have enough experience to say which are strongly required dependencies and which are not, I can imagine that google-auth and google-auth-oauthlib aren't strictly required to launch the tensorboard in a minimal fashion. I'm saying this as a happy GCP customer, but I imagine that these libraries are not needed when using the tensorboard locally or on other cloud providers. It would be great to put such dependencies as a pip extra such that users that need this custom advanced functionality can still install it through pip install tensorboard[google] (or any other name) while users that don't need such functionality will get the minimal installation through pip install tensorboard. I'll leave the evaluation of other dependencies to you.

Thank you so much for your attention and for considering this effort 🙏

Screenshot 2023-02-06 at 10 44 43

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

The issue provides no file or test path; start by inspecting the package dependency graph and packaging metadata for the tensorboard installation. Identify dependencies that can be optional, define suitable pip extras, and verify that the base install is minimal while users can still install the advanced functionality through the documented extras.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.