Fix ecosystem check for indico (#10164) · astral-sh/ruff@72ccb34 (original) (raw)

`@@ -3,7 +3,6 @@

`

3

3

`"""

`

4

4

`from ruff_ecosystem.projects import (

`

5

5

`CheckOptions,

`

6

``

`-

ConfigOverrides,

`

7

6

`FormatOptions,

`

8

7

`Project,

`

9

8

`Repository,

`

55

54

`Project(repo=Repository(owner="pypa", name="pip", ref="main")),

`

56

55

`Project(

`

57

56

`repo=Repository(owner="pypa", name="setuptools", ref="main"),

`

58

``

`` -

Since setuptools opts into the "preserve" quote style which

``

59

``

`` -

require preview mode, we must disable it during the --no-preview run

``

60

``

`-

config_overrides=ConfigOverrides(

`

61

``

`-

when_no_preview={"format.quote-style": "double"}

`

62

``

`-

),

`

63

57

` ),

`

64

58

`Project(repo=Repository(owner="python", name="mypy", ref="master")),

`

65

59

`Project(

`

99

93

` ),

`

100

94

`Project(

`

101

95

`repo=Repository(owner="indico", name="indico", ref="master"),

`

``

96

`+

Remove once indico removed S401 from their ignore configuration

`

``

97

`+

config_overrides={

`

``

98

`+

"lint.ignore": [

`

``

99

`+

"E226", # allow omitting whitespace around arithmetic operators

`

``

100

`+

"E731",

`

``

101

`+

allow assigning lambdas (it's useful for single-line functions defined inside other functions)

`

``

102

`+

"N818", # not all our exceptions are errors

`

``

103

`+

"RUF012", # ultra-noisy and dicts in classvars are very common

`

``

104

`+

"RUF015", # not always more readable, and we don't do it for huge lists

`

``

105

`+

"RUF022", # autofix messes up out formatting instead of just sorting

`

``

106

`+

"RUF027", # also triggers on i18n functions -> too noisy for now

`

``

107

`+

"D205", # too many docstrings which have no summary line

`

``

108

`+

"D301", # https://github.com/astral-sh/ruff/issues/8696

`

``

109

`+

"D1", # we have way too many missing docstrings :(

`

``

110

`+

"D401", # too noisy (but maybe useful to go through at some point)

`

``

111

`+

"D412", # we do not use section, and in click docstrings those blank lines are useful

`

``

112

`` +

"S101", # we use asserts outside tests, and do not run python with -O (also see B011)

``

``

113

`+

"S113", # enforcing timeouts would likely require config in some places - maybe later

`

``

114

`+

"S311", # false positives, it does not care about the context

`

``

115

`+

"S324", # all our md5/sha1 usages are for non-security purposes

`

``

116

`+

"S404", # useless, triggers on all subprocess imports

`

``

117

`+

"S403", # there's already a warning on using pickle, no need to have one for the import

`

``

118

`+

"S405", # we don't use lxml in unsafe ways

`

``

119

`+

"S603", # useless, triggers on all subprocess calls: https://github.com/astral-sh/ruff/issues/4045

`

``

120

`+

"S607", # we trust the PATH to be sane

`

``

121

`` +

"B011", # we don't run python with -O (also see S101)

``

``

122

`+

"B904", # possibly useful but too noisy

`

``

123

`+

"COM812", # trailing commas on multiline lists are nice, but we have 2.5k violations

`

``

124

`` +

"PIE807", # lambda: [] is much clearer for load_default in schemas

``

``

125

`+

"PT004", # pretty weird + not a pytest convention: https://github.com/astral-sh/ruff/issues/8796

`

``

126

`+

"PT005", # ^ likewise

`

``

127

`+

"PT011", # very noisy

`

``

128

`+

"PT015", # nice for tests but not so nice elsewhere

`

``

129

`+

"PT018", # ^ likewise

`

``

130

`+

"SIM102", # sometimes nested ifs are more readable

`

``

131

`+

"SIM103", # sometimes this is more readable (especially when checking multiple conditions)

`

``

132

`+

"SIM105", # try-except-pass is faster and people are used to it

`

``

133

`+

"SIM108", # noisy ternary

`

``

134

`+

"SIM114", # sometimes separate ifs are more readable (especially if they just return a bool)

`

``

135

`+

"SIM117", # nested context managers may be more readable

`

``

136

`+

"PLC0415", # local imports are there for a reason

`

``

137

`+

"PLC2701", # some private imports are needed

`

``

138

`+

"PLR09", # too-many- is just noisy

`

``

139

`+

"PLR0913", # very noisy

`

``

140

`+

"PLR2004", # extremely noisy and generally annoying

`

``

141

`+

"PLR6201", # sets are faster (by a factor of 10!) but it's noisy and we're in nanoseconds territory

`

``

142

`+

"PLR6301", # extremely noisy and generally annoying

`

``

143

`+

"PLW0108", # a lambda often makes it more clear what you actually want

`

``

144

`+

"PLW1510", # we often do not care about the status code of commands

`

``

145

`+

"PLW1514", # we expect UTF8 environments everywhere

`

``

146

`+

"PLW1641", # false positives with SA comparator classes

`

``

147

`+

"PLW2901", # noisy and reassigning to the loop var is usually intentional

`

``

148

`+

"TRY002", # super noisy, and those exceptions are pretty exceptional anyway

`

``

149

`+

"TRY003", # super noisy and also useless w/ werkzeugs http exceptions

`

``

150

`+

"TRY300", # kind of strange in many cases

`

``

151

`+

"TRY301", # sometimes doing that is actually useful

`

``

152

`+

"TRY400", # not all exceptions need exception logging

`

``

153

`+

"PERF203", # noisy, false positives, and not applicable for 3.11+

`

``

154

`+

"FURB113", # less readable

`

``

155

`+

"FURB140", # less readable and actually slower in 3.12+

`

``

156

`+

]

`

``

157

`+

},

`

102

158

` ),

`

103

159

`# Jupyter Notebooks

`

104

160

`Project(

`