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.3.3

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