NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3003 most downloaded on PyPI
Check PEP-8 naming conventions, plugin for flake8
Last release 1 years ago
05 May 2025
Release timing varies
gaps range from 4 weeks to 1.4 years
Nearly every release is documented
notes for 31 of 31 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
31 releases · first in 2013
N808 now allows type variable names to start with an underscore.
N808 checks type variable names use the CapWords convention and have an appropriate suffix.
One column per quarter.
Require Python 3.8 or later.
Ignore methods decorated by @typing.override .
@typing.override.ignore-names globbing on all platforms.Formally require flake8 5.0.0 or later.
Prepare the 0.13.2 release
Prepare the 0.13.2 release (#209)
Formally require Python 3.7 or later using python_requires.
Fix warnings related to deprecated options syntax
Fix warnings related to deprecated options syntax (#205)
Prepare the 0.13.0 release
Prepare the 0.13.0 release (#200)
Python 3.7 or later is now required.
setUpModule and tearDownModule are now exempted by default.
Prepare the 0.12.1 release
Prepare the 0.12.1 release (#176)
Prepare the 0.12.0 release
Prepare the 0.12.0 release (#172)
flake8 3.9.1 or later is now required.
N818 checks exception class names for an "Error" suffix (disabled by default).
asyncSetUp and asyncTearDown are now exempted by default.
Fix an AST-related AttributeError when processing decorator lists.
Fix an AST-related AttributeError when processing decorator lists.
__class_getitem__ is now recognized as a class method.
__class_getitem__ is now recognized as a class method.
Support ast.Call nodes in decorator lists (@decorator(arg)).
As a performance improvement, only checks for selected error codes are run.
--ignore-names now supports globbing and applies to the N804 and N805 checks.
--ignore-names now supports globbing and applies to the N804 and N805 checks.
"acronym" imports are now treated as their own error code (N817).
Metaclass detection has been improved.
Annotated variable declarations (PEP 526) and := variable assignments are now supported.
Fix line number offsets when reporting errors involving functions with decorators in Python 3.8 and later.
Fix line number offsets when reporting errors involving functions with decorators in Python 3.8 and later.
Drop support for Python 3.3 and 3.4.
Drop support for Python 3.3 and 3.4.
Support positional-only arguments in Python 3.8.
Recognize abc.ABCMeta as a metaclass base type.
ignore-names now also applies to the N803 check.
Handle assigning exceptions to object attributes in Python 2.
Fix a problem with ignore-names option initialization.
Fix a problem with ignore-names option initialization.
ignore-names now also applies to the N806, N815, and N816 checks.
ignore-names now also applies to the N806, N815, and N816 checks.
failureException, longMessage, and maxDiff have been added to the default ignore-names list.
Allow lowercase names to be imported as just _.
Allow function arguments to be named just _.
Support Python 2's tuple syntax in except clauses.
Detect N806 errors within for loops and exception handlers.
Detect N806 errors within for loops and exception handlers.
Improve support for non-ASCII characters.
Detect mixedCased variable names at class (N815) and global (N816) scope.
Ignore Django's setUpTestData method by default.
Fix column offsets for N803, N804, and N805 under Python 3.
Detect underscores within class names as N801 errors.
Don't flag __getattr__ and __dir__ as N807 errors. (See PEP 562).
async function and method names are now checked.
Detect N806 errors in generator expressions and comprehensions.
Detect N81x errors in import x as y statements.
Detect N806 in with ... as ...: statements.
Detect N806 in with ... as ...: statements.
Detect N806 in multiple assignment statements, e.g., Foo, Bar = unpacking.
Allow class names to be properly ignored.
Remove spurious 'xxx' from error message
Detect N807 within conditional statements.
Fix N804 check for cls used in metaclass methods (See also https://github.com/PyCQA/pep8-naming/issues/53)
Fix N804 check for cls used in metaclass methods (See also https://github.com/PyCQA/pep8-naming/issues/53)
Separate check for __ in function names to its own code: N807
Separate check for __ in function names to its own code: N807
Consider all metaclass methods to be class methods
Add configurable list of classmethod and staticmethod decorators
Add configurable list of classmethod and staticmethod decorators
Print the offending name as part of the error message
Correct N804/N805 for __init_subclass__
Note to self: Never do releases before ~0600 or coffee on a Sunday.
Note to self: Never do releases before ~0600 or coffee on a Sunday.
Fix option parsing for Flake8 3.0 (store parsed value on class)
Fix integration with Flake8 3.0.0b1
Fix integration with Flake8 3.0.0b1
Start testing against Python 3.5
Fix bug where ignored names were not properly split into a list.
Fix bug where ignored names were not properly split into a list.
Fix bug trying to call split on a list.
Fix bug trying to call split on a list.
Fix optparse exception resulting from trying to register an option twice.
Fix optparse exception resulting from trying to register an option twice.
Relaxed N806 checking for use with namedtuples
Relaxed N806 checking for use with namedtuples
Add --ignore-names which allows the user to specify a list of names to ignore. By default this includes setUp, tearDown, setUpClass, and tearDownClass.
Do not require setuptools in setup.py. It works around an issue with pip and Python 3.
Do not require setuptools in setup.py. It works around an issue with pip and Python 3.
__new__ is now considered as classmethod implicitly
Run unit tests on travis-ci.org for python2.6, 2.7, 3.2, and 3.3
Add unit tests and support running them with setup.py
Support Python 3.4
* Do not require flake8
Do not require flake8
Rename project flint-naming to pep8-naming
Rename project flint-naming to pep8-naming
Fix a crash when function argument is a tuple of tuples
Your coding agent can read these notes before it upgrades. Set up the MCP server →