Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Check PI naming conventions, plugin for flake8

Project Description

Check the 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.)


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

$ pip install pi-naming
$ pip install --upgrade pi-naming
$ pip uninstall pi-naming

Plugin for Flake8

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

$ flake8 --version
2.0 (pep8: 1.4.3, pyflakes: 0.6.1, naming: 0.2)

By default the plugin is enabled.

These error codes are emitted:

code sample message
N801 class names should use CapWords convention
N802 function name should be lowercase
N803 argument name should be lowercase
N804 first argument of a classmethod should be named ‘cls’
N805 first argument of a method should be named ‘self’
N806 variable in function should be lowercase


0.4.1 - 2016-06-26

  • 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)

0.4.0 - 2016-06-26

  • Fix integration with Flake8 3.0.0b1
  • Start testing against Python 3.5

0.3.3 - 2015-06-30

  • Fix bug where ignored names were not properly split into a list.

0.3.2 - 2015-06-14

  • Fix bug trying to call split on a list.

0.3.1 - 2015-06-14

  • Fix optparse exception resulting from trying to register an option twice.

0.3.0 - 2015-06-14

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

0.2.2 - 2014-04-19

  • Do not require setuptools in It works around an issue with pip and Python 3.
  • __new__ is now considered as classmethod implicitly
  • Run unit tests on for python2.6, 2.7, 3.2, and 3.3
  • Add unit tests and support running them with
  • Support Python 3.4

0.2.1 - 2013-02-22

  • Do not require flake8

0.2 - 2013-02-22

  • Rename project flint-naming to pep8-naming
  • Fix a crash when function argument is a tuple of tuples

0.1 - 2013-02-11

  • First release

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(5.9 kB) Copy SHA256 Hash SHA256
Source None Jan 13, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers