It probably could tell, but it shouldn't matter; unless a class interface uses super(), there's no real need for a stub method in a parent class like this to match the argument list of the method in subclasses. This could be a staticmethod and work just as well. The only reason to include the self and target args is as a sort of documentation of what the interface is supposed to be.

And that's fine, it's a good reason, but probably in most cases where a method doesn't use `self` you want to be aware of it. The "pylint: disable=" markers are supposed to say "i know that this is an unusual thing but i have a good reason for it".

But if you don't like having to do that for some specific cases, you can disable warnings for the whole project in the .pylintrc.