-
-
Notifications
You must be signed in to change notification settings - Fork 155
Closed
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
kwargsinSeries.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