Pythonのimportを選択したスタイルガイドに沿ってグループ分け・整列できているかをチェックする、flake8およびPylama用プラグイン。
PyCQA/flake8
PyFlakes、pycodestyle、McCabeを1つのコマンドにまとめ、サードパーティ製プラグインにも対応するPythonリンターです。
- スター
- 3,833
- フォーク
- 364
- 未解決の Issue
- 24
- 最終コミット
- 一昨日
これは何?
Flake8は、Pythonのソースコードを検査し、スタイル違反や品質上の問題を見つけます。1つのflake8コマンドでPyFlakesを実行して未使用のimportなどの論理エラーを検出し、pycodestyleでPEP 8のスタイル上の問題を、McCabeでコードの複雑度を調べたうえで、結果をファイルごとのレポートにまとめます。
これらのツールを統合するだけでなく、Flake8では警告を選択的に抑制できます。ファイル単位のマーカーでファイル全体を検査対象から除外でき、行末のnoqaコメントでその行の警告を抑制できます。また、エラーコードを指定したnoqaコメントを使えば、該当するエラーだけを無視できます。GitとMercurialのフックにも対応しています。
Flake8は、flake8.extensionとflake8.formattingのエントリポイントを通じて拡張できます。サードパーティ製プラグインを追加することで、チェック項目やカスタム出力形式を導入できます。
主な機能
- 011つのコマンドでPyFlakes、pycodestyle、McCabeを実行できます。
- 02警告を統合し、ファイルごとにまとめて出力します。
- 03noqaコメントを使って、ファイル単位・行単位で警告を抑制できます。
- 04行ごとに特定のエラーコードを指定して抑制できます。
- 05GitとMercurialのフックを利用できます。
- 06エントリポイント経由でサードパーティ製プラグインによる拡張が可能です。
ユースケース
- PythonプロジェクトのCIパイプラインでPEP 8スタイルを徹底し、よくあるバグを検出する。
- コードをコミットする前に、Gitフックでlintチェックを実行する。
- McCabeチェッカーで関数の複雑度を測定し、過度に複雑な関数を検出する。
- Flake8プラグインとして、独自のチェック項目や出力形式を作成する。
クイックスタート
- 1
READMEにリンクされているクイックスタートドキュメントに従って、Flake8をインストールして実行してください
使う前に知っておきたいこと
- プロジェクトのメタデータでライセンスが明確に特定されていません。
収録されている特集
トピック
よくある質問
- flake8 とは?
- PyFlakes、pycodestyle、McCabeを1つのコマンドにまとめ、サードパーティ製プラグインにも対応するPythonリンターです。 Flake8は、Pythonのソースコードを検査し、スタイル違反や品質上の問題を見つけます。1つのflake8コマンドでPyFlakesを実行して未使用のimportなどの論理エラーを検出し、pycodestyleでPEP 8のスタイル上の問題を、McCabeでコードの複雑度を調べたうえで、結果をファイルごとのレポートにまとめます。
- flake8 は無料で使えますか?ライセンスは?
- flake8 は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- flake8 は今もメンテナンスされていますか?
- 活発にメンテナンス中。flake8 の最終コミットは 2026年11月4日 です。
- flake8 は何に使えますか?
- PythonプロジェクトのCIパイプラインでPEP 8スタイルを徹底し、よくあるバグを検出する。 コードをコミットする前に、Gitフックでlintチェックを実行する。 McCabeチェッカーで関数の複雑度を測定し、過度に複雑な関数を検出する。 Flake8プラグインとして、独自のチェック項目や出力形式を作成する。
- flake8 のインストール方法は?
- READMEにリンクされているクイックスタートドキュメントに従って、Flake8をインストールして実行してください
- flake8 はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/PyCQA/flake8
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Rust製の超高速Pythonリンター/フォーマッター。900以上のlintルールを備え、Black互換のフォーマットに対応します。
標準ライブラリだけで動作し、PEP 8のスタイル規約に沿っているかをチェックする単一ファイルのPythonチェッカー。
関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。
pyflakesやpycodestyleがチェックしない、バグの可能性が高いコードや疑わしい設計パターンを検出するFlake8プラグイン。
一貫性のあるシンプルなPythonのコードスタイルを徹底し、複雑なコードパターンを検出する、厳格で独自の方針を持つflake8プラグイン。