pandas-dev / pandas Public
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
TYP: narrow type bounds on extract_array #46942
Conversation
| @@ -329,7 +337,8 @@ def array( | ||
| if dtype is None: | ||
| inferred_dtype = lib.infer_dtype(data, skipna=True) | ||
| if inferred_dtype == "period": | ||
| return PeriodArray._from_sequence(data, copy=copy) | ||
| period_data = cast(Union[Sequence[Optional[Period]], AnyArrayLike], data) |
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.
wouldn't mind a mypy ignore instead of the cast
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.
Do you prefer the ignore? I personally think the cast is more semantically correct, since we checked the type using lib.infer_dtype. This pattern also seems to be used in different parts of the codebase already, too ( example).
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 have no strong opinion (slightly in favor of ignore, unless it creates many follow up ignores) @simonjayhawkins has a better overview when to use casts I am/was a bit too liberal using them :)
|
@twoertwein @simonjayhawkins good here? |
|
Thanks @iasoon. #46942 (comment) can be followed up with in a subsequent PR if needed |


xref #37715
Narrowing the type bound allows resolving some ignored mypy errors.
The other modified code is needed because
extract_arrayno longer returnsAny, causing more strict type checking in the calling methods.