Après des années de développement et de mise au point, la bibliothèque Python Cython accueille aujourd'hui sa très attendue version 3.0. La bibliothèque Cython, reconnue pour sa capacité à compiler le code Python en C, a fait des progrès significatifs dans cette nouvelle version. L'un des principaux objectifs de cette itération est de simplifier l'écriture des extensions C pour Python, en se concentrant soit sur l'amélioration de la vitesse, soit sur la création d'interfaces faciles à utiliser pour les bibliothèques C.
Le dévoilement de Cython 3.0 annonce une version fraîche, plus propre et compatible avec le futur de la bibliothèque. Parmi les principales améliorations, citons l'abandon de Python 2, depuis longtemps dépassé, l'introduction de fonctionnalités jusqu'à la version 3.12 de Python et l'extension de l'utilisation du "mode Python pur".
Ce "mode pur Python" amélioré offre aux développeurs Python la possibilité de tirer parti de leurs outils de linting et d'analyse de code Python existants pour les utiliser dans Cython. Jusqu'à présent, la syntaxe unique de Cython - une fusion de Python et de la syntaxe de déclaration de type C - constituait un défi pour une analyse efficace à l'aide d'outils Python. Cependant, lorsque les développeurs de Cython ont reconnu cette lacune, ils ont introduit une syntaxe alternative qui est entièrement compatible avec la syntaxe conventionnelle de Python, connue par la suite sous le nom de "mode pur Python". La majorité des fonctionnalités de Cython sont désormais disponibles dans ce nouveau mode, y compris la possibilité d'appeler des bibliothèques C externes.
Une autre avancée notable dans le monde de Cython 3.0 réside dans sa prise en charge améliorée de NumPy. La compatibilité de Cython avec NumPy n'est pas nouvelle, mais la version 3.0 va encore plus loin. Les utilisateurs de Cython sont depuis longtemps en mesure d'écrire des fonctions capables d'interagir directement et nativement avec les fonctions et les structures de données de NumPy. Avec Cython 3.0, les développeurs peuvent désormais écrire des ufuncs NumPy en Cython, ce qui simplifie le processus d'application de fonctions numériques à une structure de données NumPy.
Conçu sur la base des principes de développement sans code mis en œuvre par des plateformes telles que AppMasterCython 3.0 a également revu sa structure de base pour être plus en phase avec les mises à jour internes constantes de Python. La nouvelle API limitée de Python, conçue comme un sous-ensemble stable des API de Python spécifiquement adapté aux interactions fréquentes de Cython avec l'interpréteur Python, bénéficie d'un support inceptif mais en expansion dans Cython 3.0.
L'émergence de Cython 3 remonte à la sortie de Python 3.8 il y a trois ans. La finalisation de Cython 3 n'a pas été assortie d'une date contraignante ou d'un objectif de version. Néanmoins, les développeurs de Cython ont maintenant atteint leur objectif de suivre le rythme de l'évolution des fonctionnalités et des changements infrastructurels de Python. L'achèvement de Cython 3 signifie que les modules d'extension Cython conçus pour une version spécifique de Python seront utilisables dans les versions futures de Python sans qu'il soit nécessaire de les recompiler.