Python style guide checker
Project Links
Meta
Author: Johann C. Rocholl
Maintainer: Ian Lee
Requires Python: >=3.9
Classifiers
Development Status
- 5 - Production/Stable
Environment
- Console
Intended Audience
- Developers
License
- OSI Approved :: MIT License
Operating System
- OS Independent
Programming Language
- Python
- Python :: 3
- Python :: 3 :: Only
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
Topic
- Software Development :: Libraries :: Python Modules
pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.
Features
Plugin architecture: Adding new checks is easy.
Parseable output: Jump to error location in your editor.
Small: Just one Python file, requires only stdlib. You can use just the pycodestyle.py file for this purpose.
Comes with a comprehensive test suite.
Installation
You can install, upgrade, and uninstall pycodestyle.py with these commands:
$ pip install pycodestyle $ pip install --upgrade pycodestyle $ pip uninstall pycodestyle
There’s also a package for Debian/Ubuntu, but it’s not always the latest version.
Example usage and output
$ pycodestyle --first optparse.py optparse.py:69:11: E401 multiple imports on one line optparse.py:77:1: E302 expected 2 blank lines, found 1 optparse.py:88:5: E301 expected 1 blank line, found 0 optparse.py:347:31: E211 whitespace before '(' optparse.py:357:17: E201 whitespace after '{' optparse.py:472:29: E221 multiple spaces before operator
You can also make pycodestyle.py show the source code for each error, and even the relevant text from PEP 8:
$ pycodestyle --show-source --show-pep8 testing/data/E40.py testing/data/E40.py:2:10: E401 multiple imports on one line import os, sys ^ Imports should usually be on separate lines. Okay: import os\nimport sys E401: import sys, os
Or you can display how often each error was found:
$ pycodestyle --statistics -qq Python-2.5/Lib 232 E201 whitespace after '[' 599 E202 whitespace before ')' 631 E203 whitespace before ',' 842 E211 whitespace before '(' 2531 E221 multiple spaces before operator 4473 E301 expected 1 blank line, found 0 4006 E302 expected 2 blank lines, found 1 165 E303 too many blank lines (4) 325 E401 multiple imports on one line 3615 E501 line too long (82 characters)
Links
Mar 29, 2025
2.13.0
Aug 04, 2024
2.12.1
Jun 15, 2024
2.12.0
Oct 12, 2023
2.11.1
Jul 29, 2023
2.11.0
Nov 23, 2022
2.10.0
Aug 03, 2022
2.9.1
Jul 30, 2022
2.9.0
Oct 11, 2021
2.8.0
Mar 14, 2021
2.7.0
May 11, 2020
2.6.0
Apr 23, 2020
2.6.0a1
Jan 29, 2019
2.5.0
Apr 10, 2018
2.4.0
Jan 31, 2017
2.3.1
Jan 30, 2017
2.3.0
Nov 14, 2016
2.2.0
Nov 04, 2016
2.1.0
Jun 01, 2016
2.0.0
May 31, 2016
2.0.0a1
May 31, 2016
1.8.0.dev0
Apr 10, 2018
0.0rc0
Wheel compatibility matrix
Files in release
No dependencies