@@ -3,3 +3,66 @@ requires = [
33 " setuptools >= 40.0" ,
44]
55build-backend = " setuptools.build_meta"
6+
7+
8+
9+ [tool .ruff ]
10+ target-version = " py38"
11+ # Enable Pyflakes `E` and `F` codes by default.
12+ lint.select = [
13+ " E" ,
14+ " W" , # see: https://pypi.org/project/pycodestyle
15+ " F" , # see: https://pypi.org/project/pyflakes
16+ " I" , # see: https://pypi.org/project/isort/
17+ # "D", # see: https://pypi.org/project/pydocstyle
18+ # "N", # see: https://pypi.org/project/pep8-naming
19+ # "S", # see: https://pypi.org/project/flake8-bandit
20+ ]
21+ # lint.extend-select = [
22+ # "A", # see: https://pypi.org/project/flake8-builtins
23+ # "B", # see: https://pypi.org/project/flake8-bugbear
24+ # "C4", # see: https://pypi.org/project/flake8-comprehensions
25+ # "PT", # see: https://pypi.org/project/flake8-pytest-style
26+ # "RET", # see: https://pypi.org/project/flake8-return
27+ # "SIM", # see: https://pypi.org/project/flake8-simplify
28+ # "YTT", # see: https://pypi.org/project/flake8-2020
29+ # "ANN", # see: https://pypi.org/project/flake8-annotations
30+ # "TID", # see: https://pypi.org/project/flake8-tidy-imports/
31+ # "T10", # see: https://pypi.org/project/flake8-debugger
32+ # "Q", # see: https://pypi.org/project/flake8-quotes
33+ # "RUF", # Ruff-specific rules
34+ # "EXE", # see: https://pypi.org/project/flake8-executable
35+ # "ISC", # see: https://pypi.org/project/flake8-implicit-str-concat
36+ # "PIE", # see: https://pypi.org/project/flake8-pie
37+ # "PLE", # see: https://pypi.org/project/pylint/
38+ # "PERF", # see: https://pypi.org/project/perflint/
39+ # "PYI", # see: https://pypi.org/project/flake8-pyi/
40+ # ]
41+ # lint.ignore = [
42+ # "E731", # Do not assign a lambda expression, use a def
43+ # "D100", # todo: Missing docstring in public module
44+ # "D104", # todo: Missing docstring in public package
45+ # "D107", # Missing docstring in `__init__`
46+ # "ANN101", # Missing type annotation for `self` in method
47+ # "S301", # todo: `pickle` and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue # todo
48+ # "S310", # todo: Audit URL open for permitted schemes. Allowing use of `file:` or custom schemes is often unexpected. # todo
49+ # "B905", # todo: `zip()` without an explicit `strict=` parameter
50+ # ]
51+ lint.ignore-init-module-imports = true
52+ lint.unfixable = [" F401" ]
53+
54+ # [tool.ruff.lint.per-file-ignores]
55+ # "setup.py" = ["ANN202", "ANN401"]
56+ # "src/**" = ["ANN401"]
57+ # "tests/**" = ["S101", "ANN001", "ANN201", "ANN202", "ANN401"]
58+
59+ [tool .ruff .lint .pydocstyle ]
60+ # Use Google-style docstrings.
61+ convention = " google"
62+
63+ # [tool.ruff.pycodestyle]
64+ # ignore-overlong-task-comments = true
65+
66+ [tool .ruff .lint .mccabe ]
67+ # Unlike Flake8, default to a complexity level of 10.
68+ max-complexity = 10
0 commit comments