Herramienta CLI que busca, analiza y reescribe código al comparar patrones de árboles de sintaxis abstracta, en lugar de texto plano.
davidhalter/jedi
Biblioteca de análisis estático de Python para autocompletar, ir a la definición, refactorizar y buscar código, usada principalmente por plugins de editores.
- Estrellas
- 6,186
- Forks
- 549
- Issues abiertos
- 58
- Último commit
- hace 4 días
¿Qué es?
Jedi es una biblioteca de análisis estático para Python que suele integrarse en IDE y editores para ofrecer autocompletado e ir a la definición. Su API permite que las herramientas soliciten sugerencias de autocompletado, firmas, documentación, tipos inferidos y referencias del código en una posición determinada, sin ejecutar el programa.
Además del autocompletado, Jedi ofrece operaciones de refactorización como renombrar, insertar en línea, extraer una función y extraer una variable, además de listar errores de sintaxis, enumerar nombres y buscar código en módulos y proyectos. Funciona con virtualenvs y lo usa el REPL de IPython, que lo incluye como dependencia.
Jedi se utiliza a través de plugins para editores como jedi-vim y la extensión de Python para VS Code, así como mediante servidores de lenguaje como jedi-language-server y python-lsp-server. Es compatible con Python 3.10 y versiones posteriores, y sigue permitiendo analizar código antiguo.
Funciones clave
- 01Autocompletado e ir a la definición en código Python
- 02Firmas, documentación e inferencia de tipos en la posición del cursor
- 03Refactorización: renombrar, insertar en línea, extraer una función y extraer una variable
- 04Búsqueda de referencias y de código en módulos y proyectos
- 05Compatibilidad con virtualenv y listado de errores de sintaxis
Casos de uso
- Añadir autocompletado y navegación de Python a un editor de texto o IDE
- Proporcionar la funcionalidad de un servidor de lenguaje Python para integrarla en un editor
- Habilitar el autocompletado con tabulador en el REPL de IPython o CPython
- Automatizar mediante scripts la refactorización o la búsqueda de código en proyectos Python
Inicio rápido
- 1
Instala Jedi desde PyPI
pip install jedi - 2
Ejecuta la suite de pruebas (opcional): instala pytest
pip install pytest
Antes de usarlo
- Está diseñado principalmente para complementos de editores y autocompletado, no como herramienta independiente.
- El autor ha publicado Zuban como sucesor de Jedi.
Temas
Preguntas frecuentes
- ¿Qué es jedi?
- Biblioteca de análisis estático de Python para autocompletar, ir a la definición, refactorizar y buscar código, usada principalmente por plugins de editores. Jedi es una biblioteca de análisis estático para Python que suele integrarse en IDE y editores para ofrecer autocompletado e ir a la definición. Su API permite que las herramientas soliciten sugerencias de autocompletado, firmas, documentación, tipos inferidos y referencias del código en una posición determinada, sin ejecutar el programa.
- ¿jedi es gratuito? ¿Qué licencia tiene?
- jedi es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿jedi sigue mantenido?
- Mantenimiento activo. El último commit de jedi fue el 2 nov 2026.
- ¿Para qué puedo usar jedi?
- Añadir autocompletado y navegación de Python a un editor de texto o IDE Proporcionar la funcionalidad de un servidor de lenguaje Python para integrarla en un editor Habilitar el autocompletado con tabulador en el REPL de IPython o CPython Automatizar mediante scripts la refactorización o la búsqueda de código en proyectos Python
- ¿Cómo se instala jedi?
- Instala Jedi desde PyPI: pip install jedi Ejecuta la suite de pruebas (opcional): instala pytest: pip install pytest
- ¿Dónde consigo jedi?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/davidhalter/jedi
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de refactorización automatizada de código abierto que aplica recetas al código fuente en numerosos repositorios para migrar frameworks y corregir problemas de seguridad.
Un compilador que lee aplicaciones Rails en Ruby y genera proyectos independientes en otros lenguajes, como Rust, Go, TypeScript y Elixir, o un binario nativo de Spinel.
Analizador estático para Ruby que infiere tipos a partir del código sin anotaciones y busca reportar solo errores concluyentes, como métodos no definidos y receptores nil.
Verificador estático de tipos para Python basado en estándares, con herramienta de línea de comandos y extensión para Visual Studio Code, diseñado para grandes bases de código.
Un verificador de tipos y servidor de lenguaje para Python, rápido y escrito en Rust, con funciones de IDE como navegación, autocompletado y resaltado semántico.