Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PyCQA/pep8-naming
Naming Convention checker for Python
https://github.com/PyCQA/pep8-naming
flake8 flake8-extensions flake8-plugin linter-flake8 linter-plugin naming-conventions pep8 python
Last synced: about 2 months ago
JSON representation
Naming Convention checker for Python
- Host: GitHub
- URL: https://github.com/PyCQA/pep8-naming
- Owner: PyCQA
- License: other
- Created: 2013-02-09T18:32:52.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2024-05-17T14:08:28.000Z (7 months ago)
- Last Synced: 2024-10-03T08:47:27.672Z (2 months ago)
- Topics: flake8, flake8-extensions, flake8-plugin, linter-flake8, linter-plugin, naming-conventions, pep8, python
- Language: Python
- Homepage: pypi.python.org/pypi/pep8-naming
- Size: 215 KB
- Stars: 503
- Watchers: 15
- Forks: 195
- Open Issues: 22
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
- stars - PyCQA/pep8-naming
- awesome-flake8-extensions - pep8-naming - Check the PEP-8 naming conventions. (Naming)
- awesome-python-backend - _pep8-naming_ - checks that names follow Python standards defined in PEP8 (Topics Index / Code Quality and Linting)
README
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-namingPlugin 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 LinuxBy 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-variablesOptions
-------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.. _SQLAlchemy: https://www.sqlalchemy.org/