Flake8 has a few utility functions that it uses internally.
As should be implied by where these are documented, these are all internal utility functions. Their signatures and return types may change between releases without notice.
Bugs reported about these internal functions will be closed immediately.
If functions are needed by plugin developers, they may be requested in the bug tracker and after careful consideration they may be added to the documented stable API.
- flake8.utils.parse_comma_separated_list(value, regexp=re.compile('[,\\s]'))¶
Parse a comma-separated list.
parse_comma_separated_list() takes either a string like
"E121,W123,F904" "E121,\nW123,\nF804" " E121,\n\tW123,\n\tF804 " " E121\n\tW123 \n\tF804"
And converts it to a list that looks as follows
["E121", "W123", "F904"]
This function helps normalize any kind of comma-separated input you or Flake8
might receive. This is most helpful when taking advantage of Flake8’s
additional parameters to
- flake8.utils.normalize_path(path, parent='.')¶
Normalize a single-path.
This utility takes a string that represents a path and returns the absolute
path if the string has a
/ in it. It also removes trailing
- flake8.utils.normalize_paths(paths, parent='.')¶
Normalize a list of paths relative to a parent directory.
This function retrieves and caches the value provided on
allows plugins to use this to retrieve
stdin if necessary.
Determine if we’re going to read from stdin.
Another helpful function that is named only to be explicit given it is a very
trivial check, this checks if the user specified
- in their arguments to
Flake8 to indicate we should read from stdin.
- flake8.utils.fnmatch(filename, patterns)¶
fnmatch.fnmatch()to add some functionality.
True if a pattern matches the filename, False if it doesn’t.
Trueif patterns is empty.
- Return type
The standard library’s
fnmatch.fnmatch() is excellent at deciding if a
filename matches a single pattern. In our use case, however, we typically have
a list of patterns and want to know if the filename matches any of them. This
function abstracts that logic away with a little extra logic.