[build-system]
requires = ["setuptools", "wheel"]  # PEP 508 specifications.

[tool.ruff]
line-length = 120

select = [
    "E",  # Pycodestyle
    "F",  # Pyflakes
    "PL", # pylint
    "I",  # isort
]
ignore = ["PLR0913"]

[tool.ruff.pylint]
max-branches = 25
max-returns = 8
max-statements = 80

[tool.ruff.per-file-ignores]
"__init__.py" = ["F401", "E501"]
"integration_uri.py" = ["E501"] # ARNs are long.
"app.py" = ["E501"] # Doc links are long.

[tool.black]
line-length = 120
target_version = ['py38', 'py37', 'py36']
exclude = '''

(
  /(
      \.eggs         # exclude a few common directories in the
    | \.git          # root of the project
    | \.tox
    | \.venv
    | dist
    | pip-wheel-metadata
    | samcli/lib/init/templates
    | tests/integration/testdata
  )/
)
'''