tensorflow / tensorflow/tensorboard
Reduce dependencies and rely on pip extras
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 🙏
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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