@@ -15,7 +15,7 @@ dev = [
1515 " pytest>=9.0.1" ,
1616 " pytest-cov>=7.0.0" ,
1717 " ruff==0.14.4" ,
18- " pyright==1.1.405 " ,
18+ " pyright==1.1.407 " ,
1919 " pre-commit>=4.4.0" ,
2020]
2121
@@ -25,3 +25,62 @@ auto-x = "auto_x:main"
2525[build-system ]
2626requires = [" uv_build>=0.8.15,<0.9.0" ]
2727build-backend = " uv_build"
28+
29+ [tool .pyright ]
30+ venvPath = " ."
31+ venv = " .venv"
32+
33+ [tool .ruff ]
34+ line-length = 88
35+ target-version = " py310"
36+
37+ [tool .ruff .format ]
38+ docstring-code-format = true
39+
40+ [tool .ruff .lint ]
41+ select = [
42+ " D" , # docstring conventions
43+ " E" ,
44+ " F" ,
45+ " W" , # flake8
46+ " B" , # flake8-bugbear
47+ " I" , # isort
48+ " ARG" , # flake8-unused-arguments
49+ " C4" , # flake8-comprehensions
50+ " EM" , # flake8-errmsg
51+ " ICN" , # flake8-import-conventions
52+ " ISC" , # flake8-implicit-str-concat
53+ " G" , # flake8-logging-format
54+ " PGH" , # pygrep-hooks
55+ " PIE" , # flake8-pie
56+ " PL" , # pylint
57+ " PT" , # flake8-pytest-style
58+ " RET" , # flake8-return
59+ " RUF" , # Ruff-specific
60+ " SIM" , # flake8-simplify
61+ " UP" , # pyupgrade
62+ " YTT" , # flake8-2020
63+ " EXE" , # flake8-executable
64+ ]
65+
66+ ignore = [
67+ " PLR2004" , # Magic value used in comparison
68+ " EM102" , # Exception must not use an f-string literal, assign to variable first
69+ " ISC001" , # Conflicts with formatter
70+ # "D417", # Missing trailing new line in docstring
71+ " D100" , # Missing docstring in public module
72+ " D104" , # Missing docstring in public package
73+ " PLR0913" , # too many arguments
74+ ]
75+
76+ unfixable = [
77+ " F401" , # Would remove unused imports
78+ " F841" , # Would remove unused variables
79+ ]
80+ flake8-unused-arguments.ignore-variadic-names = true # allow unused *args/**kwargs
81+
82+ [tool .ruff .lint .pydocstyle ]
83+ convention = " numpy"
84+
85+ [tool .ruff .lint .per-file-ignores ]
86+ "tests/*.py" = [" D" ]
0 commit comments