マジセミドライブ

ウェビナー関連のニュースや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業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

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

マジセミ

おすすめの記事

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

ChatGPT探訪

2024.05.07

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

マジセミSNSに投稿した 【担当者A】の「 無限議論 」〜最強スタンド考察〜💬 を記事化したものです。 ChatGPTに課金していないみなさんにも、 AI同士の議論をお楽しみいただけます👍 ※原稿テキストを放り込むだけで、 ジョジョ風イラストを作成してしまう生成AIがすごくないですか?

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。

【トレンド解説】米国における「 生成AI活用 」最新動向📈

トレンド解説

2024.05.07

【トレンド解説】米国における「 生成AI活用 」最新動向📈

「米国における 生成AI活用 最新動向」について解説しています。生成AIは日本企業にも多くの可能性をもたらし、「デスクワークの効率化」や「業務の自動化推進」に貢献しています。生成AIを理解し、活用することが、グローバルな競争力を高める鍵となります。