Pendiente de eliminación en versiones futuras

Las siguientes APIs serán eliminadas en el futuro, aunque no hay fecha de planificación exacta para ello.

  • argparse: Anidar grupos de argumentos y anidar grupos mutuamente excluyentes queda deprecado.

  • builtins:

    • bool(NotImplemented).

    • Generadores: las firmas throw(type, exc, tb) y athrow(type, exc, tb) están obsoletas: utilice throw(exc) y athrow(exc) en su lugar, la firma de argumento único.

    • Actualmente Python acepta literales numéricos seguidos inmediatamente de palabras clave, por ejemplo, 0in x, 1or x, 0if 1else 2. Permite expresiones confusas y ambiguas como [0x1for x in y] (que se puede interpretar como [0x1 for x in y] o [0x1f or x in y]). Se genera una advertencia de sintaxis si el literal numérico va seguido inmediatamente de una de las palabras clave and, else, for, if, in, is y or. En una versión futura, se cambiará a un error de sintaxis. (gh-87999)

    • Compatibilidad con los métodos __index__() e __int__() que retornan un tipo que no es int: estos métodos serán necesarios para retornar una instancia de una subclase estricta de int.

    • Compatibilidad con el método __float__() que retorna una subclase estricta de float: será necesario que estos métodos retornen una instancia de float.

    • Compatibilidad con el método __complex__() que retorna una subclase estricta de complex: será necesario que estos métodos retornen una instancia de complex.

    • Delegación del método int() al __trunc__().

    • Ahora está obsoleto el paso de un número complejo como argumento real o imag en el constructor complex(); solo debe pasarse como un único argumento posicional. (Contribución de Serhiy Storchaka en gh-109218.)

  • calendar: Las constantes calendar.January y calendar.February han quedado obsoletas y han sido reemplazadas por calendar.JANUARY y calendar.FEBRUARY. (Contribución de Prince Roshan en gh-103636.)

  • codeobject.co_lnotab: use el método codeobject.co_lines() en su lugar.

  • datetime:

    • utcnow(): use datetime.datetime.now(tz=datetime.UTC).

    • utcfromtimestamp(): use datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC).

  • gettext: El valor plural tiene que ser un entero.

  • importlib:

    • El parámetro debug_override de cache_from_source() queda obsoleto: use el parámetro optimization en su lugar.

  • importlib.metadata:

    • Interfaz de tupla EntryPoints.

    • None implícito en valores retornados.

  • logging: el método warn() ha quedado obsoleto desde Python 3.3, use warning() en su lugar.

  • mailbox: El uso del modo de entrada y texto StringIO está obsoleto, use BytesIO y el modo binario en su lugar.

  • os: Llamando a os.register_at_fork() en procesos multi-hilos.

  • pydoc.ErrorDuringImport: El valor de tupla para el parámetro exc_info queda obsoleto, use una excepción en su lugar.

  • re: Ahora se aplican reglas más estrictas para las referencias numéricas de grupos y los nombres de grupos en expresiones regulares. Ahora solo se aceptan secuencias de dígitos ASCII como referencia numérica. El nombre de grupo en patrones de bytes y cadenas de reemplazo ahora solo puede contener letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy Storchaka en gh-91760.)

  • Módulos sre_compile, sre_constants y sre_parse.

  • shutil: el parámetro onerror de rmtree() queda obsoleto en Python 3.12; use el parámetro onexc en su lugar.

  • Opciones y protocolos de ssl:

    • ssl.SSLContext sin argumento de protocolo queda obsoleto.

    • ssl.SSLContext: set_npn_protocols() y selected_npn_protocol() quedan obsoletas: use ALPN en su lugar.

    • Opciones ssl.OP_NO_SSL*

    • Opciones ssl.OP_NO_TLS*

    • ssl.PROTOCOL_SSLv3

    • ssl.PROTOCOL_TLS

    • ssl.PROTOCOL_TLSv1

    • ssl.PROTOCOL_TLSv1_1

    • ssl.PROTOCOL_TLSv1_2

    • ssl.TLSVersion.SSLv3

    • ssl.TLSVersion.TLSv1

    • ssl.TLSVersion.TLSv1_1

  • Métodos de threading:

  • typing.Text (gh-92332).

  • unittest.IsolatedAsyncioTestCase: queda deprecado retornar un valor que no sea None en un caso de prueba.

  • Funciones deprecadas de urllib.parse: use urlparse() en su lugar

    • splitattr()

    • splithost()

    • splitnport()

    • splitpasswd()

    • splitport()

    • splitquery()

    • splittag()

    • splittype()

    • splituser()

    • splitvalue()

    • to_bytes()

  • urllib.request: los estilos URLopener y FancyURLopener para invocar solicitudes quedan obsoletos. Use las nuevas funciones y métodos urlopen().

  • wsgiref: SimpleHandler.stdout.write() no debería hacer escrituras parciales.

  • xml.etree.ElementTree: La prueba del valor de verdad de un Element está obsoleta. En una versión futura, siempre retornará True. En su lugar, es preferible realizar pruebas explícitas len(elem) o elem is not None.

  • zipimport.zipimporter.load_module() queda obsoleto: use exec_module() en su lugar.