Feature or enhancement
Proposal:
In Python 3.13, mimetypes.guess_file_type() was introduced as the preferred alternative to guess_type() for file paths. The documentation was updated with a .. soft-deprecated:: 3.13 note at the time.
However, the # TODO: Deprecate accepting file paths (in particular path-like objects) comment in Lib/mimetypes.py was never fulfilled, and no actual DeprecationWarning is currently emitted at runtime when paths are passed in.
This proposal is to fulfill the existing # TODO and emit a DeprecationWarning for passing plain strings (with no valid URL scheme), bytes, and os.PathLike objects into mimetypes.guess_type().
This completes the soft-deprecation cycle initiated in Python 3.13.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
This fulfills the existing # TODO added during the introduction of guess_file_type() in Python 3.13:
https://github.com/python/cpython/blob/main/Lib/mimetypes.py#L131
Linked PRs
Feature or enhancement
Proposal:
In Python 3.13,
mimetypes.guess_file_type()was introduced as the preferred alternative toguess_type()for file paths. The documentation was updated with a.. soft-deprecated:: 3.13note at the time.However, the
# TODO: Deprecate accepting file paths (in particular path-like objects)comment inLib/mimetypes.pywas never fulfilled, and no actualDeprecationWarningis currently emitted at runtime when paths are passed in.This proposal is to fulfill the existing
# TODOand emit aDeprecationWarningfor passing plain strings (with no valid URL scheme),bytes, andos.PathLikeobjects intomimetypes.guess_type().This completes the soft-deprecation cycle initiated in Python 3.13.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
This fulfills the existing
# TODOadded during the introduction ofguess_file_type()in Python 3.13:https://github.com/python/cpython/blob/main/Lib/mimetypes.py#L131
Linked PRs