通常のテキストではなくASTパターンにマッチさせて、コードの検索、Lint、書き換えを行うCLIツールです。
davidhalter/jedi
主にエディタープラグインで使われる、補完、定義へのジャンプ、リファクタリング、コード検索向けのPython静的解析ライブラリです。
- スター
- 6,186
- フォーク
- 549
- 未解決の Issue
- 58
- 最終コミット
- 6 日前
これは何?
JediはPython向けの静的解析ライブラリで、主にIDEやエディターに組み込まれ、コード補完や定義へのジャンプを実現します。APIを通じて、プログラムを実行せずに、指定した位置のコードに対する補完候補、シグネチャ、ドキュメント、推論された型、参照箇所をツールから取得できます。
補完に加えて、rename、inline、extract function、extract variableといったリファクタリング操作や、構文エラーの一覧表示、名前の列挙、モジュールやプロジェクトを横断するコード検索も提供します。virtualenvに対応しており、依存関係として同梱するIPython REPLでも使われています。
jedi-vimやVS CodeのPython拡張機能などのエディタープラグインや、jedi-language-server、python-lsp-serverなどの言語サーバーから利用できます。Python 3.10以降に対応しつつ、古いコードの解析も可能です。
主な機能
- 01Pythonコードの補完と定義へのジャンプ
- 02カーソル位置でのシグネチャ表示、ドキュメント取得、型推論
- 03リファクタリング:rename、inline、extract function、extract variable
- 04モジュールやプロジェクトを横断した参照箇所の検索とコード検索
- 05virtualenvへの対応と構文エラーの一覧表示
ユースケース
- テキストエディターやIDEにPythonの補完とコードナビゲーションを追加する
- エディター連携用のPython言語サーバーを構築する
- IPythonまたはCPythonのREPLでタブ補完を有効にする
- Pythonプロジェクトを対象としたリファクタリングやコード検索を自動化する
クイックスタート
- 1
PyPIからJediをインストールする
pip install jedi - 2
テストスイートを実行する場合(任意):pytestをインストールする
pip install pytest
使う前に知っておきたいこと
- 単体ツールとしてではなく、主にエディタープラグインや自動補完向けに設計されています。
- 作者はJediの後継としてZubanを公開しています。
トピック
よくある質問
- jedi とは?
- 主にエディタープラグインで使われる、補完、定義へのジャンプ、リファクタリング、コード検索向けのPython静的解析ライブラリです。 JediはPython向けの静的解析ライブラリで、主にIDEやエディターに組み込まれ、コード補完や定義へのジャンプを実現します。APIを通じて、プログラムを実行せずに、指定した位置のコードに対する補完候補、シグネチャ、ドキュメント、推論された型、参照箇所をツールから取得できます。
- jedi は無料で使えますか?ライセンスは?
- jedi は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jedi は今もメンテナンスされていますか?
- 活発にメンテナンス中。jedi の最終コミットは 2026年11月2日 です。
- jedi は何に使えますか?
- テキストエディターやIDEにPythonの補完とコードナビゲーションを追加する エディター連携用のPython言語サーバーを構築する IPythonまたはCPythonのREPLでタブ補完を有効にする Pythonプロジェクトを対象としたリファクタリングやコード検索を自動化する
- jedi のインストール方法は?
- PyPIからJediをインストールする: pip install jedi テストスイートを実行する場合(任意):pytestをインストールする: pip install pytest
- jedi はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/davidhalter/jedi
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
複数のリポジトリのソースコードにレシピを適用し、フレームワーク移行やセキュリティ修正を行うオープンソースの自動リファクタリングエンジン。
Railsアプリを解析し、Rust、Go、TypeScript、Elixirなどの単体プロジェクトやSpinelネイティブバイナリを生成するコンパイラ。
コードへの型注釈なしで型を推論するRuby静的解析ツール。未定義メソッドやnilレシーバーなど、確実なバグのみを報告することを目指します。
大規模なコードベース向けに設計された、コマンドラインツールとVisual Studio Code拡張機能を備える、標準に準拠したPython静的型チェッカーです。
Rust製の高速なPython型チェッカー兼言語サーバー。コードナビゲーション、補完、セマンティックハイライトなどのIDE機能を備えています。