pyflakesやpycodestyleがチェックしない、バグの可能性が高いコードや疑わしい設計パターンを検出するFlake8プラグイン。
PyCQA/flake8-import-order
Pythonのimportを選択したスタイルガイドに沿ってグループ分け・整列できているかをチェックする、flake8およびPylama用プラグイン。
- スター
- 279
- フォーク
- 72
- 未解決の Issue
- 15
- 最終コミット
- 4 日前
これは何?
flake8-import-orderは、Pythonのimport文のグループ分けと順序だけをチェックする、flake8およびPylama用のリンタープラグインです。importのほかの要素はチェックしません。標準ライブラリ、サードパーティパッケージ、ローカルパッケージの順に並べ、各グループ内をアルファベット順に整列します。ただし、細かなルールは選択したスタイルによって異なります。
このプラグインは4種類の警告を追加します。I100とI101はimportの順序違反とfrom-import内の名前の順序違反、I201とI202はimportグループ間の空行の不足または過剰を示します。cryptography(デフォルト)、google、smarkets、appnexus、edited、pycharm、pep8など、複数の組み込みスタイルを備えています。pep8はグループ分けを強制しますが、グループ内の順序はチェックしません。プロジェクトでは、設定オプションを使って独自のアプリケーション名やパッケージ名を指定できます。
Styleクラスをサブクラス化し、setuptoolsのエントリーポイントを通じて登録することで、カスタムスタイルを追加できます。
主な機能
- 01flake8およびPylama向けに、importのグループ分けと順序をチェックします。
- 02順序や空行に関する問題を検出する4種類の警告コードを提供します。
- 03cryptography、google、smarkets、pep8などの組み込みスタイルを備えています。
- 04プロジェクト固有のアプリケーション名やパッケージ名を設定できます。
- 05サブクラス化とエントリーポイントを使ってカスタムスタイルを追加できます。
ユースケース
- CIでPythonコードベース全体のimportの並び方を統一する。
- Googleのスタイルガイドやプロジェクト固有の規約に沿ったimportスタイルを適用する。
- 既存のflake8によるlint設定に、import順序のチェックを追加する。
使う前に知っておきたいこと
- LGPL-3.0のライセンスが適用されます。再配布には条件があるコピーレフト型ライセンスです。
- モジュールスコープのimportのみをチェックします。TYPE_CHECKING内を除き、条件付きのimportは無視されます。
- 隣接するimport間のみ順序をチェックするため、順序が正しくないimportが一部報告されない場合があります。
収録されている特集
トピック
よくある質問
- flake8-import-order とは?
- Pythonのimportを選択したスタイルガイドに沿ってグループ分け・整列できているかをチェックする、flake8およびPylama用プラグイン。 flake8-import-orderは、Pythonのimport文のグループ分けと順序だけをチェックする、flake8およびPylama用のリンタープラグインです。importのほかの要素はチェックしません。標準ライブラリ、サードパーティパッケージ、ローカルパッケージの順に並べ、各グループ内をアルファベット順に整列します。ただし、細かなルールは選択したスタイルによって異なります。
- flake8-import-order は無料で使えますか?ライセンスは?
- flake8-import-order は LGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- flake8-import-order は今もメンテナンスされていますか?
- 活発にメンテナンス中。flake8-import-order の最終コミットは 2026年11月3日 です。
- flake8-import-order は何に使えますか?
- CIでPythonコードベース全体のimportの並び方を統一する。 Googleのスタイルガイドやプロジェクト固有の規約に沿ったimportスタイルを適用する。 既存のflake8によるlint設定に、import順序のチェックを追加する。
- flake8-import-order はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/PyCQA/flake8-import-order
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PyFlakes、pycodestyle、McCabeを1つのコマンドにまとめ、サードパーティ製プラグインにも対応するPythonリンターです。
標準ライブラリだけで動作し、PEP 8のスタイル規約に沿っているかをチェックする単一ファイルのPythonチェッカー。
関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。
isinstance呼び出しの統合やifブロックの三項演算子への置き換えなど、より簡潔に書けるPythonコードを指摘するflake8プラグイン。
複数プロジェクトで共通の設定を適用し、設定ファイルを自動修正できるコマンドラインツール兼flake8プラグイン。