diff --git a/pyproject.toml b/pyproject.toml index eb6e934..8bdf71e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,62 +3,53 @@ ############################################################################### [tool.ruff] +target-version = "py311" + src = [ "src", ] -target-version = "py311" - -[tool.ruff.lint] -select = [ +lint.select = [ "ALL", ] -unfixable = [ - "T20", +lint.ignore = [ + "ANN", # flake8-annotations + "BLE", # flake8-blind-except + "D1", # missing docstring + "E501", # long lines + "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar` + "TCH", # flake8-type-checking / TODO: revisit later ? + + "TRY003", # Avoid specifying long messages outside the exception class +] +lint.per-file-ignores."**/tests/*" = [ + "ARG001", # Unused function argument (mostly fixtures) + "B011", # Do not call assert False since python -O removes these calls. + "PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable + "S101", # Use of assert detected. + "S106", # Possible hardcoded password. + "S311", # Standard pseudo-random generators are not suitable for cryptographic purposes. +] +lint.per-file-ignores."src/character/management/commands/*" = [ + "RUF001", # String contains ambiguous unicode character +] +lint.per-file-ignores."src/conftest.py" = [ + "INP001", +] +lint.per-file-ignores."src/manage.py" = [ + "INP001", +] +# File {name} is part of an implicit namespace package. Add an `__init__.py`. +lint.per-file-ignores."tasks.py" = [ + "INP001", +] +lint.unfixable = [ "RUF001", "RUF002", "RUF003", + "T20", ] - -ignore = [ - "ANN", # flake8-annotations - "BLE", # flake8-blind-except - "TCH", # flake8-type-checking / TODO: revisit later ? - - "E501", # long lines - "D1", # missing docstring - "TRY003", # Avoid specifying long messages outside the exception class - "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar` -] - -[tool.ruff.lint.per-file-ignores] -"**/tests/*" = [ - "S101", # Use of assert detected. - "S106", # Possible hardcoded password. - "B011", # Do not call assert False since python -O removes these calls. - "ARG001", # Unused function argument (mostly fixtures) - "PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable - "S311", # Standard pseudo-random generators are not suitable for cryptographic purposes. -] -# File {name} is part of an implicit namespace package. Add an `__init__.py`. -"tasks.py" = [ - "INP001", -] -"src/conftest.py" = [ - "INP001", -] -"src/manage.py" = [ - "INP001", -] - -"src/character/management/commands/*" = [ - "RUF001", # String contains ambiguous unicode character -] - -[tool.ruff.lint.pydocstyle] -convention = "pep257" - -[tool.ruff.lint.mccabe] -max-complexity = 10 +lint.mccabe.max-complexity = 10 +lint.pydocstyle.convention = "pep257" [tool.pytest.ini_options] addopts = """