@@ -43,20 +43,22 @@ target-version = "py313"
4343select = [" ALL" ]
4444ignore = [
4545 " ANN204" , # Missing return type for __init__
46- " C901" , # Too complex
4746 " COM812" , # Missing trailing comma (conflicts with formatter)
48- " D100" , " D101" , " D102" , " D103" , " D104" , " D105" , " D107" , # Missing docstrings
47+ " D100" , " D101" , " D102" , " D103" , " D104" , " D105" , " D107" , # Docstrings optional
4948 " D401" , # First line imperative mood
5049 " E501" , # Line too long (handled by formatter)
51- " ISC001" , # Single line implicit string concatenation (conflicts with formatter)
52- " RET503 " , # Missing explicit return
53- " S104" , # Possible binding to all interfaces
54- " S608" , # SQL injection (too many false positives)
50+ " ISC001" , # Conflicts with formatter
51+ " PLR0913 " , # Too many arguments (sometimes necessary)
52+ " S104" , # Binding to all interfaces
53+ " S608" , # SQL injection (false positives with ORMs )
5554 " W291" , # Trailing whitespace
5655]
5756fixable = [" ALL" ]
5857pydocstyle = { convention = " google" }
5958
59+ [tool .ruff .lint .mccabe ]
60+ max-complexity = 15
61+
6062[tool .ruff .lint .per-file-ignores ]
6163"**/wip*.py" = [" ALL" ]
6264"**/tests/*" = [" D" , " ANN" , " S" , " ERA" , " INP001" ]
@@ -88,19 +90,19 @@ docstring-code-line-length = 125
8890include = [" src" ]
8991exclude = [" **/node_modules" , " **/__pycache__" , " .venv" , " .git" , " dist" , " build" , " _*" , " wip*" , " **/tests" , " **/gen" , " **/program/*" , " **/*.ipynb" , " **/wip*.py" ]
9092defineConstant = { DEBUG = true }
91- typeCheckingMode = " standard "
93+ typeCheckingMode = " strict "
9294pythonVersion = " 3.13"
9395pythonPlatform = " All"
96+ # Relaxations for strict mode
97+ reportUnknownMemberType = " warning" # Too noisy for dynamic frameworks
98+ reportUnknownArgumentType = false # Too noisy for dynamic frameworks
99+ reportUnusedCallResult = false # Side-effect functions
100+ # Additional checks (explicit)
94101reportMissingImports = " error"
95- reportMissingTypeStubs = false
96- reportMissingModuleSource = false
97102reportUnknownParameterType = " warning"
98- reportUnknownArgumentType = false
99- reportUnknownMemberType = false
103+ reportUnknownArgumentType = " warning"
100104reportMissingParameterType = " warning"
101105reportUnnecessaryTypeIgnoreComment = " warning"
102106reportUnnecessaryIsInstance = " warning"
103- reportImportCycles = " warning"
104- reportUnusedImport = " warning"
107+ reportImportCycles = " error"
105108reportUnusedVariable = " warning"
106- reportDuplicateImport = " warning"
0 commit comments