マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2023.04.22
【OSS情報】Python用型チェックツール「 Pyre 」

コンテンツ
【OSS情報】Python用型チェックツール「 Pyre 」

Pyreの「概要」
「 Pyre 」(パイアー)とは、
Python用の高性能な型チェックツールです。
「Meta Platforms, Inc.」が提供しています。
「数百万行のコードを含むコードベース」を段階的に分析し、コードを書いている開発者に対して即座にフィードバックを提供します。
Pyreの「メリット」
・静的型検査実施によるPythonコードの品質向上
・コードベース全体に対して分析を実施
・巨大コードベースでも高速動作
・開発者に対して即時フィードバックを提供
・Pythonの最新バージョンに対応
・オープンソース開発による機能改善+新機能追加
Pyreの「プレイグラウンド」
Pyreの「特徴」
タイピング標準準拠
・PEP準拠 :「484」「526」「612」
・「PEP」=「Python Enhancement Proposal」
・標準化された型ヒントの構文を提供
・「静的型チェック」や「コード解析」に使用できる
・「Python3.8以降」のバージョンで完全サポート
リスニングデーモン
・最初の呼び出しにより、ファイルシステム変更をリッスンするデーモンが開始される
・コードを編集するたびに、プロジェクトを段階的にチェックする
高速動作
・段階的な入力をサポート
・応答性の高い増分チェックを実施
・数百万行の大規模コードベースで優れたパフォーマンスを発揮
統合
・ターミナル統合:型エラーをインタラクティブにフラグ付け
・エディタ統合:コードの品質と開発速度を向上
Pythonイディオムのカスタムサポート「PyTorchのregister_buffer」
・サブクラスを使用してオブジェクトにバッファを登録できる
・コンストラクター内で使用される場合、Pyreはこのパターンをサポートする
→pyre-check.org →docs →features
セキュリティ静的分析ツール「Pysa」同梱
・Pythonアプリケーションのデータフローを分析
→pyre-check.org →docs →pysa-basics
Pyreの「型エラーチェック機能」
Pyreは、コードをチェックして、コード内に存在する型エラーについて、さまざまなエラーコードを提供します。
エラーコード
・0:未使用 fixmeコメント
・2:パラメータ注釈の欠落
・3:リターン注釈の欠落
・4:属性注釈の欠落
・5:グローバル注釈が無い
・6:互換性のないパラメータ タイプ
・7:互換性のない戻り値の型
・8:互換性のない属性タイプ
・9:互換性のない変数型
・10:バインドされていない名前
・11、31:未定義または無効なタイプ
・12:互換性のない Awaitable 型
・13:初期化されていない属性
・14、15:行動サブタイピング
・16:欠落している属性
・17:互換性のないコンストラクタ注釈
・18、21:未定義の名前、未定義のインポート
・19:引数が多すぎる
・20:引数がありません
・22:冗長キャスト
・23:開梱できません
・24:型パラメーターが無効です
・26:非リテラルを使用した型付き辞書アクセス
・27:入力された辞書キーが見つかりません
・28:予期しないキーワード
・29:呼び出しエラー
・30、36:終了分析、相互再帰型変数
・31:型が無効です
・32:引数が無効です
・33:禁止事項
・34:型変数が無効です
・35:不正なアノテーション ターゲット
・39:無効な継承
・40:オーバーライドが無効です
・41:無効な割り当て
・42:オーバーロードの実装がありません
・43:互換性のないオーバーロードの実装
・45:無効なクラスのインスタンス化
・46:型の差異が無効です
・47:無効なメソッド署名です
・48:無効な例外です
・49:アンセーフキャスト
・51:未使用のローカル モード
・52:プライベート プロトコル プロパティ
・53:キャプチャされた変数の注釈がありません
・54:無効な TypedDict 操作です
・55:TypedDict 初期化エラー
・56:無効な装飾
・57:互換性のない非同期ジェネレーターの戻り値の型
・58:サポートされていないオペランドです
・59:型変数の重複
・60:タプルを連結できません
・61:初期化されていないローカル
・62:非リテラル文字列
Pyreの「オフィシャルサイト情報」
オフィシャルサイト
GitHubページ
→github.com →facebook →pyre-check
主要開発元
Pyreは「Meta Platforms, Inc.」が中心となり開発が進められています。
ライセンス情報
Pyreのライセンスは「MIT License」です。
詳細について、こちらを参照ください。
→github.com →facebook →pyre-check →LICENSE
動作環境
Pyreを開始するには、「Python3.6以降」+「システム上で動作するウォッチマン」が必要です。
■動作テスト済み環境
・Ubuntu 18.04.5 LTS
・CentOS 7
・OSX 10.11以降
インストール
【お知らせ】ITセミナー「マジセミ」のご紹介
「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。
参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。
また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。
多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
ランク1位
【無料で使える】「 OCR 」ツールまとめランク2位
【OSS情報アーカイブ】Visual Studio Codeランク3位
【無料で使える】「 プロジェクト管理 」ツールまとめランク4位
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選ランク5位
【AIツール実験室】いちばん賢い チャットAI 選手権!ランク6位
【OSS情報アーカイブ】Apache Axis2ランク7位
【無料で使える】「 暗号化 」ツールまとめランク8位
【無料で使える】「 ファイアウォール 」ソフトウェアまとめランク9位
【OSS情報】日本住所正規化ライブラリ「 NJA 」(normalize-japanese-addresses)ランク10位
【OSS情報アーカイブ】Qt
おすすめの記事

デジタル寺田の3分用語解説
2025.03.11
【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?
「 AIエージェント 」は営業マネージャーの業務をどこまで代行できるのか?「データ分析」「フィードバック」「自動日程調整」の可能性を探り、未来の管理職のあり方を考察します。AIが進化する中で、人間の役割はどう変わるのか詳しく解説します。