Python 3.15 ya está disponible y Python 3.10 llega a su fin de vida: lo que debes saber
Python 3.15 ya está disponible desde el 9 de octubre de 2026 y llega con novedades que muchos programadores venían pidiendo hace años: importaciones diferidas (lazy imports), UTF-8 como codificación por defecto, un frozendict nativo y un compilador JIT más rápido. Al mismo tiempo, su “abuelo” Python 3.10 llega al final de su vida útil el 31 de octubre: desde esa fecha ya no recibirá parches de seguridad.
Si trabajas con Python en tu empresa, en la universidad o en proyectos personales, esto te interesa por partida doble: hay funciones nuevas para aprovechar y, si todavía usas la 3.10, es momento de planificar la migración.
Lo más destacado de Python 3.15
1. Importaciones diferidas con lazy
La novedad estrella es la nueva palabra clave lazy, que permite declarar un import que solo se ejecuta cuando realmente se usa el módulo. Esto reduce el tiempo de arranque de scripts y herramientas de línea de comandos que cargan librerías pesadas aunque no siempre las necesiten.
lazy import pandas as pd
def reporte():
# pandas se carga recién aquí, la primera vez que se usa
return pd.DataFrame({"ventas": [120, 340, 560]})Hasta ahora, para lograr algo parecido había que mover los import dentro de las funciones o usar trucos con TYPE_CHECKING. Con 3.15, el código queda más limpio.
2. UTF-8 por defecto, en todos los sistemas
Con el PEP 686, Python usa UTF-8 como codificación de texto predeterminada sin importar la configuración regional del sistema operativo. Para quienes programamos en español esto es una gran noticia: se acaban muchos de los clásicos errores con tildes y eñes al abrir archivos en Windows sin indicar encoding="utf-8".
3. Nuevos tipos integrados: frozendict y sentinel
frozendict(PEP 814): un diccionario inmutable que conserva el orden de inserción. Útil para configuraciones, claves de caché o datos que no deben modificarse.sentinel(PEP 661): una forma oficial de crear valores “marcador” para distinguir “no se pasó nada” deNone.
config = frozendict(host="localhost", puerto=5432)
config["puerto"] = 3306 # TypeError: frozendict no se puede modificar4. Desempaquetado dentro de comprensiones
El PEP 798 permite usar * directamente en listas por comprensión, algo muy práctico para “aplanar” listas:
grupos = [[1, 2], [3, 4], [5]]
todos = [*g for g in grupos] # [1, 2, 3, 4, 5]5. Más rendimiento: JIT mejorado y nuevo perfilador
- El compilador JIT experimental fue mejorado. La documentación oficial reporta una ganancia promedio de alrededor de 7–8 % en Linux x86-64, y otras mediciones hablan de hasta 12–13 % en Mac con chips Apple (AArch64).
- La biblioteca estándar incorpora Tachyon (PEP 799), un perfilador estadístico por muestreo para encontrar cuellos de botella sin frenar demasiado el programa.
- Los punteros de marco (frame pointers) vienen activados por defecto (PEP 831), lo que facilita el uso de herramientas de perfilado del sistema.
- Las compilaciones free-threading (sin GIL) ya están cubiertas por la ABI estable (PEP 803), un paso más para que las librerías con extensiones en C las soporten.
Además, como en cada versión, hay mensajes de error más claros y mejoras en la biblioteca estándar y la API de C.
Python 3.10 llega a su fin de vida
Python 3.10 salió en octubre de 2021 y trajo, entre otras cosas, el famoso match/case. Según el calendario oficial (PEP 619), su fin de vida está fijado para el 31 de octubre de 2026. ¿Qué significa esto en la práctica?
- No habrá más parches de seguridad: si se descubre una vulnerabilidad en el intérprete, no se corregirá en la 3.10.
- Las librerías la están abandonando: por ejemplo, PyTorch anunció que la versión 2.14 es la última con soporte para 3.10.
- Las plataformas también: Heroku dejará de soportar Python 3.10 en su buildpack el 6 de enero de 2027, y otros servicios como Retool ya anunciaron su retiro.
Tu código no dejará de funcionar de un día para otro, pero seguir en una versión sin soporte es un riesgo, sobre todo en aplicaciones expuestas a internet.
¿Qué versión de Python usar hoy?
Así queda el panorama a fines de octubre de 2026:
- Python 3.15: la más nueva. Ideal para proyectos nuevos y para probar, aunque conviene esperar a que tus librerías clave publiquen versiones compatibles.
- Python 3.14 y 3.13: opciones maduras y muy seguras para producción.
- Python 3.11 y 3.12: todavía reciben parches de seguridad.
- Python 3.10 o anterior: sin soporte. Toca migrar.
Cómo revisar tu versión y migrar
- Revisa qué versión tienes instalada:
python --version - Crea un entorno virtual nuevo con la versión destino (por ejemplo, 3.13 o 3.14) e instala tus dependencias:
py -3.14 -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt - Ejecuta tus pruebas y revisa las advertencias de funciones obsoletas (deprecation warnings).
- Actualiza también las imágenes de Docker, los pipelines de CI/CD y los servidores donde corre tu aplicación.
Migrar de 3.10 a 3.13 o 3.14 suele ser sencillo, y de paso ganarás rendimiento: las versiones recientes son notablemente más rápidas.
Conclusión
Python 3.15 trae mejoras muy prácticas para el día a día, como los lazy imports, el UTF-8 por defecto y frozendict, y sigue avanzando en rendimiento con el JIT y el modo sin GIL. Mientras tanto, el fin de vida de Python 3.10 es un buen recordatorio para revisar tus proyectos: si todavía dependen de esa versión, este es el momento de actualizar.
Fuentes
- What’s new in Python 3.15 – Documentación oficial de Python
- Python 3.15 – Astral
- Python 3.15 Released With Experimental JIT Compiler – Phoronix
- Python 3.15: Cool New Features for You to Try – Real Python
- Python 3.10 support is being removed from PyTorch 2.15 – PyTorch
- Python 3.10 support is deprecated – Heroku

