Quindi Python 3.14 è finalmente uscito per davvero ieri. Finalmente rimuovendo il GIL (global interpreter lock), che consente un codice multithreaded molto più veloce senza dover affrontare tutto il mal di testa e l'overhead del multiprocessing o di altre soluzioni di fortuna. E uv lo supporta già completamente, il che è incredibilmente impressionante. Ma comunque, ero un po' giù di morale, perché il progetto principale su cui sto lavorando ha un numero enorme di dipendenze di librerie, e ci vuole sempre molto tempo per ottenere il supporto principale per le nuove versioni di Python, in particolare quando sono così rivoluzionarie e diverse come la versione 3.14. Quindi ero rassegnato a sopportare l'inferno del GIL per un futuro indefinito. Ma poi ho pensato, perché no? Lasciami vedere se codex e GPT-5 possono affrontare tutto. Così ho fatto un backup delle mie impostazioni e ho chiesto a codex di provare, fornendogli il recente post del blog del team uv per iniziare. Ci sono stati alcuni ostacoli importanti. Uso PyTorch, che è notoriamente lento ad aggiornarsi. E anche pyarrow, che non supportava 3.14. Stessa cosa per cvxpy, il wrapper per la libreria di ottimizzazione convessa. Tuttavia, volevo vedere cosa potevamo fare anche se dovevamo affrontare il mal di testa di "vendoring" alcune librerie e costruire alcune cose da zero in C++, Rust, ecc. utilizzando i più recenti repository notturni di GitHub invece delle solite librerie PyPi. Ho detto a codex di cercare sul web, di leggere le pagine dei problemi di GitHub, ecc., in modo da non reinventare la ruota (o WHL dovrei dire, 🤣) inutilmente. Perché no? Potrei sempre testare le cose, e se non riuscivo a farle funzionare, allora potevo semplicemente tornare a Python 3.13, giusto? Nessun danno, nessun torto. Bene, ci sono volute molte ore di lavoro, quasi tutto fatto da codex mentre io controllavo occasionalmente, ma è riuscito a far funzionare tutto! Certo, ci sono volute molte iterazioni, e ho dovuto modificare alcune cose per evitare fastidiosi avvisi di deprecazione (alcuni dei quali provengono da altre librerie, quindi alla fine ho dovuto filtrarli). Ma quelle librerie si aggiorneranno nel tempo per supportare meglio 3.14 e alla fine non avrò bisogno di usare nessuna di queste fastidiose soluzioni alternative. Codex ha persino suggerito di caricare gli artefatti whl compilati su R2 di Cloudflare (come s3) in modo da poterli riutilizzare facilmente su più macchine, e si è occupato di tutti i dettagli per me. Non avrei mai pensato di farlo da solo. Ogni volta che c'era un'altra complicazione o problema (ad esempio, ciò che è mostrato nello screenshot qui sotto), codex lo ha semplicemente risolto e ha affrontato tutto come se nulla fosse. Se non hai mai provato a fare qualcosa del genere nei "brutti vecchi tempi" prima degli LLM, era un lavoro ingrato che poteva durare giorni e poi incontrare un ostacolo, risultando in un totale fallimento. Quindi era semplicemente troppo rischioso anche solo provare; era meglio aspettare 6 o 9 mesi affinché le cose tornassero semplici. Comunque, non riesco ancora a credere che tutto funzioni! Stiamo vivendo nel futuro.
Quando ti rendi conto che il tweet probabilmente avrà successo:
1,9K