| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- [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
 
-     "TID252", # not for this lib
 
-     "TRY003", # nice but too many to fix,
 
-     "G201", # too noisy
 
-     "PLR2004", # too many to fix
 
- ]
 
- select = [
 
-     "ASYNC", # async rules
 
-     "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
 
-     "FLY", # flynt
 
-     "G", # flake8-logging-format   ,
 
-     "PERF", # Perflint
 
-     "PGH", # pygrep-hooks
 
-     "PIE", # flake8-pie
 
-     "PL", # pylint
 
-     "PT", # flake8-pytest-style
 
-     "PTH", # flake8-pathlib
 
-     "PYI", # flake8-pyi
 
-     "RET", # flake8-return
 
-     "RSE", # flake8-raise    ,
 
-     "SIM", # flake8-simplify
 
-     "SLF", # flake8-self
 
-     "SLOT", # flake8-slots
 
-     "T100", # Trace found: {name} used
 
-     "T20", # flake8-print
 
-     "TID", # Tidy imports
 
-     "TRY", # tryceratops
 
- ]
 
- [tool.ruff.lint.per-file-ignores]
 
- "tests/**/*" = [
 
-     "D100",
 
-     "D101",
 
-     "D102",
 
-     "D103",
 
-     "D104",
 
-     "S101",
 
-     "SLF001",
 
-     "PLR2004",
 
- ]
 
- "setup.py" = ["D100"]
 
- "conftest.py" = ["D100"]
 
- "docs/conf.py" = ["D100"]
 
- "scripts/**/*" = [
 
-     "T201"
 
- ]
 
- [tool.ruff.lint.isort]
 
- known-first-party = ["pySwitchbot", "tests"]
 
 
  |