Microsoft、Pythonの静的型チェック機能を提供する「VS Code」プラグイン「Pyright」を公開mypyなどより5倍以上高速

Microsoftは、Pythonの静的型チェック機能を提供する「Visual Studio Code」(VS Code)のプラグイン「Pyright」をオープンソースのMITライセンスで公開した。

» 2019年03月26日 16時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。