flake8-quotes
Flake8 lint for quotes.
What it is and what it does
flake8-quotes is a flake8 plugin that audits Python source code for quote style consistency. It enforces rules on inline strings, multiline strings, and docstrings, allowing you to standardize on either single or double quotes across a codebase. The plugin emits warnings with the Q0 prefix (Q000 for bad quotes, Q001 for multiline, Q002 for docstrings, Q003 for unnecessary escaping) that integrate into flake8's normal output.
The package follows PEP 8 conventions by default, preferring single quotes and automatically flagging unnecessary escape sequences. You configure it via flake8's standard configuration files (.flake8, setup.cfg, tox.ini) or CLI flags, choosing your preferred quote style and whether to allow escaping. It has no runtime dependencies beyond flake8 itself and supports Python 3.8, 3.9, 3.10, 3.11, and 3.12.
Use it for:
- Enforce single-quote style across a team's codebase to match PEP 8 conventions and reduce style debates.
- Catch inconsistent quote usage in docstrings and multiline strings that other linters might miss.
- Automatically flag unnecessary quote escaping (e.g., using double quotes when single quotes would avoid a backslash).
- Integrate quote-style checks into CI/CD pipelines alongside other flake8 rules without adding a separate tool.
- Configure different quote rules for inline strings versus docstrings in the same project.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A flake8 plugin that enforces consistent quote style in Python code, checking inline strings, multiline strings, and docstrings against configurable rules.
Yes, if you use flake8 and want to enforce quote consistency. The plugin is stable (Production/Stable status, MIT license, no known vulnerabilities) and in active use. The dormant maintenance status is a minor concern—check that it remains compatible with your flake8 version—but the simple, focused scope of quote linting makes it unlikely to break.
Install
flake8-quotes on PyPI
pip
pip install flake8-quotesuv
uv add flake8-quotespoetry
poetry add flake8-quotesInstalling flake8-quotes
Before you install
High install friction: the package is dormant (916 days since last release, last commit 2024-03-23) and has no runtime dependencies, meaning it relies entirely on flake8 being installed separately.
License in practice
MIT license (permissive) places no restrictions on use or redistribution. You can integrate this into any project without licensing concerns.
Quickstart
pip install flake8-quotes
Then in .flake8 or setup.cfg:
[flake8]
inline-quotes = '
select = Q0
Run: flake8 your_file.py
flake8 must be installed and available; this package is a plugin that extends it, not a standalone tool.
Verify before relying
- Whether flake8 itself must be pre-installed or if this package declares it as a dependency.
- Whether the dormant status and 916-day gap since last release affects compatibility with recent flake8 versions.
- Actual download volume and user base size relative to the stated monthly download count.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | dormant — 916 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 965,631/month — #4,622 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flake8-quotes-3.4.0.tar.gz
Keywords: flake8, lint, quotes
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
flake8-literalA flake8 plugin that enforces consistent…
copyleft · top 15,000 on PyPI
flake8-picky-parenthesesA flake8 plugin that detects and reports…
permissive · top 15,000 on PyPI
pylint-quotesA Pylint plugin that enforces consistent use of…
permissive · top 15,000 on PyPI
flake8-copyrightA flake8 plugin that enforces the presence of…
unclear · top 15,000 on PyPI
pep8-namingA flake8 plugin that checks Python code for…
permissive · top 5,000 on PyPI
flake8-djangoA flake8 plugin that detects Django-specific…
copyleft · top 15,000 on PyPI
mslexProvides Windows-compatible command-line…
permissive · top 5,000 on PyPI
flake8-docstringsIntegrates pydocstyle docstring checking into…
permissive · top 5,000 on PyPI
flake8-deprecatedA flake8 plugin that detects calls to…
copyleft · top 15,000 on PyPI
flake8-unused-argumentsA flake8 plugin that detects unused function…
permissive · top 15,000 on PyPI