マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2023.04.22

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

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

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

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

Pyreの「概要」

「 Pyre 」(パイアー)とは、
Python用の高性能な型チェックツールです。

「Meta Platforms, Inc.」が提供しています。

「数百万行のコードを含むコードベース」を段階的に分析し、コードを書いている開発者に対して即座にフィードバックを提供します。

Pyreの「メリット」

・静的型検査実施によるPythonコードの品質向上
・コードベース全体に対して分析を実施
・巨大コードベースでも高速動作
・開発者に対して即時フィードバックを提供
・Pythonの最新バージョンに対応
・オープンソース開発による機能改善+新機能追加

Pyreの「プレイグラウンド」

→pyre-check.org →play

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は、コードをチェックして、コード内に存在する型エラーについて、さまざまなエラーコードを提供します。

→pyre-check.org →docs →errors

エラーコード

・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の「オフィシャルサイト情報」

オフィシャルサイト

→pyre-check.org

GitHubページ

→github.com →facebook →pyre-check

主要開発元

Pyreは「Meta Platforms, Inc.」が中心となり開発が進められています。

→opensource.fb.com

ライセンス情報

Pyreのライセンスは「MIT License」です。

詳細について、こちらを参照ください。

→github.com →facebook →pyre-check →LICENSE

動作環境

Pyreを開始するには、「Python3.6以降」+「システム上で動作するウォッチマン」が必要です。

■動作テスト済み環境
・Ubuntu 18.04.5 LTS
・CentOS 7
・OSX 10.11以降

インストール

→pyre-check.org →docs →installation

【お知らせ】ITセミナー「マジセミ」のご紹介

「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。

参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。

また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。

マジセミ

おすすめの記事

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

デジタル寺田の3分用語解説

2025.03.11

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

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

【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?🤐

デジタル寺田の3分用語解説

2025.03.17

【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?🤐

「 心理的安全性 」が低い職場とはどのような環境なのか、具体的な特徴を解説します。「質問しづらい雰囲気」「失敗を報告できない隠蔽体質」「発言をためらう風土」など、心理的安全性の欠如がもたらす影響を詳しく紹介し、安全な職場づくりの重要性も解説します。

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

デジタル寺田の3分用語解説

2025.03.10

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

「 ウェルビーイング 」とは、身体的・精神的な健康だけでなく、社会的・経済的にも満たされた状態を指します。企業にとっては、健康経営の推進により生産性向上や離職率低下などのメリットがあります。本記事では、ウェルビーイングが注目される背景や企業の具体的な取り組みについて詳しく解説します。