|
@@ -0,0 +1,59 @@
|
|
|
+[tool.ruff]
|
|
|
+target-version = "py311"
|
|
|
+line-length = 88
|
|
|
+
|
|
|
+[tool.ruff.lint]
|
|
|
+ignore = [
|
|
|
+ "S101", # use of assert
|
|
|
+ "D203", # 1 blank line required before class docstring
|
|
|
+ "D212", # Multi-line docstring summary should start at the first line
|
|
|
+ "D100", # Missing docstring in public module
|
|
|
+ "D101", # Missing docstring in public module
|
|
|
+ "D102", # Missing docstring in public method
|
|
|
+ "D103", # Missing docstring in public module
|
|
|
+ "D104", # Missing docstring in public package
|
|
|
+ "D105", # Missing docstring in magic method
|
|
|
+ "D107", # Missing docstring in `__init__`
|
|
|
+ "D400", # First line should end with a period
|
|
|
+ "D401", # First line of docstring should be in imperative mood
|
|
|
+ "D205", # 1 blank line required between summary line and description
|
|
|
+ "D415", # First line should end with a period, question mark, or exclamation point
|
|
|
+ "D417", # Missing argument descriptions in the docstring
|
|
|
+ "E501", # Line too long
|
|
|
+ "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
|
|
|
+ "B008", # Do not perform function call
|
|
|
+ "S110", # `try`-`except`-`pass` detected, consider logging the exception
|
|
|
+ "D106", # Missing docstring in public nested class
|
|
|
+ "UP007", # typer needs Optional syntax
|
|
|
+ "UP038", # Use `X | Y` in `isinstance` is slower
|
|
|
+ "S603", # check for execution of untrusted input
|
|
|
+ "S105", # possible hard coded creds
|
|
|
+]
|
|
|
+select = [
|
|
|
+ "B", # flake8-bugbear
|
|
|
+ "D", # flake8-docstrings
|
|
|
+ "C4", # flake8-comprehensions
|
|
|
+ "S", # flake8-bandit
|
|
|
+ "F", # pyflake
|
|
|
+ "E", # pycodestyle
|
|
|
+ "W", # pycodestyle
|
|
|
+ "UP", # pyupgrade
|
|
|
+ "I", # isort
|
|
|
+ "RUF", # ruff specific
|
|
|
+]
|
|
|
+
|
|
|
+[tool.ruff.lint.per-file-ignores]
|
|
|
+"tests/**/*" = [
|
|
|
+ "D100",
|
|
|
+ "D101",
|
|
|
+ "D102",
|
|
|
+ "D103",
|
|
|
+ "D104",
|
|
|
+ "S101",
|
|
|
+]
|
|
|
+"setup.py" = ["D100"]
|
|
|
+"conftest.py" = ["D100"]
|
|
|
+"docs/conf.py" = ["D100"]
|
|
|
+
|
|
|
+[tool.ruff.lint.isort]
|
|
|
+known-first-party = ["pySwitchbot", "tests"]
|