pep8-naming
pep8-naming copied to clipboard
Naming Convention checker for Python
PEP 8 Naming Conventions
Check your code against PEP 8 <https://www.python.org/dev/peps/pep-0008/>_
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) |
+---------+-----------------------------------------------------------------+
.. _class names: https://www.python.org/dev/peps/pep-0008/#class-names .. _constants: https://www.python.org/dev/peps/pep-0008/#constants .. _exceptions: https://www.python.org/dev/peps/pep-0008/#exception-names .. _function names: https://www.python.org/dev/peps/pep-0008/#function-and-variable-names .. _function arguments: https://www.python.org/dev/peps/pep-0008/#function-and-method-arguments .. _method names: https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
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``.