id = "pycodestyle"
name = "pycodestyle"
homepage = "https://pycodestyle.pycqa.org/"
description = "A tool to check your Python code against some of the style conventions in PEP 8."
executables = ["pycodestyle"]
[dotfiles]
paths = ["~/.pycodestyle", "[configHome]/pycodestyle"]
exclude = []
secret = []
[commands]
format = 1
label = "Check Python style"
description = "Check Python files or directories against PEP 8. Config-file options and testing options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://raw.githubusercontent.com/PyCQA/pycodestyle/main/docs/intro.rst"
revision = "2026-10-27"
evidence = """
Usage: pycodestyle [options] input ...
-v, --verbose print status messages, or debug with -vv
-q, --quiet report only file names, or nothing with -qq
--first show first occurrence of each error
--exclude=patterns exclude files or directories which match these comma
separated patterns (default: .svn,CVS,.bzr,.hg,.git)
--select=errors select errors and warnings (e.g. E,W6)
--ignore=errors skip errors and warnings (e.g. E4,W)
--show-source show source code for each error
--statistics count errors and warnings
--count print total number of errors and warnings to standard
error and set exit code to 1 if total is not null
--max-line-length=n set maximum allowed line length (default: 79)
--diff report only lines changed according to the unified diff
received on STDIN
"""
[[commands.field]]
id = "inputs"
label = "Files or directories"
type = "path"
position = 0
multiple = true
path = { kind = "any", role = "input", must_exist = true }
sources = ["help"]
[[commands.field]]
id = "max_line_length"
label = "Max line length"
type = "integer"
option = ["--max-line-length"]
sources = ["help"]
[[commands.field]]
id = "select"
label = "Select errors"
description = "Comma-separated codes, e.g. E,W6."
type = "string"
option = ["--select"]
sources = ["help"]
[[commands.field]]
id = "ignore"
label = "Ignore errors"
description = "Comma-separated codes, e.g. E4,W."
type = "string"
option = ["--ignore"]
sources = ["help"]
[[commands.field]]
id = "exclude"
label = "Exclude patterns"
description = "Comma-separated patterns."
type = "string"
option = ["--exclude"]
sources = ["help"]
[[commands.field]]
id = "show_source"
label = "Show source"
type = "boolean"
option = ["--show-source"]
sources = ["help"]
[[commands.field]]
id = "statistics"
label = "Statistics"
type = "boolean"
option = ["--statistics"]
sources = ["help"]
[[commands.field]]
id = "count"
label = "Print total count"
type = "boolean"
option = ["--count"]
sources = ["help"]
[[commands.field]]
id = "first"
label = "First occurrence only"
type = "boolean"
option = ["--first"]
sources = ["help"]
[[commands.field]]
id = "verbose"
label = "Verbose"
type = "count"
option = ["-v", "--verbose"]
sources = ["help"]
[[commands.task]]
id = "check"
label = "Check files"
fields = ["inputs", "max_line_length", "show_source", "statistics"]
required = ["inputs"]
[[commands.task]]
id = "summary"
label = "Summarize errors"
set = { statistics = [true], count = [true] }
fields = ["inputs", "statistics", "count", "select", "ignore"]
required = ["inputs"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["inputs", "max_line_length", "show_source", "statistics", "count"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["select", "ignore", "exclude", "first", "verbose"]