@@ -52,6 +52,9 @@ path = "mkdocs_redirects/__init__.py"
52
52
[tool .hatch .build .targets .sdist ]
53
53
include = [" /mkdocs_redirects" , " /tests" ]
54
54
55
+ [tool .hatch .env ]
56
+ requires = [" hatch-pip-compile >=1.7.0" ]
57
+
55
58
[tool .hatch .envs .default .scripts ]
56
59
all = [
57
60
" hatch run style:fix" ,
@@ -65,52 +68,57 @@ dependencies = [
65
68
]
66
69
[tool .hatch .envs .test .scripts ]
67
70
test = [
68
- " pytest -q" ,
71
+ " pytest -q {args} " ,
69
72
]
70
73
71
74
[tool .hatch .envs .types ]
72
75
dependencies = [
73
76
" mypy" ,
74
77
]
75
78
[tool .hatch .envs .types .scripts ]
76
- check = [
77
- " mypy mkdocs_redirects"
78
- ]
79
+ check = " mypy {args} mkdocs_redirects"
79
80
80
81
[tool .hatch .envs .style ]
81
- skip-install = true
82
+ type = " pip-compile"
83
+ detached = true
82
84
dependencies = [
83
85
" ruff" ,
84
86
]
85
87
[tool .hatch .envs .style .scripts ]
88
+ check = " ruff check mkdocs_redirects tests {args}"
89
+ format = " ruff format -q mkdocs_redirects tests"
86
90
fix = [
87
- " ruff check --fix mkdocs_redirects tests " ,
91
+ " check --fix --unsafe-fixes " ,
88
92
" format" ,
89
93
]
90
- format = [
91
- " ruff format -q mkdocs_redirects tests" ,
92
- ]
93
94
94
95
[tool .ruff ]
95
96
line-length = 100
97
+ [tool .ruff .lint ]
98
+ preview = true
96
99
select = [
97
- " F" , " W " , " E " , " I" , " UP" , " YTT" , " C4" , " DTZ" , " T10" , " FA" , " ISC" , " PIE" , " T20" , " RSE" , " TCH" ,
100
+ " F" , " E " , " W " , " I" , " UP" , " YTT" , " C4" , " DTZ" , " T10" , " FA" , " ISC" , " PIE" , " T20" , " RSE" , " TCH" ,
98
101
" N803" , " N804" , " N805" , " N806" , " N807" , " N815" , " N816" , " N999" ,
99
- " B002" , " B003" , " B005" , " B007" , " B008" , " B009" , " B010" , " B011" , " B012" , " B013" , " B014" , " B015" , " B016" , " B017" , " B018" , " B020" , " B021" , " B022" , " B023" , " B025" , " B026" , " B029" , " B030" , " B031" , " B032" , " B033" , " B034" , " B905" ,
102
+ " B002" , " B003" , " B005" , " B007" , " B008" , " B009" , " B010" , " B011" , " B012" , " B013" , " B014" , " B015" , " B016" , " B017" , " B018" , " B020" , " B021" , " B022" , " B023" , " B025" , " B026" , " B029" , " B030" , " B031" , " B032" , " B033" , " B034" , " B035 " , " B905" ,
100
103
" COM818" ,
101
104
" G001" , " G010" , " G202" ,
102
- " RET502" ,
103
- " SIM101" , " SIM103" , " SIM105" , " SIM107" , " SIM118" , " SIM201" , " SIM202" , " SIM208" , " SIM210" , " SIM211" , " SIM212" , " SIM220" , " SIM221" , " SIM222" , " SIM223" , " SIM300" , " SIM401" , " SIM910" ,
104
- " PGH002" , " PGH003" , " PGH004" , " PGH005" ,
105
- " PLC" , " PLE" ,
106
- " PLR0124" , " PLR0133" , " PLR0206" , " PLR0402" , " PLR1701" , " PLR1722" , " PLW0120" , " PLW0127" , " PLW0129" , " PLW0131" , " PLW0406" , " PLW0602" , " PLW0603" , " PLW0711" , " PLW1508" , " PLW3301" ,
105
+ " Q004" ,
106
+ " RET502" , " RET504" ,
107
+ " SIM101" , " SIM103" , " SIM105" , " SIM107" , " SIM118" , " SIM201" , " SIM202" , " SIM208" , " SIM210" , " SIM211" , " SIM212" , " SIM220" , " SIM221" , " SIM222" , " SIM223" , " SIM300" , " SIM401" , " SIM910" , " SIM911" ,
108
+ " PGH003" , " PGH004" , " PGH005" ,
109
+ " PLC0105" , " PLC0131" , " PLC0132" , " PLC0205" , " PLC0208" , " PLC0414" , " PLC2401" , " PLC2403" , " PLC2701" , " PLC2801" , " PLC3002" ,
110
+ " PLE0100" , " PLE0101" , " PLE0116" , " PLE0117" , " PLE0118" , " PLE0241" , " PLE0302" , " PLE0307" , " PLE0604" , " PLE0605" , " PLE0704" , " PLE1132" , " PLE1142" , " PLE1205" , " PLE1206" , " PLE1300" , " PLE1307" , " PLE1310" , " PLE1507" , " PLE1700" , " PLE2502" , " PLE2510" , " PLE2512" , " PLE2513" , " PLE2514" , " PLE2515" ,
111
+ " PLR0124" , " PLR0133" , " PLR0206" , " PLR0402" , " PLR1701" , " PLR1722" , " PLR1733" , " PLR1736" ,
112
+ " PLW0108" , " PLW0120" , " PLW0127" , " PLW0129" , " PLW0131" , " PLW0245" , " PLW0406" , " PLW0602" , " PLW0603" , " PLW0604" , " PLW0711" , " PLW1501" , " PLW1508" , " PLW1514" , " PLW2101" , " PLW3301" ,
107
113
" TRY302" , " TRY401" ,
108
114
" FLY002" ,
109
- " PERF101" , " PERF102" , " PERF402" ,
110
- " RUF001" , " RUF005" , " RUF007" , " RUF008" , " RUF009" , " RUF010" , " RUF011" , " RUF013" , " RUF015" , " RUF016" , " RUF100" , " RUF200" ,
115
+ " PERF101" , " PERF102" , " PERF402" , " PERF403" ,
116
+ " FURB105" , " FURB118" , " FURB131" , " FURB132" , " FURB148" , " FURB163" , " FURB167" , " FURB168" , " FURB169" ,
117
+ " LOG001" , " LOG009" ,
118
+ " RUF001" , " RUF005" , " RUF007" , " RUF008" , " RUF009" , " RUF010" , " RUF013" , " RUF015" , " RUF016" , " RUF017" , " RUF018" , " RUF019" , " RUF020" , " RUF021" , " RUF022" , " RUF100" , " RUF200" ,
111
119
]
112
120
ignore = [" E501" , " E731" ]
113
- [tool .ruff .flake8-comprehensions ]
121
+ [tool .ruff .lint . flake8-comprehensions ]
114
122
allow-dict-calls-with-keyword-arguments = true
115
123
116
124
[tool .mypy ]
0 commit comments