Expand drop()
overloads to encode more argument restriction and add type parameters to df.drop()
signature.
#951
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
assert_type()
to assert the type of any return valueThis is again to increase compatibility with pyright strict mode. I verified that the df.drop tests do not pass pyright strict without this change but do with it.
Also (maybe) closes #950.
This is done by adding a bunch of overloads that specify the allowed combinations in more detail.
For that i added a test that fails without this change and passes with it,
However i was not able to specify the full functionality using the overloads. Specifically, explicit "None" arguments are allowed by the signature, but cause errors at runtime. This is mostly because
None
is Hasheable.This could be improved substantially in correctness and conciseness of the hints if it were possible to type hint the general signature using
Non-None-Hasheable | None
and then split these up in the overloads.