マジセミドライブ

ウェビナー関連のニュースや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分用語解説】「 2029年問題 」とは?📅

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

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

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

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

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

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。