A number of the generic type annotations used on SDK methods need some attention- they were passing mypy validation at some point, but my original desire for minimum DRY through generic narrowing on inherited/abstract methods has led to the type annotations being difficult to maintain and inscrutable in both Python autodoc and most IDE completion engines. They're also failing in mypy again, since we're not enforcing those checks in CI.
IMO type annotations on a developer-focused library need to favor IDE completion and human-readability in docs over pedantic correctness and DRY, so re-declaring more narrow versions on the leaf method declarations is preferable to all the wizzy generic stuff, and should be easier to maintain and grok anyway.
[ ] revisit most generic type annotations on user-facing surface area with simpler redeclarations on inherited methods
[ ] spot-validate in pycharm/vscode to ensure useful completions
A number of the generic type annotations used on SDK methods need some attention- they were passing
mypy
validation at some point, but my original desire for minimum DRY through generic narrowing on inherited/abstract methods has led to the type annotations being difficult to maintain and inscrutable in both Python autodoc and most IDE completion engines. They're also failing inmypy
again, since we're not enforcing those checks in CI.IMO type annotations on a developer-focused library need to favor IDE completion and human-readability in docs over pedantic correctness and DRY, so re-declaring more narrow versions on the leaf method declarations is preferable to all the wizzy generic stuff, and should be easier to maintain and grok anyway.
mypy
sanity tests in CI