I think part of that is because we have not been removing anything due to Python 2 compatibility. But yes, we have not been great at this.
I’ve contemplated adding something to warnings
where you specify what version of Python something is scheduled to be removed in and then it would raise PendingDeprecationWarning
in >N version, DeprecationWarning
in N, and raise a RuntimeError
or something for N+1 so it doesn’t get forgotten.