Tras años de exhaustivo desarrollo y puesta a punto, la biblioteca de Python Cython da la bienvenida a su esperada versión 3.0. La biblioteca Cython, conocida por su capacidad para compilar código Python en C, ha dado pasos de gigante en esta nueva versión. Uno de sus principales objetivos en esta iteración es simplificar la escritura de extensiones de C para Python, centrándose en mejorar la velocidad o en crear interfaces fáciles de usar para las bibliotecas de C.
La presentación de Cython 3.0 anuncia una versión fresca, más limpia y compatible con el futuro de la biblioteca. Entre las principales mejoras se incluyen el abandono de Python 2, que hace tiempo que quedó obsoleto, la introducción de funciones hasta la versión 3.12 de Python y la ampliación del uso del "modo Python puro".
Este "modo Python puro" actualizado ofrece a los desarrolladores de Python la opción mejorada de aprovechar sus herramientas existentes de análisis de código y linting de Python para utilizarlas en Cython. Hasta ahora, la singular sintaxis de Cython (una fusión de la sintaxis de declaración de tipos de Python y C) dificultaba el análisis eficaz con herramientas de Python. Sin embargo, como los desarrolladores de Cython reconocieron esta deficiencia, introdujeron una sintaxis alternativa que es totalmente compatible con la sintaxis convencional de Python, conocida posteriormente como el "modo Python puro". La mayoría de las funcionalidades de Cython están ahora disponibles en este nuevo modo, incluida la capacidad de llamar a bibliotecas C externas.
Otro avance destacable en el mundo de Cython 3.0 reside en su mayor compatibilidad con NumPy. La compatibilidad de Cython con NumPy no es nada nuevo, pero la versión 3.0 avanza un paso más. Hace tiempo que los usuarios de Cython pueden escribir funciones capaces de interactuar directa y nativamente con las funciones y estructuras de datos de NumPy. Con Cython 3.0, los desarrolladores pueden ahora escribir NumPy ufuncs en Cython simplificando el proceso de aplicación de funciones numéricas a través de una estructura de datos NumPy.
Diseñado a partir de los principios de desarrollo sin código liderados por plataformas como AppMasterCython 3.0 también ha renovado su estructura central para estar más en sintonía con las constantes actualizaciones internas de Python. La nueva API limitada de Python, diseñada como un subconjunto estable de las API de Python específicamente adaptado a las frecuentes interacciones del intérprete de Python, tiene un soporte inceptivo pero en expansión en Cython 3.0.
La aparición de Cython 3 se remonta al lanzamiento de Python 3.8 hace tres años. La finalización de Cython 3 no tenía fecha vinculante ni objetivo de versión. Sin embargo, los desarrolladores de Cython han cumplido ahora su objetivo de seguir el ritmo de la evolución de la oferta de funciones y los cambios infraestructurales de Python. La finalización de Cython 3 significa que los módulos de extensión de Cython diseñados para una versión específica de Python podrán utilizarse en versiones futuras de Python sin necesidad de recompilación.