Dopo anni di sviluppo e perfezionamento, la libreria Python Cython dà il benvenuto alla tanto attesa versione 3.0. La libreria Cython, apprezzata per la sua capacità di compilare codice Python in C, ha fatto notevoli passi avanti in questa nuova versione. Tra gli obiettivi principali di questa iterazione c'è quello di semplificare la scrittura di estensioni C per Python, concentrandosi sul miglioramento della velocità o sullo scripting di interfacce facili da usare per le librerie C.
La presentazione di Cython 3.0 annuncia una versione fresca, pulita e compatibile con il futuro della libreria. Tra i principali aggiornamenti vi è l'abbandono dell'obsoleto Python 2, l'introduzione di funzionalità fino alla versione 3.12 di Python e l'espansione dell'uso della "modalità Python pura".
Questa modalità aggiornata offre agli sviluppatori Python la possibilità di sfruttare gli strumenti di linting e di analisi del codice Python esistenti per utilizzarli in Cython. Finora, la sintassi unica di Cython - una fusione della sintassi delle dichiarazioni di tipo Python e C - ha reso difficile un'analisi efficace con gli strumenti Python. Tuttavia, poiché gli sviluppatori di Cython hanno riconosciuto questa lacuna, hanno introdotto una sintassi alternativa pienamente compatibile con la sintassi Python convenzionale, successivamente nota come "modalità Python pura". La maggior parte delle funzionalità di Cython sono ora disponibili in questa nuova modalità, compresa la possibilità di richiamare librerie C esterne.
Un altro progresso degno di nota nel mondo di Cython 3.0 è il supporto migliorato per NumPy. La compatibilità di Cython con NumPy non è una novità, ma la versione 3.0 fa un ulteriore passo avanti. Da tempo gli utenti di Cython possono scrivere funzioni in grado di interagire direttamente e in modo nativo con le funzioni e le strutture dati di NumPy. Con Cython 3.0, gli sviluppatori possono ora scrivere ufunc NumPy in Cython, semplificando il processo di applicazione delle funzioni numeriche a una struttura dati NumPy.
Progettato sulla base dei principi di sviluppo no-code guidati da piattaforme come AppMasterCython 3.0 ha anche rinnovato la sua struttura di base per essere più in sintonia con i costanti aggiornamenti interni di Python. La nuova API limitata di Python, progettata come un sottoinsieme stabile delle API di Python specificamente adattato alle frequenti interazioni dell'interprete Python con Cython, ha un supporto inaspettato ma in espansione in Cython 3.0.
La nascita di Cython 3 risale al rilascio di Python 3.8 tre anni fa. La finalizzazione di Cython 3 non è stata fissata con una data vincolante o un obiettivo di versione. Tuttavia, gli sviluppatori di Cython hanno raggiunto l'obiettivo di tenere il passo con l'evoluzione delle funzionalità e dei cambiamenti infrastrutturali di Python. Il completamento di Cython 3 significa che i moduli di estensione Cython progettati per una specifica versione di Python saranno utilizzabili nelle future versioni di Python senza bisogno di ricompilazioni.