Open
Description
I'm trying to use pyright --verifytypes
to check which public methods are untyped, and a lot of the results come from kwargs
and args
.
There seem to be 3 cases for them:
- they're undocumented, and just silently exist to allow for numpy-compatible code. For example:
Series.std
- they get passed down to a third-party function. For example: most plotting funtions
- when they get passed to other pandas functions which have known args/kwargs. For example, the
kwargs
inSeries.pct_change
.
How should kwargs
and args
get typed in these cases? I'm thinking:
1., 2.: use Any
3.: make a Protocol
with only the args/kwargs which can be accepted
I think if we can get these typed (even if just with Any
) then pyright's verifytypes should become a lot more useful to identify missing parts of the public API surface
repo where I'm developing this type-coverage-measurement functionality: https://github.com/MarcoGorelli/measuring-pandas-type-completeness (note: it's currently quite patchy, but I've already found it useful to decide what to focus on)
Metadata
Metadata
Assignees
Labels
No labels