Flake8 Extension to lint for quotes.
Major update in 2.0.0
We automatically encourage avoiding escaping quotes as per PEP 8. To disable this, use
--no-avoid-escape (can be used in configuration file via
Deprecation notice in 0.3.0
To anticipate multiline support, we are renaming
--inline-quotes. Please adjust your configurations appropriately.
If you are using flake8 it's as easy as:
pip install flake8-quotes
Now you don't need to worry about people like @sectioneight constantly complaining that you are using double-quotes and not single-quotes.
This package adds flake8 warnings with the prefix
Q0. You might want to
enable this warning inside your flake8 configuration file. Typically that
.flake8 inside the root folder of your project.
select = Q0
The current set of warnings is:
|Q000||Remove bad quotes|
|Q001||Remove bad quotes from multiline string|
|Q002||Remove bad quotes from docstring|
|Q003||Change outer quotes to avoid escaping inner quotes|
By default, we expect single quotes (') and look for unwanted double quotes ("). To expect double quotes (") and find unwanted single quotes ('), use the CLI option:
flake8 --inline-quotes '"' # We also support "double" and "single" # flake8 --inline-quotes 'double' # # We also support configuration for multiline quotes # flake8 --inline-quotes '"' --multiline-quotes "'" # We also support "'''" # flake8 --inline-quotes '"' --multiline-quotes "'''" # # We also support docstring quotes similarly # flake8 --inline-quotes '"' --docstring-quotes "'" # flake8 --inline-quotes '"' --docstring-quotes "'''" # We also support disabling escaping quotes # flake8 --no-avoid-escape
or configuration option in tox.ini/setup.cfg.
[flake8] inline-quotes = " # We also support "double" and "single" # inline-quotes = double # # We also support configuration for multiline quotes # multiline-quotes = ' # We also support "'''" # multiline-quotes = ''' # # We also support docstring quotes similarly # docstring-quotes = ' # docstring-quotes = ''' # # We also support disabling escaping quotes # avoid-escape = False
We follow the PEP8 conventions to avoid backslashes in the string. So, no matter what configuration you are using (single or double quotes) these are always valid strings
s = 'double "quotes" wrapped in singles are ignored' s = "single 'quotes' wrapped in doubles are ignored"