-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
STYL: a few cleanups in pyi files #46921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @twoertwein lgtm.
@@ -163,7 +163,7 @@ class HashTable: | |||
na_sentinel: int = ..., | |||
na_value: object = ..., | |||
mask=..., | |||
) -> tuple[np.ndarray, npt.NDArray[np.intp],]: ... # np.ndarray[subclass-specific] | |||
) -> tuple[np.ndarray, npt.NDArray[np.intp]]: ... # np.ndarray[subclass-specific] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_unique
above only returns tuple if return_inverse
is True, which is how it's called from factorize
. The return type of _unique
is a Union, but these are more easily avoided with overloads in stubs.
I assume that _unique
is intended to be private so we probably shouldn't be calling it from outside, so rather than adding overloads could just remove _unique
from the stub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed _unique
but haven't yet added overloads to unique
as I embarrassingly couldn't find the implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's created from a template. pandas/_libs/hashtable_class_helper.pxi.in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Would need to first deprecate return_inverse
as a positional argument. Can I just use the normal deprecation decorator in cython (or would that have an unintended performance hit).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I doubt HashTable is part of the public API of pandas but is obviously not private to the module as it is used elsewhere. Can probably just make the arguments keyword only without deprecation. (OK as follow-up, for our internal consistency checking, if we do not have any errors reported then not a priority to add overloads if not public)
Thanks @twoertwein |
Might make sense to run flake8 on pyi files (add flake8-pyi to pre-commit)