GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

davidhalter

jedi – Pythonのための素晴らしいオートコンプリートと静的解析ライブラリ

投稿日:

Pythonのための素晴らしいオートコンプリートと静的解析ライブラリ http://jedi.readthedocs.io

Jedi – Python用の素晴らしいオートコンプリート/静的解析ライブラリ

具体的な質問がある場合は、問題を追加するか、「 Stack Overflow 」に python-jedi というラベルを付けて 質問してください

Jediは、IDE /エディタで使用できるPython用の静的解析ツールです。 その歴史的な焦点はオートコンプリートですが、今のところ静的分析も行います。 ジェダイは速く、非常によくテストされています。 Pythonは、Pythonの他のすべての静的解析フレームワークよりも深いレベルで理解しています。

Jediは2つの異なるgoto関数をサポートしています。 関連する名前を検索したり、すべての名前をPythonファイルにリストして推論したりすることは可能です。 Jediはドキュメントストリングを理解しており、REPLでもJediのオートコンプリートを使用することができます。

Jediは非常にシンプルなAPIを使用してIDEと接続します。 Vim-Pluginとしてのリファレンス実装があり、Jediのオートコンプリートを使用しています。 IDEでJediを使用することをお勧めします。 それは本当に簡単です。

Jediは現在、次のエディター/プロジェクトで使用できます。

などなど!

ジェダイヴィムから撮影した写真をいくつか紹介します:

ほぼ何でも完了(Ctrl + Space)。

関数/クラス本体、ドキュメントストリングの表示。

Pydocのサポート(Shift + k)。

gotoと名前の変更もサポートされています。

githubから最新バージョンを入手してください(マスターブランチは常に安定していなければなりません)。

ドキュメントはhttps://jedi.readthedocs.org/en/latest/から入手できます ドキュメントの拡張機能や修正を含むプルリクエストはすごく歓迎します。 Jediはセマンティックバージョニングを使用します。

最新の状態(ニュース/ RFC)をご希望の場合は、このgithubスレッドを購読してください:

インストール

pipインストールjedi

注:これは、エディタプラグインではなく、Jediライブラリをインストールするだけです。 エディタで動作させる方法については、対応するマニュアルを参照してください。

あなたはpipを使用したくないですか? マニュアルを参照してください。

機能のサポートと警告

JediはあなたのPythonコードを本当に理解しています。 ジェダイが理解していることの包括的なリストについては、以下を参照してください。 警告のリストは同じページにあります。

CPython 2.7または3.3+でJediを実行できますが、それらのバージョンよりも古いコードも理解/解析する必要があります。

Jediを効率的に使用するためのヒントは、 ここで見つけることができます

API

APIのドキュメントはこちらからご覧いただけます

オートコンプリート/ Goto / Pydoc

良い説明についてはAPIをチェックしてください。 以下のコマンドがあります:

  • jedi.Script.goto_assignments
  • jedi.Script.completions
  • jedi.Script.usages

返されるオブジェクトは非常に強力で、本当に必要なものはすべてです。

REPL(IPythonなど)のオートコンプリート

IPython 6.0.0から始めるJediはIPythonの依存関係です。 したがって、IPythonでの自動補完は追加の設定なしで可能です。

REPLモード( 例のビデオ)でJediのオートコンプリートを行うことは可能です。 つまり、PythonではREPLでタブ補完を有効にすることができます。

静的解析/リンター

すべての形式の静的解析を行うには、 jedi.namesを使用してみてください。 これは、型などを推測するために使用できる名前のリストを返します。

リンテイングは、ジェダイの一部になる別のものです。 今のところあなたはalpha版python -m jedi linter試すことができます。 APIは変更される可能性がありますが、まだバグがあります。 クラシックなリンターより賢く、 AttributeErrorやその他のコードの問題を理解するのはジェダイの目標です。

リファクタリング

Jediのパーサはリファクタリングをサポートしていますが、今すぐ使用するAPIはありません。 あなたがここで助けに興味があるなら、私に知らせてください。 最新のパーサの変更により、実際に動作させるのは非常に簡単です。

開発

非常に優れた豊富な開発ドキュメントがあります

テスト

テストスイートはtoxpytest依存しpytest

pip install tox pytest

サポートされているすべてのPythonバージョンのテストを実行するには:

tox

特定のPythonバージョン(Python 2.7など)だけをテストしたい場合は、

tox -e py27

テストはトラビスCIで自動的に実行されます。

詳細については、 テストのドキュメントを参照してください。

謝辞

  • 荒木隆文(@tkf)は、徹底したテスト環境と他の多くのものを作成しています。
  • Danilo Bargen(@dbrgn):一般的なハウスキーピングといい友達です:)。
  • (元々lib2to3で使われていた)パーサージェネレータpgen2を作るためのGuido van Rossum(@gvanrossum)







-davidhalter
-, , , ,

執筆者: