there's a bunch of threads in here. i'll try to go through them.
non-blocking:
as Dirk said, it's either errors that block & you see, or it's quiet. if it's not a blocker, people will ignore it, and new warnings will be introduced. for people who want to DTRT and not write dirty code, it gets harder and harder to figure out from the noise what they added, and what was already there. eventually, even the well meaning people give up and declare bankruptcy. i've seen this play out in CrOS projects time & again.
formatting:
pylint has largely gotten out of this business. many of its formatting-oriented lint checks have been out right deleted. any ones left would be best disabled in our default configs. if people want to enforce formatting, then turn on yapf by adding .style.yapf to your tree. would be nice if we could adopt a src/.style.yapf here.
pylint ownership for new versions:
there is no one here who is responsible, and i don't think there ever has been. it's trivial to add a new version in parallel to existing ones. so if you want a new X.Y version, add it. that's basically how it's been handled.
default pylint version:
since no one owns it, no one is responsible for updating the default version. if you try to change the default version, then you're responsible for fixing any new lint warnings. very few teams will help out here -- more likely the upgrade will get reverted, and then you have to fix & reland. that's why we've settled on each subdir that opts in to pylint locking the version, and not really having a tree-wide default. see input_api.canned_checks.GetPylint(..., version='...') in PRESUBMIT.py files.
disabling diagnostics by default:
the default list in ~/depot_tools/pylintrc of disabled diagnostics is indeed huge. this is a direct result of the issues i noted above -- the person who tries to update the default version is responsible for cleaning up all the new warnings, and when that amounts to hundreds if not thousands across Chromium projects, it's easier to disable the new diagnostics and force projects to opt-in after they clean things. some do, but many don't.
being too strict:
this feels like a fairly subjective area. one person's "too strict" is another person's "too loose". it's up to each team/area to set the knobs that they want, but once set, they should be followed. i won't try to defend every diagnostic because there are some that def veer into style-vs-substance, and some that don't fully account for full context, but i will say that it's not uncommon to get pushback from devs who don't fully appreciate the nuances of Python. bare-except/broad-except are a good example of this imo as people don't realize that these can easily suck up things like SIGINT/Ctrl+C or syntax errors.
pylint out of date / disable statements not working:
pylint has supported "pylint: disable=" for basically ever. what you're asking about specifically is "disable-next" which is new to pylint 2.10 iiuc. so the issue isn't that pylint in general is out of date, it's that the subtree you're trying to make changes in is using a pylint version that is too old. you need to update that if you want to use newer syntax. look at testing/PRESUBMIT.py which pins to pylint-2.7. g'luck updating all of testing/ to not introduce new warnings.
that said, pylint is flagging that as an error, not warning. i'm not sure you can disable syntax errors. then again, i'm not sure you should ... see next section.
type annotations:
"list[str]" syntax is new to Python 3.9. older versions need to use "from typing import List" and "List[str]" (which also works with newer versions). the pylint-2.6 & pylint-2.7 versions in depot_tools are using python 3.8 while pylint-2.17 is using python 3.11. but this also strongly implies that whatever python code you're writing is implicitly requiring python 3.9+, so if you have scripts using vpython3 pinned to 3.8, you're breaking them, and presubmit is right to block you.
how common is pylint:
cs/ says that a lot of PRESUBMIT.py files are running pylint. not sure how to quantify that into % of python files in the tree though.
-mike