Pending removal in Python 3.16¶
- The import system: - Setting - __loader__on a module while failing to set- __spec__.loaderis deprecated. In Python 3.16,- __loader__will cease to be set or taken into consideration by the import system or the standard library.
 
- 
- The - 'u'format code (- wchar_t) has been deprecated in documentation since Python 3.3 and at runtime since Python 3.13. Use the- 'w'format code (- Py_UCS4) for Unicode characters instead.
 
- 
- asyncio.iscoroutinefunction()is deprecated and will be removed in Python 3.16; use- inspect.iscoroutinefunction()instead. (Contributed by Jiahao Li and Kumar Aditya in gh-122875.)
- asynciopolicy system is deprecated and will be removed in Python 3.16. In particular, the following classes and functions are deprecated:- Users should use - asyncio.run()or- asyncio.Runnerwith loop_factory to use the desired event loop implementation.- For example, to use - asyncio.SelectorEventLoopon Windows:- import asyncio async def main(): ... asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop) - (Contributed by Kumar Aditya in gh-127949.) 
 
- 
- Bitwise inversion on boolean types, - ~Trueor- ~Falsehas been deprecated since Python 3.12, as it produces surprising and unintuitive results (- -2and- -1). Use- not xinstead for the logical negation of a Boolean. In the rare case that you need the bitwise inversion of the underlying integer, convert to- intexplicitly (- ~int(x)).
 
- 
- Calling the Python implementation of - functools.reduce()with function or sequence as keyword arguments has been deprecated since Python 3.14.
 
- 
Support for custom logging handlers with the strm argument is deprecated and scheduled for removal in Python 3.16. Define handlers with the stream argument instead. (Contributed by Mariusz Felisiak in gh-115032.) 
- 
- Valid extensions start with a «.» or are empty for - mimetypes.MimeTypes.add_type(). Undotted extensions are deprecated and will raise a- ValueErrorin Python 3.16. (Contributed by Hugo van Kemenade in gh-75223.)
 
- 
- The - ExecErrorexception has been deprecated since Python 3.14. It has not been used by any function in- shutilsince Python 3.4, and is now an alias of- RuntimeError.
 
- 
- The - Class.get_methodsmethod has been deprecated since Python 3.14.
 
- sys:- The - _enablelegacywindowsfsencoding()function has been deprecated since Python 3.13. Use the- PYTHONLEGACYWINDOWSFSENCODINGenvironment variable instead.
 
- 
- The - sysconfig.expand_makefile_vars()function has been deprecated since Python 3.14. Use the- varsargument of- sysconfig.get_paths()instead.
 
- 
- The undocumented and unused - TarFile.tarfileattribute has been deprecated since Python 3.13.