* IOError is now OSError in CPython, do not need to inherit from object
* use PEP 585 annotations
* delay annotations to allow TfsCollection hints
* remove trailing whitespaces
* type checking block
* remove trailing whitespaces
* __new__ is classmethod, should have cls as first argument
* no implicit none
* error messages should be defined outside raise statement
* ignore unused args and kwargs in abstractmethod signature
* unnecessary else
* ignore for legitimate reasons, minor formatting
* use PEP 585 annotations
* no pass statement in exception definition
* get Sequence from collections.abc
* remove trailing whitespaces
* use PEP 585 annotations
* mutable class var should be type hinted ClassVar
* Exception must not use a string literal, assign to variable first
* Exception must not use a string literal, assign to variable first
* reraise from previous error
* also reraise from full stacktrace here
* PEP 604 unions and avoid implicit optional
* type checking block
* let ruff know we target python 3.9
* PEP 604 unions
* put annotation-only type in TYPE_CHECKING block
* Use key in dict instead of key in dict.keys()
* remove trailing whitespaces
* Exception must not use a string literal, assign to variable first
* use contextlib to suppress a specific error instead of try-except-pass
* use PEP 585 annotations
* PEP 604 unions and avoid implicit optional
* stop caring about boolean arg
* Exception must not use a string literal, assign to variable first
* reraise from previous error
* use PEP 585 annotations
* stop caring about boolean arg
* PEP 604 unions
* put annotation-only type in TYPE_CHECKING block
* stop caring about boolean arg
* Exception must not use a string literal, assign to variable first
* lets not overwrite the loop variable
* use PEP 585 annotations
* PEP 604 unions and avoid implicit optional
* stop caring about boolean arg
* remove trailing whitespaces
* unnecessary else after return
* no need to restate the raise error name
* remove _autoset_pandas_types as we prohibit pandas <2.1 and the need for this workaround was only for pandas up to 1.3 (excluded) in which they fixed the problem. See the NOTE in the deleted function and the github comment it links to
* Exception must not use a string literal, assign to variable first
* use startswith with a tuple instead of several checks
* use single if statement instead of nested ones
* unnecessary assignment before return
* elifs can be ifs since theyre after return statements
* minimal formatting
* Use key in dict instead of key in dict.keys()
* stop caring about boolean arg
* set match in pytest.raises as it was too broad
* Use key in dict instead of key in dict.keys()
* remove unused caplogs
* set match in pytest.raises as it was too broad
* should assign in access expressions
* asserts should only check one thing
* unused import and orders
* set match in pytest.raises as it was too broad
* Use key in dict instead of key in dict.keys()
* remove unused caplogs
* pandas as pd, numpy as np
* remove unused caplogs
* use dict literal
* oops
* help josch's eyes
* bit more formatting consistency
* no need for these skipifs as the condition no longer applies
* again an unused import
* add in progress to the changelog
* noqa on the correct line again