Novidades a partir de março de 2024 – Real Python

Embora muitas pessoas tenham ido à caça de ovos de PáscoaA comunidade Python permaneceu ativa até março de 2024. O projeto Python de thread livre atingiu um novo marco, e agora o senhor pode experimentar a desativação do GIL no seu interpretador.

A Python Software Foundation faz um excelente trabalho de suporte à linguagem com recursos limitados. Eles agora anunciaram uma nova posição que dará suporte aos usuários do PyPI. O NumPy é um velho cavalo de batalha no espaço da ciência de dados. A biblioteca está passando por uma grande reforma, e o primeiro release candidate do NumPy 2 já está disponível.

Mergulhe para saber mais sobre as notícias Python mais importantes do mês passado.

Python com threads livres atinge um marco importante

Python’s bloqueio global do interpretador (GIL) faz parte da implementação do CPython desde os primeiros dias. O bloqueio simplifica grande parte do código sob o capô da linguagem, mas também causa alguns problemas com o processamento paralelo.

Ao longo dos anos, houve muitas tentativas para remover o GIL. No entanto, até que o PEP 703 foi aceito pelo conselho diretor no ano passadonenhum foi bem-sucedido.

O PEP descreve como o GIL pode ser removido com base no trabalho experimental realizado pelo Sam Gross. Ele sugere que o que agora é chamado de Python de thread livre é ativado por meio de uma opção de compilação. Com o tempo, espera-se que esse Python de thread livre se torne a versão padrão do CPython, mas, por enquanto, ele é destinado apenas a testes e experimentos.

Quando o Python de thread livre estiver pronto para um público maior, o GIL ainda estará ativado por padrão. O senhor poderá então definir uma variável de ambiente ou adicionar uma opção de linha de comando para experimentar o Python de thread livre:

Essas opções agora foram incluídas na ramificação principal do CPython. Em março de 2024, gh-116167 foi implementado e mesclado. Se quiser experimentar o Python de thread livre, o senhor precisa clonar e compilar o CPython com o --disable-gil passado para o configure.

Embora o senhor possa brincar com o Python de thread livre, esteja ciente de que há muitos problemas conhecidos que ainda estão sendo resolvidos. Estamos animados para acompanhar o desenvolvimento contínuo do projeto.

PSF anuncia uma posição de Especialista em Suporte PyPI

O Índice de pacotes Python (PyPI) hospeda atualmente mais de meio milhão de pacotes. O repositório é o principal centro de distribuição de pacotes Python. É uma parte extremamente importante do ecossistema Python, com mais de um bilhão de downloads todos os dias.

Desde seu lançamento em 2003, o PyPI tem sido administrado principalmente por voluntários, com algum apoio da equipe do Fundação de Software Python (PSF). No ano passado, a PSF contratou Mike Fiedler como um engenheiro de segurança e proteção do PyPI.

Além das preocupações com a segurança, o PSF também lida com a comunicação com os usuários e com os problemas de conta que surgem. Para melhorar esse suporte, eles estão contratando um novo Especialista em suporte ao PyPI Posição.

As principais responsabilidades da nova função serão interagir com os usuários do PyPI e processar solicitações de suporte nas seguintes áreas:

  • Recuperação de conta
  • Solicitações de nomes de projetos
  • Solicitações de organizações
  • Solicitações de limite de projeto
  • Relatórios de malware/spam/abuso
  • Suporte ao usuário final

A posição é 100% remota, e candidatos de todo o mundo são bem-vindos candidatar-se antes do prazo final de 1º de maio de 2024.

Candidato a lançamento do NumPy 2 disponível

NumPy é um pacote fundamental no espaço da ciência de dados. A biblioteca fornece dados em memória N-e muitas funções para operações rápidas nessas matrizes.

É possível trabalhar com matrizes NumPy diretamente, embora muitas vezes o usuário interaja com bibliotecas como pandas, SciPyou NetworkX que dependem do NumPy por trás.

O NumPy tem uma longa e bem-sucedida história e tem sido, sem dúvida, uma razão importante para o sucesso do Python como um análise de dados . Para melhorar muitos dos aspectos internos da biblioteca, o NumPy 2 será incompatível com as versões anteriores.

Muitas das alterações ocorrerão na API C do NumPy, o que normalmente afetará apenas os desenvolvedores de outras bibliotecas. Se o seu código usa apenas arrays NumPy e funções correspondentes, o senhor não notará essas mudanças. Em vez disso, o senhor deve estar ciente de que algumas constantes e funções foram renomeadas e obsoletas.

Por exemplo, o senhor pode expressar o infinito como np.inf, np.Infinity, ou np.PINF. No NumPy 2, somente np.inf estará disponível. Para ajudá-lo a encontrar esses tipos de problemas, o senhor pode usar Ruff e a regra especial do linter NPY201.

Se quiser experimentar a nova versão do NumPy, o senhor pode instalar o candidato a lançamento criando um novo ambiente virtual e executando o seguinte pip comando:

O --pre especifica que o senhor deseja ter disponível a versão prévia mais recente. Em seguida, o senhor pode brincar com a nova versão em seu REPL:

Neste exemplo, o senhor verifica a versão do NumPy e observa que np.Infinity foi removido.

Para saber mais sobre a nova versão, dê uma olhada no guia de migração ou mergulhe no Propostas de aprimoramento do NumPy.

O que vem por aí para o Python?

Todos os novos recursos previstos para o Python 3.13 devem ser implementados antes do primeiro versão beta é divulgado em maio de 2024. É empolgante acompanhar a enxurrada de desenvolvimento que está acontecendo até o prazo final.

O último mês trouxe vários novos desenvolvimentos para o senhor acompanhar. Agora, o senhor pode criar uma versão do Python com thread livre e experimentar a desativação do GIL. Se for usuário do NumPy, poderá testar o primeiro release candidate do NumPy 2 e garantir que ele funcione com seu código.

Qual é a sua notícia favorita sobre Python de março? Deixe-nos saber nos comentários. Feliz Pythoning!