Uma ferramenta de CLI que busca, verifica e reescreve código usando padrões de árvores sintáticas abstratas em vez de texto simples.
davidhalter/jedi
Biblioteca de análise estática para Python que oferece autocompletar, ir para definição, refatoração e busca de código, usada principalmente por plugins de editores.
- Estrelas
- 6,186
- Forks
- 549
- Issues abertas
- 58
- Último commit
- há 4 dias
O que é?
Jedi é uma biblioteca de análise estática para Python, normalmente integrada a IDEs e editores para oferecer autocompletar e ir para definição. Sua API permite que ferramentas solicitem sugestões de conclusão, assinaturas, documentação, tipos inferidos e referências para o código em uma determinada posição, sem executar o programa.
Além de autocompletar, Jedi oferece operações de refatoração como renomear, inline, extrair função e extrair variável, além de listar erros de sintaxe, enumerar nomes e pesquisar código em módulos e projetos. A biblioteca funciona com virtualenvs e é usada pelo REPL do IPython, que a inclui como dependência.
Jedi é usado por meio de plugins de editor, como jedi-vim e a extensão Python do VS Code, e de servidores de linguagem, como jedi-language-server e python-lsp-server. É compatível com Python 3.10 ou posterior e ainda analisa código mais antigo.
Recursos principais
- 01Autocompletar e ir para definição em código Python
- 02Assinaturas, documentação e inferência de tipos na posição do cursor
- 03Refatoração: renomear, inline, extrair função e extrair variável
- 04Localização de referências e busca de código em módulos e projetos
- 05Compatibilidade com virtualenv e listagem de erros de sintaxe
Casos de uso
- Adicionar autocompletar e navegação em Python a um editor de texto ou IDE
- Oferecer suporte a um servidor de linguagem Python integrado a editores
- Habilitar a conclusão por tabulação no REPL do IPython ou CPython
- Automatizar refatorações ou buscas de código em projetos Python por meio de scripts
Início rápido
- 1
Instale Jedi pelo PyPI
pip install jedi - 2
Execute a suíte de testes (opcional): instale pytest
pip install pytest
Antes de usar
- Foi projetado principalmente para plugins de editores e preenchimento automático, e não como uma ferramenta independente.
- O autor lançou o Zuban como sucessor do Jedi.
Tópicos
Perguntas frequentes
- O que é jedi?
- Biblioteca de análise estática para Python que oferece autocompletar, ir para definição, refatoração e busca de código, usada principalmente por plugins de editores. Jedi é uma biblioteca de análise estática para Python, normalmente integrada a IDEs e editores para oferecer autocompletar e ir para definição. Sua API permite que ferramentas solicitem sugestões de conclusão, assinaturas, documentação, tipos inferidos e referências para o código em uma determinada posição, sem executar o programa.
- jedi é gratuito? Qual é a licença?
- jedi é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jedi ainda é mantido?
- Manutenção ativa. O último commit de jedi foi em 2 de nov. de 2026.
- Para que posso usar jedi?
- Adicionar autocompletar e navegação em Python a um editor de texto ou IDE Oferecer suporte a um servidor de linguagem Python integrado a editores Habilitar a conclusão por tabulação no REPL do IPython ou CPython Automatizar refatorações ou buscas de código em projetos Python por meio de scripts
- Como instalar jedi?
- Instale Jedi pelo PyPI: pip install jedi Execute a suíte de testes (opcional): instale pytest: pip install pytest
- Onde consigo jedi?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/davidhalter/jedi
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Mecanismo open source de refatoração automatizada que aplica recipes ao código-fonte em vários repositórios, incluindo migrações de frameworks e correções de segurança.
Um compilador que lê aplicações Rails em Ruby e gera projetos independentes em outras linguagens, como Rust, Go, TypeScript, Elixir ou um binário nativo Spinel.
Analisador estático para Ruby que infere tipos sem anotações e busca reportar apenas bugs conclusivos, como métodos indefinidos e receptores nil.
Verificador estático de tipos para Python, baseado em padrões e voltado a grandes bases de código, com ferramenta de linha de comando e extensão para Visual Studio Code.
Verificador de tipos e servidor de linguagem para Python, rápido e escrito em Rust, com recursos de IDE como navegação, autocompletar e realce semântico.