@@ -36,7 +36,7 @@ dev = [
3636allow-direct-references = true
3737
3838[tool .hatch .build .targets .wheel ]
39- packages = [" shared/utils " , " src/core " ]
39+ packages = [" shared" , " src" ]
4040
4141[tool .mypy ]
4242exclude = " ^.tmp/"
@@ -59,12 +59,34 @@ extend-exclude = [
5959 " notebooks" ,
6060 " .cache" ,
6161]
62- line-length = 100
62+ line-length = 120
6363
6464[tool .ruff .lint ]
65- ignore = [" E501" ]
65+ ignore = [
66+ " E402" , # Module level import not at top of file
67+ " E501" , # Line too long
68+ " E203" , # Whitespace before ':' -> conflicts with black
69+ " D401" , # First line should be in imperative mood
70+ " RET504" , # Unnecessary variable assignment before return statement
71+ " RET505" , # Unnecessary elif after return statement
72+ " SIM102" , # Use a single if-statement instead of nested if-statements
73+ " SIM117" , # Merge with statements for context managers that have same scope
74+ " SIM118" , # Checks for key-existence checks against dict.keys() calls
75+ ]
6676select = [" E" , " F" , " I" ]
6777
78+ [tool .ruff .lint .per-file-ignores ]
79+ "*/__init__.py" = [" F401" ] # Unused import
80+
81+ [tool .ruff .lint .isort ]
82+ known-first-party = [" modern_python" , " core" ]
83+
84+ [tool .ruff .lint .pydocstyle ]
85+ convention = " google"
86+
87+ [tool .ruff .lint .mccabe ]
88+ max-complexity = 30
89+
6890[tool .pytest .ini_options ]
6991cache_dir = " .pytest_cache"
7092pythonpath = [" ." , " scripts" , " src" ]
0 commit comments