--- id: dlint version: "0.16.0" license: BSD-3-Clause license_treatment: permissive maintenance: aging --- # dlint — Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure. License: permissive · Maintenance: aging · Downloads: 93.0K/mo ## 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 above — 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 pip install dlint uv add dlint 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_current - Install friction: low - Maintenance: aging - Downloads: 93.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags python security linting, flake8 security plugin, static code analysis security, python code quality checker, insecure pattern detection, python best practices linter, security linter, security-linting, flake8-plugin, static-analysis [View on SkillFed](https://skillfed.io/packages/dlint) · [View on PyPI](https://pypi.org/project/dlint/)