PyFlakes、pycodestyle、McCabeを1つのコマンドにまとめ、サードパーティ製プラグインにも対応するPythonリンターです。
dlint-py/dlint
execの使用や危険なデシリアライズなど、安全でないPythonのコーディングパターンを検出するflake8プラグイン。
- スター
- 178
- フォーク
- 18
- 未解決の Issue
- 23
- 最終コミット
- 18 日前
これは何?
Dlintは、安全でないパターンやバグ・セキュリティ問題につながりやすいコーディング慣習をソースコードから検出するPython用リンターです。flake8のプラグインとして動作するため、既存のflake8のワークフロー、オプション、設定をそのまま利用できます。各ルールにはDUOプレフィックス付きのIDがあり、違反箇所はファイル名、行番号、簡潔な説明とともに報告されます。たとえば、execの使用を検出できます。
DlintはpipでPyPIからインストールでき、コマンドラインから `flake8 --select=DUO` を実行すると、Dlintのルールだけに絞ってチェックできます。Vim、Emacs、Sublime Text、PyCharm、Atom、VS Codeなどのエディターでは、既存のflake8プラグインを通じて連携できます。また、ドキュメントに記載された命名規則に従い、名前が `dlint_plugin_` で始まる個別のモジュールとして独自ルールを作成できます。
主な機能
- 01DUOルールプレフィックスのもと、execの使用など安全でないPythonのパターンを検出する。
- 02flake8を基盤としており、flake8のオプションや設定を利用できる。
- 03コマンドラインから単一のファイルまたはディレクトリ全体をチェックできる。
- 04一般的なエディターのflake8連携に対応し、インラインで結果を確認できる。
- 05命名規則に従って読み込まれるカスタムルールプラグインに対応する。
ユースケース
- PythonプロジェクトのCIパイプラインに、セキュリティ重視のlintチェックを追加する。
- execのような危険な構文がないか、既存のPythonコードを確認する。
- カスタムプラグインを使って、チーム独自のセキュアコーディングルールを徹底する。
クイックスタート
- 1
PyPIからDlintをインストールする
python -m pip install dlint - 2
ファイルまたはディレクトリに対して、flake8でDlintのルールを実行する
python -m flake8 --select=DUO /path/to/code
使う前に知っておきたいこと
- Dlintはflake8プラグインとして動作するため、flake8とPythonのインストールが必要です。
収録されている特集
トピック
よくある質問
- dlint とは?
- execの使用や危険なデシリアライズなど、安全でないPythonのコーディングパターンを検出するflake8プラグイン。 Dlintは、安全でないパターンやバグ・セキュリティ問題につながりやすいコーディング慣習をソースコードから検出するPython用リンターです。flake8のプラグインとして動作するため、既存のflake8のワークフロー、オプション、設定をそのまま利用できます。各ルールにはDUOプレフィックス付きのIDがあり、違反箇所はファイル名、行番号、簡潔な説明とともに報告されます。たとえば、execの使用を検出できます。
- dlint は無料で使えますか?ライセンスは?
- dlint は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dlint は今もメンテナンスされていますか?
- 活発にメンテナンス中。dlint の最終コミットは 2026年10月20日 です。
- dlint は何に使えますか?
- PythonプロジェクトのCIパイプラインに、セキュリティ重視のlintチェックを追加する。 execのような危険な構文がないか、既存のPythonコードを確認する。 カスタムプラグインを使って、チーム独自のセキュアコーディングルールを徹底する。
- dlint のインストール方法は?
- PyPIからDlintをインストールする: python -m pip install dlint ファイルまたはディレクトリに対して、flake8でDlintのルールを実行する: python -m flake8 --select=DUO /path/to/code
- dlint はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/dlint-py/dlint
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
一貫性のあるシンプルなPythonのコードスタイルを徹底し、複雑なコードパターンを検出する、厳格で独自の方針を持つflake8プラグイン。
pyflakesやpycodestyleがチェックしない、バグの可能性が高いコードや疑わしい設計パターンを検出するFlake8プラグイン。
関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。
Rust製の多言語対応CLI。1つのツールと設定ファイルで、リンター、コードフォーマッター、セキュリティスキャナー、保守性チェックを実行できます。
不要または非効率な内包表記や組み込み関数の呼び出しパターンを検出するflake8プラグイン。