@@ -105,56 +105,77 @@ select = [
105105 " DOC" # Doc strings, kinda annoying for a bot, to be honest
106106]
107107ignore = [
108- # General disagreement with Ruff
108+ # 1. General "Somewhat Public" disagreement with Ruff
109109 " ANN401" , # `Any` is the correct type in some cases
110110 " ASYNC109" , # dpy and other libraries commonly use this parameter
111111 " ASYNC116" , # Long sleeps are fine
112112 " C90" , # mc cabe complexity memes
113+ " COM812" , # Ruff page recommends using formatter instead
114+ " COM819" , # Ruff page recommends using formatter instead
113115 " F401" , # unused imports
114116 " F403" , # wildcard imports: `from math import *` are used in __init__.py a lot
115117 " F405" , # wildcard imports are not that bad
116118 " INP001" , # due to how we load modules this results in annoyances
119+ " PLC0414" , # pyright ruling for `as` imports needed
117120 " PLC0415" , # ruff gets this wrong, import needs to be not at top of file in some cases
118121 " RUF001" , # ambiguous characters not something I want to enforce here.
122+ " RUF029" , # no, don't try and tell me I'm wrong for async def when something is for an interface.
119123 " S101" , # use of assert here is a known quantity, blame typing memes
120- " S311" , # Yes, standard pseudo-random generators are not suitable for cryptographic purposes so what
124+ " S311" , # standard pseudo-random generators are not suitable for cryptographic purposes, so what;
121125 " TRY003" , # over-eager rule
122126 " TRY301" , # unrealistic rule
123127
124- # Personal problems
128+ # 2. Personal disagreement
125129 " PLR0904" , # too many public methods
126130 " PLR0912" , # too many branches
127131 " PLR0913" , # number of function arguments
128132 " PLR0914" , # too many variables: come on
129133 " PLR0915" , # too many statements: come on, not everything is solvable in <50 lines.
130134 " PLR0917" , # too many positional arguments
131135 " PLR2004" , # Magic value comparison, may remove later
132- " PLR6301" , # discord.py uses `self` even if I don't
136+ " PLR6301" , # discord.py uses `self` even if I don't
133137 " S608" , # I use f-strings with SQL and I don't know better;
138+ " TID252" , # My relative imports are quite well structured
134139
135- # OLD RULES
136- # "F401",
140+ # MISHA
141+
142+ # "EM101", # in this case this is okay
137143 # "F402",
138-
144+ # "PD011", # this is not a numpy codebase
139145 # "PERF203",
140- # "RUF001 ",
146+ # "Q000 ",
141147 # "RUF009",
142148 # "SIM105",
143149 # "UP034",
144150 # "UP038",
145-
146- # DOC STRINGS
147- # general doc string exceptions
151+
152+ # SINBAD
153+
154+ # "ANN202", # implied return fine sometimes
155+ # "B901", # I'm aware of how generators as coroutines work
156+ # "E501", # ruff format suggested
157+ # "FBT003", # Wrong end to enforce this on.
158+ # "G002", # erroneous issue with %-logging when logging can be confiured for % logging
159+ # "ISC001", # ruff format suggested
160+ # "PLC0105", # no, I don't like co naming style for typevars
161+ # "SIM105", # supressable exception, I'm not paying the overhead of contextlib.supress for stylistic choices.
162+ # "TC001", # I prefer to avoid if TYPE_CHECKING
163+ # "TC002", # I prefer to avoid if TYPE_CHECKING
164+ # "TC003", # I prefer to avoid if TYPE_CHECKING
165+ # "UP007", # "Use | For Union" doesn't account for typevar tuple unpacking.
166+ # "UP031", # No, I like % formatting more for some things...
167+
168+ # 3. Doc String: general exceptions
148169 " D100" , # Missing docstring in module: no, module level docs aren't always needed
170+ " D104" , # Missing docstring in public package
149171 " D105" , # Missing docstring in magic method: documenting magic methods is often dumb.
150172 " D107" , # Missing docstring in `__init__`: __init__ is the wrong place to doc this.
151173 " D401" , # Doc should be starting with an imperative verb: dumb rule tbh.
152- # doc string exceptions
153- # for this bot because it's a bot and it's pointless to document *everything* in one-man project.
174+
175+ # 4. Doc String: exceptions for this bot because and it's pointless to document *everything* in one-person project.
154176 " DOC201" , # `return` is not documented in docstring
155177 " DOC501" , # raised exception is missing from docstring
156178
157- # "D104", # Missing docstring in public package. Otherwise spams __init__.py and such.
158179 # "D417", # Missing argument description. Otherwise, it keeps asking to document interaction/context args.
159180 # "D203", # one-blank-line-before-class
160181 # "D213", # multi-line-summary-second-line
0 commit comments