Check PEP-8 naming conventions, plugin for flake8


Keywords
flake8, pep8, naming, flake8-extensions, flake8-plugin, linter-flake8, linter-plugin, naming-conventions, python
License
Saxpath
Install
pip install pep8-naming==0.11.0

Documentation

PEP 8 Naming Conventions

Check your code against PEP 8 naming conventions.

This module provides a plugin for flake8, the Python code checker.

(It replaces the plugin flint-naming for the flint checker.)

Installation

You can install, upgrade, uninstall pep8-naming with these commands:

$ pip install pep8-naming
$ pip install --upgrade pep8-naming
$ pip uninstall pep8-naming

Plugin for Flake8

When both flake8 and pep8-naming are installed, the plugin is available in flake8:

$ flake8 --version
4.0.1 (mccabe: 0.6.1, naming: 0.13.0, pycodestyle: 2.8.0, pyflakes: 2.4.0) CPython 3.8.10 on Linux

By default the plugin is enabled.

Error Codes

These error codes are emitted:

code sample message
_N801 class names should use CapWords convention (class names)
_N802 function name should be lowercase (function names)
_N803 argument name should be lowercase (function arguments)
_N804 first argument of a classmethod should be named 'cls' (function arguments)
_N805 first argument of a method should be named 'self' (function arguments)
_N806 variable in function should be lowercase
_N807 function name should not start and end with '__'
_N811 constant imported as non constant (constants)
_N812 lowercase imported as non-lowercase
_N813 camelcase imported as lowercase
_N814 camelcase imported as constant (distinct from N817 for selective enforcement)
_N815 mixedCase variable in class scope (constants, method names)
_N816 mixedCase variable in global scope (constants)
_N817 camelcase imported as acronym (distinct from N814 for selective enforcement)
_N818 error suffix in exception names (exceptions)

Options

The following flake8 options are added:

--ignore-names Ignore errors for specific names or glob patterns.

Currently, this option can only be used for N802, N803, N804, N805, N806, N815, and N816 errors.

Default: setUp,tearDown,setUpClass,tearDownClass,setUpModule,tearDownModule,asyncSetUp,asyncTearDown,setUpTestData,failureException,longMessage,maxDiff.

--classmethod-decorators List of method decorators pep8-naming plugin should consider class method.

Used to prevent false N804 errors.

Default: classmethod.

--staticmethod-decorators List of method decorators pep8-naming plugin should consider static method.

Used to prevent false N805 errors.

Default: staticmethod.

FAQ

How do I configure classmethod_decorators to recognize SQLAlchemy class methods?

classmethod_decorators =
    classmethod
    declared_attr
    expression
    comparator