Remoção pendente no Python 3.15

  • http.server.CGIHTTPRequestHandler será removido junto com seu sinalizador relacionado --cgi para python -m http.server. Estava descontinuado e raramente usado. Não existe substituição direta. Qualquer coisa é melhor que CGI para fazer a interface de um servidor web com um manipulador de solicitações.

  • locale: locale.getdefaultlocale() foi descontinuada no Python 3.11 e originalmente planejada para remoção no Python 3.13 (gh-90817), mas a remoção foi adiada para o Python 3.15. Use locale.setlocale(), locale.getencoding() e locale.getlocale() em vez disso. (Contribuição de Hugo van Kemenade em gh-111187.)

  • pathlib: pathlib.PurePath.is_reserved() está descontinuado e programado para remoção no Python 3.15. Do Python 3.13 em diante, use os.path.isreserved para detectar caminhos reservados no Windows.

  • platform: java_ver() está descontinuada e será removida na versão 3.15. Ela não foi testada em grande parte, tinha uma API confusa e só era útil para suporte a Jython. (Contribuição de Nikita Sobolev em gh-116349.)

  • threading: Passar qualquer argumento para threading.RLock() agora está descontinuado. A versão C permite qualquer número de args e kwargs, mas eles são simplesmente ignorados. A versão Python não permite nenhum argumento. Todos os argumentos serão removidos de threading.RLock() no Python 3.15. (Contribuição de Nikita Sobolev em gh-102029.)

  • typing.NamedTuple:

    • A sintaxe de argumento nomeado não documentada para criar classes NamedTuple (NT = NamedTuple("NT", x=int)) está descontinuada e não será permitida em 3.15. Use a sintaxe baseada em classe ou a sintaxe funcional.

  • types:

  • typing:

    • Ao usar a sintaxe funcional para criar uma classe NamedTuple, falhar ao passar um valor para o parâmetro fields (NT = NamedTuple("NT")) está descontinuada. Passar None para o parâmetro fields (NT = NamedTuple("NT", None)) também está descontinuada. Ambos não serão permitidos no Python 3.15. Para criar uma classe NamedTuple com 0 campos, use class NT(NamedTuple): pass ou NT = NamedTuple("NT", []).

  • typing.TypedDict: Ao usar a sintaxe funcional para criar uma classe TypedDict, falhar ao passar um valor para o parâmetro fields (TD = TypedDict("TD")) está descontinuada. Passar None para o parâmetro fields (TD = TypedDict("TD", None)) também está descontinuada. Ambos não serão permitidos no Python 3.15. Para criar uma classe TypedDict com 0 campos, use class TD(TypedDict): pass ou TD = TypedDict("TD", {}).

  • wave: Descontinua os métodos getmark(), setmark() e getmarkers() das classes wave.Wave_read e wave.Wave_write. Eles serão removidos no Python 3.15. (Contribuição de Victor Stinner em gh-105096.)