Flake8 Rules
Documentation and examples for the rules in Flake8 (pyflakes, pycodestyle, and mccabe).
API
Flake8 Rules includes simple API with two endpoints.
Retrieve a single rule
This endpoints returns a single Flake8 rule.
Heads up: This endpoint returns JSON content but the Content-Type is set to text/html
. This is due to Jekyll's inability to generate files with permalinks that end in .json
.
$ curl https://www.flake8rules.com/api/rules/E111/
{
"code": "E111",
"message": "Indentation is not a multiple of four",
"content": "The rendered HTML content",
"links": ["https://www.python.org/dev/peps/pep-0008/#indentation"]
}
code
- The 4 character Flake8 issue code.message
- A short message describing the issue.content
- The fully rendered HTML content describing the issue and how to fix it.links
- A list of additional links to visit for more information.
Retrieve a list of all rules
This endpoint returns a list of all Flake8 rules.
$ curl https://www.flake8rules.com/api/rules.json
[
{
"code": "F812",
"message": "List comprehension redefines name from line n",
"content": "The rendered HTML content",
"links": ["https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions"]
}
]
Contributing
All rules go in the _rules
directory. They should be named with their 4 character code, like E301.md
.
To run the jekyll development server first install Jekyll. Then run the following:
$ bundle exec jekyll serve
Documenting Errors
- pyflakes error codes: http://flake8.pycqa.org/en/latest/user/error-codes.html#error-violation-codes
- pycodestyle error codes: http://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
Examples of pycodestyle error violations can be found in the project's test suite. This is useful for understanding violations and documenting them.