skillfed

dlint

Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure.

dlint v0.16.0 93.0K downloads/30d#13,410 on PyPI179
Permissive license BSD-3-Clause AGING released

What it is and what it does

Dlint extends flake8 with a set of linting rules designed to catch security vulnerabilities and enforce coding best practices in Python. It operates as a flake8 plugin, so it integrates directly into your existing flake8 workflow and can be run from the command line or integrated into CI pipelines and editor plugins. The rules are prefixed with DUO and flag patterns like exec() calls, unsafe deserialization, and other insecure coding practices.

The package is lightweight—it depends only on flake8—and supports Python 3.8.1 through 3.14. It can be used standalone via the CLI with the --select=DUO flag, embedded in editor linters, or integrated into continuous integration systems. Custom plugins can be built by following a simple naming convention.

Use it for:

  • Catch insecure patterns like exec() and eval() in code review before they reach production.
  • Integrate security linting into CI/CD pipelines to enforce best practices across a codebase.
  • Enable real-time inline feedback in editors during development.
  • Enforce security standards across a team by running dlint in pre-commit hooks.
  • Extend dlint with custom security rules via plugins for domain-specific vulnerabilities.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Dlint is a flake8 plugin that adds security-focused and best-practice linting rules to Python code analysis, flagging insecure patterns like use of exec, unsafe deserialization, and other code quality issues.

Yes, with conditions. Dlint is a solid choice for adding security-focused linting to Python projects if you already use flake8. The low install friction and permissive license make adoption straightforward. However, the aging maintenance status means you should verify compatibility with your current Python and flake8 versions before relying on it for critical security workflows. No known vulnerabilities are recorded.

Install

dlint on PyPI

pip

pip install dlint

uv

uv add dlint

poetry

poetry add dlint

Installing dlint

Before you install

Low friction: pure Python wheel with only flake8 as a runtime dependency. Maintenance is aging—last release was 2024-10-31—but the repository remains active and unarchived.

License in practice

BSD-3-Clause is permissive; you can use, modify, and distribute dlint freely in commercial and private projects with minimal restrictions, provided you include the license notice.

Quickstart

pip install dlint
python -m flake8 --select=DUO /path/to/code

Requires flake8 to be installed; dlint operates as a flake8 plugin and cannot run standalone.

Verify before relying

  • Whether the aging maintenance status affects compatibility with Python 3.14 or current flake8 versions.
  • Coverage and completeness of security rules compared to other Python security linters.
  • Performance impact when running dlint on large codebases.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (<4.0.0,>=3.8.1)
Install friction low — pure-Python wheel
Runtime dependencies 1 — flake8
Maintenance aging — 652 days since the last release
Last repo commit
First released
Downloads 92,972/month — #13,410 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dlint-0.16.0-py3-none-any.whl

Environment :: ConsoleLicense :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: SecurityTopic :: Software Development :: Quality Assurance

Tags

python security lintingflake8 security pluginstatic code analysis securitypython code quality checkerinsecure pattern detectionpython best practices lintersecurity linter
security-lintingflake8-pluginstatic-analysis

More Security packages