For Python 3.13: A drop-in replacement for imghdr.what()
#178
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.
The Python 3.13 release notes mention
filetype.py
as one of the alternatives forimghdr
which was removed from the Standard Library.Given the discussion in #175, it might be quite helpful to have a drop-in replacement for
imghdr.what()
. It would provide a smooth transition to Py3.13 if developers could confidently replace all instances ofimghdr.what()
withfiletype.what()
-- same args, same results.Current pytest results:
49 passed in 0.04s
test_what_from_file
is 4 testsztest_what_from_file_none
is 0 test -- disabled with the leadingz
test_what_from_string
is 10 teststest_what_from_string_py311
is 2 testsimghdr
only on Python < 3.11test_what_from_string_todo
is 33 tests -- Lots of work to do!filetype
Usage:
imghdr
documentation: https://docs.python.org/3.12/library/imghdr.htmlimghdr
source code: https://github.com/python/cpython/blob/3.12/Lib/imghdr.py