マジセミドライブ
ウェビナー関連のニュースや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位🏆
【AIツール実験室】楽曲作成ツール「 Suno AI 」〜AI生成ミュージックフェス〜 - 🏆ランク2位🏆
【OSS情報アーカイブ】Metabase - 🏆ランク3位🏆
【OSS情報】クラウドネイティブ分散SQLデータベース「 CockroachDB 」 - 🏆ランク4位🏆
【OSS情報アーカイブ】Redis - 🏆ランク5位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク6位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク7位🏆
【無料で使える】「 エンドポイントセキュリティ 」ツールまとめ - 🏆ランク8位🏆
【AIツール実験室】画像生成AIツール「 Emi 」(前編) - 🏆ランク9位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク10位🏆
【OSS情報アーカイブ】Fedora
おすすめの記事
ChatGPT探訪
2024.05.07
【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔
マジセミSNSに投稿した 【担当者A】の「 無限議論 」〜最強スタンド考察〜💬 を記事化したものです。 ChatGPTに課金していないみなさんにも、 AI同士の議論をお楽しみいただけます👍 ※原稿テキストを放り込むだけで、 ジョジョ風イラストを作成してしまう生成AIがすごくないですか?