Microsoft、Pythonの静的型チェック機能を提供する「VS Code」プラグイン「Pyright」を公開:mypyなどより5倍以上高速
Microsoftは、Pythonの静的型チェック機能を提供する「Visual Studio Code」(VS Code)のプラグイン「Pyright」をオープンソースのMITライセンスで公開した。
Microsoftは2019年3月21日(米国時間)、Pythonの静的型チェック機能を提供する「Visual Studio Code」(VS Code)プラグイン「Pyright 1.0.0」をオープンソースのMITライセンスで公開した。同23日には多数のバグを修正した「Pyright 1.0.1」を公開している。
Pyrightは、「mypy」のような既存のPython型チェッカに存在する難点に対処する目的で開発された。特徴は次の通り。
高速処理
Microsoftによれば、Pyrightは、Pythonで書かれたmypyなどの型チェッカよりも5倍以上高速だという。Pyrightの想定用途は、大規模なPythonソースコードの型チェックだ。“ウォッチ”(監視)モードで動作し、ファイルの変更を検知すると、高速な差分更新を実行する。
Python環境に非依存
PyrightはTypeScriptで記述されており、ノード内で動作する。PyrightをインストールするためにPython環境や、サードパーティーパッケージのインポートは必要ない。これは、拡張のランタイムとしてノードを使用するVS Codeとともに使う上で特に好都合だ。
柔軟な構成
Pyrightでは、柔軟に構成を行い、設定をきめ細かく制御できる。ソースコードのさまざまなサブセットごとに異なる“実行環境”を指定することもできる。各実行環境で異なるPYTHONPATH設定、Python言語のバージョン、ターゲットプラットフォームを指定することが可能だ。
型チェック機能
Pyrightは次のPEP(Python Enhancement Proposal)などをサポートする。
- PEP 484:generic型を含む型ヒント
- PEP 526:変数アノテーション向け構文
- PEP 544:構造的部分型(static duck typing)
- 関数の戻り値、インスタンス変数、クラス変数、グローバル変数の型推論
- if/else文のような条件付きコードフローコンストラクトを理解するスマート型制約
ビルトイン型スタブ
Pyrightは、Typeshedに由来するstdlib型スタブの最近のコピーを含んでいる。Typeshed型スタブの他の、例えば、より最近の、または変更されたコピーを使うように構成することもできる。ユーザープロジェクトに含まれるカスタム型スタブファイルにも対応する。
コマンドラインや言語サービス
Pyrightはコマンドラインツールと、VS CodeのLanguage Server Protocolプラグインを含んでいる。
言語サービス機能
Pyrightは、次の言語サービス機能を提供する。
- 型情報を表示するホバーツールチップ
- シンボル定義へのリンク
- 編集時の“ライブ”フィードバックのためのスマートなプライオリティキューイング
対応バージョン
Pyrightは現在、Python 3.0以降をサポートしており、今のところ、Python 3.0より前のバージョンをサポートする計画はない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 機械学習関連で最も人気があるのはPython/NumPy/TensorFlow――GitHubが調査
GitHubによれば、2018年に最もコントリビューションが多かった機械学習関連プロジェクトはTensorFlowだった。機械学習向けで人気のプログラム言語はPythonで、最も利用されているPython向けライブラリはNumPyだった。Julia言語へのコントリビューションも多かった。 - IPA、基本情報技術者試験にPythonを追加/COBOLを廃止
IPAは、国家試験「基本情報技術者試験」の内容を見直した結果、COBOLを廃止し、Pythonを追加する。線形代数や「確率・統計」など、数学に関する出題比率を上げる。AI人材育成のニーズなどを踏まえた。 - Pythonで機械学習/Deep Learningを始めるなら知っておきたいライブラリ/ツール7選
最近流行の機械学習/Deep Learningを試してみたいという人のために、Pythonを使った機械学習について主要なライブラリ/ツールの使い方を中心に解説する連載。初回は、筆者が実業務で有用としているライブラリ/ツールを7つ紹介します。