The last example above demonstrates how check plugins can request
additional information with extra arguments. All attributes of the
Checker object are available. Some examples:

lines: a list of the raw lines from the input file

tokens: the tokens that contribute to this logical line

line_number: line number in the input file

total_lines: number of lines in the input file

blank_lines: blank lines before this one

indent_char: indentation character in this file ("" or "\t")

indent_level: indentation (with tabs expanded to multiples of 8)

previous_indent_level: indentation on previous line

previous_logical: previous logical line

Check plugins can also maintain per-file state. If you need this, declare
a parameter named checker_state. You will be passed a dict, which will be
the same one for all lines in the same file but a different one for different
files. Each check plugin gets its own dict, so you don’t need to worry about
clobbering the state of other plugins.

The docstring of each check function shall be the relevant part of
text from PEP 8. It is printed if the user enables --show-pep8.
Several docstrings contain examples directly from the PEP 8 document.

Okay:spam(ham[1],{eggs:2})E201:spam(ham[1],{eggs:2})

These examples are verified automatically when pycodestyle.py is run with
the --doctest option. You can add examples for your own check functions.
The format is simple: "Okay" or error/warning code followed by colon and
space, the rest of the line is example source code. If you put 'r' before
the docstring, you can use \n for newline and \t for tab.

When no path is specified, do not try to read from stdin. The feature
was added in 1.4.3, but it is not supported on Windows. Use -
filename argument to read from stdin. This usage is supported
since 1.3.4. (Issue #170)

Do not require setuptools in setup.py. It works around an issue
with pip and Python 3. (Issue #172)

Add __pycache__ to the ignore list.

Change misleading message for E251. (Issue #171)

Do not report false E302 when the source file has a coding cookie or a
comment on the first line. (Issue #174)

Reorganize the tests and add tests for the API and for the command line
usage and options. (Issues #161 and #162)

Ignore all checks which are not explicitly selected when select is
passed to the StyleGuide constructor.

Report E226 instead of E225 for optional whitespace around common
operators (*, **, /, + and -). This new error
code is ignored in the default configuration because PEP 8 recommends
to “use your own judgement”. (Issue #96)

Lines with a #nopep8 at the end will not issue errors on line
length E501 or continuation line indentation E12*. (Issue #27)