Added standard imghdr implementation to replace deleted module. #7002
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation for features / changes
The imghdr module was deprecated some time ago and was removed in 3.13.
As discussed in #6964, the final original imghdr implementation contains very little code and has not changed in years, so it should not incur a high maintenance cost.
Technical description of changes
Copied https://github.com/python/cpython/blob/3.12/Lib/imghdr.py into tensorboard/util and removed deprecation warnings.
Replaced all occurrences of
import imghdr
withfrom tensorboard.util import imghdr
.Screenshots of UI changes (or N/A)
N/A
Detailed steps to verify changes work correctly (as executed by you)
I am currently unable to test the changes on my machine.
Testing by anyone interested in these changes would be appreciated.
Alternate designs / implementations considered (or N/A)
Alternatively a new dependency like https://github.com/h2non/filetype.py could be added.
While filetype.py still gets regular updates, tensorboards requirements are met by the unchanged standard implementation.