871 views
B!0X

pyrightの使い方

pyright-usage

https://github.com/microsoft/pyright

pyrightとは?

  • microsoft製のpython静的型チェックツール
  • python組み込みのtypehintをベースに静的型検査を行ってくれる

pyrightの使用方法

以下のコマンドでインストール.npmは必要.

npm install -g pyright

その後以下のコマンドでチェックを実施.

pyright -p

ファイルの変更を検知して自動でチェックすることもできる.

pyright -w

外部ライブラリのためのstubファイルの生成

外部ライブラリを使用するときそのライブラリに型がつけられていないとpyrightに怒られる.
そのときにstubファイルというものが配布されていれば怒られないのだが、ない場合が多い.
pyrightはstubファイルのドラフト版を自動生成することができるので、それらのファイル内の使用したいメソッドに型をつけてあげれば良い.

以下のコマンドでstubのドラフトが自動生成される.
作成されるディレクトリは何も指定しないとtypings以下。

pyright --createstub <library-name>

NOTE
library-nameはpipでinstallするときの名前ではなく、source codeでimportするときの名前

設定ファイル

  • プロジェクト直下にpyrightconfig.jsonという名前で設定ファイルを用意する

sample

{
  "pythonVersion": "3.7",
  "ignore": ["raspi_submodule/**", "typings/**", "tests/**"],
  "strict": ["**"]
}

設定項目

  • pythonVersion: 指定したpythonのversionで互換性のある書き方かチェックしてくれる
  • strict: チェックが厳しくなる(これが全部onになる)、ディレクトリ、ファイルを配列で指定する
  • ignore: チェックを無視する、ディレクトリ、ファイルを配列で指定する

関連事例

  • データ分析支援

    事例:過去実績を提案に活用する分析の仕組み

    広告代理店との取り組みです。同社は過去実績の示唆を次の提案へ反映し、結果をどのように予測したか、その背景まで提案先のクライアントへ説明できるようになりました。KDOT は案ごとの見込みと判断材料を比較できる仕組みを業務アプリとして実装しました。さらに業務アプリの中核となる処理ロジックと機械学習モデルについて、特許手続きを担う弁理士が技術の新規性や工夫を検討するための資料を作成しました。その後この発明には特許が付与されました。

  • データ基盤構築 / 技術顧問(技術企業向け)

    事例:効果検証の分析処理基盤

    効果検証を提供する分析会社との取り組みです。同社は分析者の人数に比例してしか売上と利益を伸ばせない事業の形を、効果検証をプロダクトとして提供することで変革しようとしていました。手法とモデルは同社のまま、社内では開発できなかった、データと機械学習の重い推定を製品として動かす仕組みの開発を、開発支援会社の KDOT に任せました。推定を案件ごとの手作業ではなくシステムで実行できるようになったことで、同社は人数に比例しない形で売上と利益を伸ばすことを目指せるようになりました。

開発の相談先をお探しですか。

この記事に関わることについてご相談がある方はお問い合わせください。

KDOT についてお問い合わせ