Python 3.15 llega con UTF-8 por defecto y un JIT experimental hasta un 12% más rápido
Python 3.15.0
Python 3.15.0 ya está disponible con 5.643 commits de 1.012 colaboradores. La nueva versión adopta UTF-8 como codificación por defecto, añade los tipos integrados sentinel y frozendict, imports perezosos y descompresión en comprensiones. El compilador JIT experimental mejora el rendimiento un 7-8% en x86-64 Linux y un 11-12% en AArch64 macOS. También incluye Tachyon, un perfilador estadístico de alta frecuencia, y nuevas características de tipado.
Te despiertas en el Startup Foyer, en algún lugar dentro del intérprete, y avanzas hasta el Release Gate. En el camino hay dieciocho acertijos, y cada uno de ellos es una característica real de 3.15 que tienes que usar de verdad.
- simonw
Como mantenedor de un montón de librerías de Python de código abierto, lo que más me gusta de una nueva versión de Python es que significa el fin del soporte para una anterior. En este caso es Python 3.10... ¡lo que significa que mis librerías que pretenden soportar todas las versiones actuales de Python pueden por fin empezar a adoptar características de Python 3.11!
Aquí está el documento "what's new in Python 3.11": https://docs.python.org/3/whatsnew/3.11.html
- ngoldbaum
Mi característica estrella es el nuevo ABI estable "abi3t" para la compilación free-threaded. Aunque Petr Viktorin hizo la mayor parte de la implementación en CPython, yo he estado intentando asegurarme de que el soporte del ecosistema esté listo. Ha sido un proyecto gratificante pero bastante desafiante asegurarme de que todo funcione. Hubo algunas noches largas antes del lanzamiento de la beta1 cuando encontramos un problema específico de Windows que necesitaba una solución.
Estoy especialmente orgulloso de que el proyecto cryptography ya esté distribuyendo un único wheel abi3.abi3t para cada plataforma en Python 3.15 o superior. La compilación con GIL y la compilación free-threaded ahora pueden usar el mismo wheel, porque PyObject es opaco.
Si quieres saber más sobre esto, di una charla en EuroPython este año sobre el ABI de Python y el camino hacia construir y publicar abi3t hoy. Ver https://youtu.be/An8lO29SxXE.
- zahlman
El tarball de código fuente comprimido con XZ es aproximadamente una vez y media más grande que el de 3.14. ¿Qué pasó?
Edición: Indagando un poco, muchas cosas son ligeramente más grandes en general como era de esperar; pero notablemente la carpeta de documentación ha ganado dos GIF animados que suman más de 10MB (que presumiblemente no se comprimen mucho más incluso con XZ) demostrando "tachyon" (que presumiblemente se refiere al nuevo perfilador de muestreo, https://docs.python.org/3.15/library/profiling.sampling.html ). Parecen ser capturas de pantalla de sesiones de terminal, que funcionan lo suficientemente bien para ilustrar cómo se ve una TUI, pero probablemente no son muy informativas sobre cómo usarla. Habría preferido mucho más diagramas SVG basados en capturas de pantalla estáticas.
- wg0
Esto puede molestar a muchos, pero en el futuro, solo veo que sobrevivirán los siguientes lenguajes:
1. Typescript + Javascript
2. Rust.
3. Python - por la ciencia de datos y las aplicaciones interactivas.
Básicamente, todo lo que se pueda reescribir en Rust con o sin IA se reescribirá en Rust con o sin IA en la próxima década.
Casos famosos:
1. Algunos backends en 37 signals de Ruby a Rust.
2. Bun de Zig a Rust.
3. Git en transición.
4. El enlazador Mold de C a Rust.
5. Biome
6. TailwindCSS CLI
Y mucho, mucho más. Incluso el intérprete de Python está en proceso de usar Rust como lenguaje principal si no me equivoco.
[0]. https://github.com/kevincouton/awesome-rust-migrations#1
- kbumsik
> PEP 810: Importaciones perezosas explícitas para tiempos de inicio más rápidos
¡Sí, importaciones perezosas! ¡Por fin!