Pyrefly: a nova ferramenta da Meta para Python

Neste post te explicamos o que é o Pyrefly e como funciona a nova ferramenta da Meta que vai transformar o jeito de programar em Python.

A Meta, do Facebook e Instagram, lançou o Pyrefly, uma ferramenta de verificação que acelera o desenvolvimento e melhorar a qualidade do seu código. Ele é rápido, eficiente e se integra perfeitamente no terminal ou em editores como o Visual Studio Code.

Quer saber mais? Resumimos suas principais utilidades aqui embaixo!

O que é o Pyrefly e por que ele facilita a tipagem automática no Python?

O Pyrefly é um verificador de tipos estáticos (type checker) para Python, criado para identificar erros antes que o código seja executado. Você pode usar ele em projetos novos ou já existentes, integrado às principais IDEs, como o VSCode.

captura de tela do logotipo do Pyrefly ou da página oficial do projeto, destacando sua associação com a Meta.

A velocidade do Pyrefly é impressionante: testes mostram que ele pode verificar 1,85 milhão de linhas de código por segundo, superando ferramentas como MyPy e Pyre.

Comparação entre Ferramentas

FerramentaTempo para verificar PyTorchTempo para verificar InstagramSuporte a IDETipagem Automática
Pyrefly2,4 segundos13,4 segundosSim (VSCode)Sim
Pyre>100 segundos>100 segundosLimitadoNão
MyPyMais lento que PyreflyMais lento que PyreflyParcialParcial

Por que isso importa? Porque definir tipos em Python melhora a legibilidade, facilita a manutenção e reduz bugs, especialmente em sistemas complexos como APIs ou aplicações corporativas. O Pyrefly torna esse processo mais rápido e acessível, mesmo para quem não está acostumado a usar tipagem estática.

Principais benefícios do Pyrefly:

  • Detecção precoce de erros: Identifica problemas de tipagem durante o desenvolvimento.
  • Melhor legibilidade: Tipos servem como documentação viva do código.
  • Integração com IDEs: Oferece autocomplete e sugestões em tempo real.
  • Suporte a projetos legados: Funciona com códigos sem anotações de tipo.

Como adicionar tipagem automática em arquivos já existentes usando Pyrefly?

Se você tem um projeto Python sem anotações, o Pyrefly pode identificar todos os tipos automaticamente. Por exemplo, imagine um script com variáveis como nome (uma string), lista_arquivos (uma lista de strings) e locais (um dicionário com chaves de string e valores como listas de strings). Sem o Pyrefly, você precisaria definir esses tipos manualmente, o que pode ser trabalhoso.

Com o Pyrefly, o processo é simples:

  1. Comece intalando a extensão do Pyrefly no VSCode:
    • Abra o VSCode, vá até a aba de extensões e pesquise por “Pyrefly”.
    • Clique em “Instalar” para ativar a extensão.
  2. Abra seu arquivo Python no VSCode.
  3. O Pyrefly automaticamente analisa o código e sugere tipos para variáveis, parâmetros de funções e retornos.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Tipagem em tempo real: como o Pyrefly sugere tipos enquanto você escreve o código?

O Pyrefly sugere os tipos em tempo real enquanto você codifica, o que é útil para desenvolvedores que estão criando novos scripts ou expandindo projetos existentes.

Por exemplo, ao abrir um arquivo com uma variável caminho = "diretorio/teste", o Pyrefly indica que caminho é uma str. Para um dicionário como locais = {"chave": ["valor1", "valor2"]}, ele sugere Dict[str, List[str]]. Isso economiza tempo e garante consistência.

Veja como funciona:

  • Exemplo prático: Ao criar uma lista nomes = ["Lira", "Marcos", "Amanda"], o Pyrefly imediatamente identifica que é uma List[str].
  • Dicionários e tipos complexos: Para um dicionário como salarios = {"Lira": 2000, "Marcos": 5000, "Amanda": 7000}, ele sugere Dict[str, int].
  • Integração fluida: As sugestões aparecem como dicas visuais no VSCode, e você pode aceitá-las com um duplo clique, sem interromper seu fluxo de trabalho.
captura de tela do VSCode mostrando as sugestões de tipo do Pyrefly em um arquivo Python).

Essa funcionalidade é ideal para manter a consistência do código e evitar erros desde o início, especialmente em projetos colaborativos onde diferentes desenvolvedores podem interpretar tipos de maneira diferente.

Como o Pyrefly identifica e corrige erros de tipagem no seu código Python?

Erros de tipagem, como tentar concatenar uma string com um número inteiro, são comuns em Python. O Pyrefly ajuda a evitá-los ao sinalizar problemas diretamente no editor, antes mesmo de executar o código. Por exemplo:

  • Cenário: Você escreve print("Salário do Lira é" + salarios["Lira"]) onde salarios["Lira"] é um inteiro (ex.: 2000).
  • Alerta do Pyrefly: Ele destaca o erro e explica que o operador + não suporta concatenar str com int.
  • Solução sugerida: Converta o inteiro em string, como str(salarios["Lira"]).
captura de tela do VSCode mostrando as sugestões de tipo do Pyrefly em um arquivo Python).

Essa verificação em tempo real elimina a necessidade de esperar erros aparecerem na execução ou em pipelines de CI/CD, economizando tempo e reduzindo frustrações.

Verificação rápida: como checar tipagem em projetos Python inteiros usando o terminal?

Para projetos grandes com múltiplos arquivos, o Pyrefly permite verificar a tipagem de todo o codebase pelo terminal, o que é ideal para integração em pipelines de CI/CD ou para revisar projetos legados.

Siga estes passos:

  1. Instale o Pyrefly via pip:pip install pyrefly
  2. Inicialize o Pyrefly:pyrefly init Isso cria um arquivo de configuração (pyproject.toml ou pyrefly.toml) e escaneia o projeto.
  3. Execute a verificação:pyrefly check O comando analisa todos os arquivos Python no projeto, listando erros de tipagem com detalhes, como o arquivo, a linha e a descrição do problema.

Por exemplo, ao rodar pyrefly check, você pode receber uma mensagem como: “Erro na linha 10 de main.py: não é possível concatenar str com int”. O processo é rápido (ex.: 0,18 segundos para um projeto pequeno) e permite tratar erros individualmente ou suprimi-los com a opção --suppress-errors.

Conclusão: Vale a pena usar o Pyrefly no Python?

O Pyrefly é uma ferramenta que melhora eficiência do Pythjon através da análise de tipagem estática. Sua velocidade, integração com VSCode e capacidade de inferir tipos automaticamente o tornam ideal para projetos de todos os tamanhos, desde scripts simples até codebases complexos como o do Instagram.

Embora esteja em fase alfa, a Meta planeja lançar uma versão beta em breve, com melhorias contínuas baseadas no feedback da comunidade.

Se você trabalha com Python e quer reduzir erros, melhorar a legibilidade do código e acelerar seu fluxo de trabalho, o Pyrefly é uma excelente escolha. Experimente instalando a extensão no VSCode ou usando o comando pip install pyrefly e veja como ele pode transformar seu desenvolvimento.

Quer ver mais guias e dicas com esta? Acesse nossos outros posts sobre python no blog!

E caso prefira esse conteúdo no formato de vídeo, assista aqui embaixo ou acesse o nosso canal do YouTube!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos