Então, o Python 3.14 finalmente foi lançado de verdade ontem. Finalmente removendo o GIL (bloqueio global do interpretador), que permite um código multithreaded muito mais rápido sem lidar com todo o estresse e sobrecarga do multiprocessing ou outras soluções improvisadas. E o uv já o suporta totalmente, o que é impressionante. Mas, de qualquer forma, eu estava um pouco desapontado, porque o principal projeto em que estou trabalhando tem um número enorme de dependências de bibliotecas, e sempre leva muito tempo para obter suporte principal para novas versões do Python, particularmente quando são tão revolucionárias e diferentes como a versão 3.14. Então, eu estava resignado a suportar o inferno do GIL por um futuro indefinido. Mas então pensei, por que não? Deixe-me ver se o codex e o GPT-5 conseguem superar tudo isso. Então, fiz backup das minhas configurações e pedi ao codex para tentar, dando a ele o recente post no blog da equipe uv para começar. Houve alguns grandes obstáculos. Eu uso o PyTorch, que é notoriamente lento para atualizar. E também o pyarrow, que também não suportava 3.14. O mesmo com o cvxpy, o wrapper para a biblioteca de otimização convexa. Ainda assim, eu queria ver o que poderíamos fazer, mesmo que tivéssemos que lidar com o estresse de "vendoring" algumas bibliotecas e construir algumas coisas do zero em C++, Rust, etc., usando os repositórios noturnos mais recentes do GitHub em vez das bibliotecas PyPi habituais. Eu disse ao codex para pesquisar na web, ler páginas de problemas do GitHub, etc., para que não reinventássemos a roda (ou WHL, eu deveria dizer, 🤣) desnecessariamente. Por que não? Eu poderia sempre testar as coisas, e se não conseguisse fazê-las funcionar, então poderia simplesmente voltar para o Python 3.13, certo? Sem danos, sem problemas. Bem, levou muitas horas de trabalho, quase tudo feito pelo codex enquanto eu ocasionalmente verificava com ele, mas ele conseguiu fazer tudo funcionar! Claro, levou várias iterações, e eu tive que ajustar algumas coisas para evitar avisos de depreciação irritantes (alguns dos quais vêm de outras bibliotecas, então eu acabei tendo que filtrá-los). Mas essas bibliotecas vão atualizar com o tempo para melhor suportar 3.14 e eventualmente não vou precisar usar nenhuma dessas soluções irritantes. O codex até sugeriu fazer o upload dos artefatos whl compilados para o R2 da Cloudflare (como o s3) para que pudéssemos reutilizá-los facilmente em diferentes máquinas, e cuidou de todos os detalhes para mim. Eu nunca pensaria em fazer isso por conta própria. Toda vez que havia outra complicação ou problema (por exemplo, o que é mostrado na captura de tela abaixo), o codex simplesmente resolveu e superou tudo como se nada fosse. Se você nunca tentou fazer algo assim nos "velhos tempos ruins" antes dos LLMs, era um trabalho ingrato que poderia consumir dias e depois encontrar um obstáculo, resultando em um total fracasso. Então, era simplesmente arriscado demais até mesmo tentar na maioria das vezes; era melhor esperar 6 ou 9 meses para que as coisas se tornassem simples novamente. De qualquer forma, eu ainda não consigo realmente acreditar que tudo está funcionando! Estamos vivendo no futuro.
Quando você percebe que o tweet provavelmente vai ter um bom desempenho:
1,88K