CLI-инструмент для поиска, линтинга и переписывания кода по шаблонам AST, а не по обычному тексту.
davidhalter/jedi
Библиотека статического анализа Python для автодополнения, перехода к определению, рефакторинга и поиска по коду; используется преимущественно в плагинах для редакторов.
- Звёзды
- 6,186
- Форки
- 549
- Открытые issues
- 58
- Последний коммит
- 6 дней назад
Что это?
Jedi — библиотека статического анализа Python, которую обычно встраивают в IDE и редакторы для автодополнения и перехода к определению. Через API инструменты могут запрашивать варианты дополнения, сигнатуры, документацию, предполагаемые типы и ссылки для кода в заданной позиции, не запуская программу.
Помимо автодополнения, Jedi поддерживает рефакторинг: переименование, встраивание, выделение функции и выделение переменной. Также библиотека позволяет выводить список синтаксических ошибок, перечислять имена и искать код в модулях и проектах. Jedi работает с virtualenv и используется в REPL IPython, который включает библиотеку в свои зависимости.
Jedi используется в плагинах для редакторов, таких как jedi-vim и расширение Python для VS Code, а также в языковых серверах, например jedi-language-server и python-lsp-server. Библиотека поддерживает Python 3.10 и новее, но при этом может анализировать и более старый код.
Ключевые возможности
- 01Автодополнение и переход к определению в коде на Python
- 02Сигнатуры, документация и вывод типов в позиции курсора
- 03Рефакторинг: переименование, встраивание, выделение функции и выделение переменной
- 04Поиск ссылок и кода в модулях и проектах
- 05Поддержка virtualenv и вывод списка синтаксических ошибок
Сценарии использования
- Добавление автодополнения и перехода по коду на Python в текстовый редактор или IDE
- Создание языкового сервера Python для интеграции с редактором
- Включение автодополнения по Tab в REPL IPython или CPython
- Автоматизация рефакторинга или поиска по коду в проектах на Python
Быстрый старт
- 1
Установите Jedi из PyPI
pip install jedi - 2
Запустите набор тестов (необязательно): установите pytest
pip install pytest
Что важно знать
- В первую очередь предназначен для плагинов редакторов и автодополнения, а не для использования как самостоятельный инструмент.
- Автор выпустил Zuban как преемника Jedi.
Темы
Частые вопросы
- Что такое jedi?
- Библиотека статического анализа Python для автодополнения, перехода к определению, рефакторинга и поиска по коду; используется преимущественно в плагинах для редакторов. Jedi — библиотека статического анализа Python, которую обычно встраивают в IDE и редакторы для автодополнения и перехода к определению. Через API инструменты могут запрашивать варианты дополнения, сигнатуры, документацию, предполагаемые типы и ссылки для кода в заданной позиции, не запуская программу.
- jedi можно использовать бесплатно? Какая у него лицензия?
- jedi распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- jedi всё ещё поддерживается?
- Активно поддерживается. Последний коммит в jedi — 2 нояб. 2026 г..
- Для чего можно использовать jedi?
- Добавление автодополнения и перехода по коду на Python в текстовый редактор или IDE Создание языкового сервера Python для интеграции с редактором Включение автодополнения по Tab в REPL IPython или CPython Автоматизация рефакторинга или поиска по коду в проектах на Python
- Как установить jedi?
- Установите Jedi из PyPI: pip install jedi Запустите набор тестов (необязательно): установите pytest: pip install pytest
- Где скачать jedi?
- Исходный код и инструкции по установке — на GitHub: https://github.com/davidhalter/jedi
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
OpenRewrite — движок автоматического рефакторинга с открытым исходным кодом: он применяет рецепты к коду во множестве репозиториев, помогая мигрировать на новые версии фреймворков и устранять уязвимости.
Компилятор анализирует Rails-приложения на Ruby и создаёт автономные проекты на Rust, Go, TypeScript, Elixir и других языках либо нативный бинарный файл Spinel.
Статический анализатор Ruby, который выводит типы из кода без аннотаций и стремится сообщать только о достоверно выявленных ошибках, например неопределённых методах и вызовах на nil.
Статический анализатор типов Python по стандартам языка, доступный как CLI-инструмент и расширение для Visual Studio Code; подходит для крупных кодовых баз.
Быстрый чекер типов и language server для Python на Rust с функциями IDE: переходом по коду, автодополнением и семантической подсветкой.