Jedi is a static analysis library for Python that provides autocompletion, goto functionality, refactoring, code search, and reference finding capabilities for use in IDEs and editors.
Jedi solves the problem of intelligent code completion and navigation in Python development environments through static analysis. Rather than relying on runtime execution, it analyzes code structure to understand context and infer types, enabling accurate suggestions even in complex scenarios. The tool exposes a simple API that allows editor plugins and language servers to integrate its capabilities, with a reference implementation available as a Vim plugin demonstrating how to build on top of the library.
Jedi suits developers and tool maintainers who need reliable autocompletion and code intelligence features in Python editors. It works well for projects requiring IDE-like functionality across multiple editor platforms, from Vim and Emacs to Visual Studio Code and Sublime Text. The tool is particularly valuable for those building language servers or editor extensions, as several language server implementations depend on Jedi's analysis engine. Developers should note that the original maintainer has released a successor project called Zuban, a Mypy-compatible Python language server written in Rust, which may be worth evaluating for new projects requiring language server protocol support.
The project maintains a comprehensive test suite and prioritizes stability, with the master branch kept in working condition. Development activity shows consistent attention to issue resolution and pull request handling. The tool has broad integration across the Python editor ecosystem, with support spanning multiple editor platforms and active use in language server implementations.