Pending removal in Python 3.16¶
The import system:
Setting
__loader__
on a module while failing to set__spec__.loader
is 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; useinspect.iscoroutinefunction()
instead. (Contributed by Jiahao Li and Kumar Aditya in gh-122875.)asyncio
policy 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()
orasyncio.Runner
with loop_factory to use the desired event loop implementation.For example, to use
asyncio.SelectorEventLoop
on 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,
~True
or~False
has been deprecated since Python 3.12, as it produces surprising and unintuitive results (-2
and-1
). Usenot x
instead for the logical negation of a Boolean. In the rare case that you need the bitwise inversion of the underlying integer, convert toint
explicitly (~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 aValueError
in Python 3.16. (Contributed by Hugo van Kemenade in gh-75223.)
-
The
ExecError
exception has been deprecated since Python 3.14. It has not been used by any function inshutil
since Python 3.4, and is now an alias ofRuntimeError
.
-
The
Class.get_methods
method has been deprecated since Python 3.14.
sys
:The
_enablelegacywindowsfsencoding()
function has been deprecated since Python 3.13. Use thePYTHONLEGACYWINDOWSFSENCODING
environment variable instead.
-
The
sysconfig.expand_makefile_vars()
function has been deprecated since Python 3.14. Use thevars
argument ofsysconfig.get_paths()
instead.
-
The undocumented and unused
TarFile.tarfile
attribute has been deprecated since Python 3.13.