The Wayback Machine - https://web.archive.org/web/20220530070305/https://github.com/pandas-dev/pandas/pull/46942
Skip to content
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

Merged
merged 1 commit into from May 25, 2022

Conversation

iasoon
Copy link
Contributor

@iasoon iasoon commented May 4, 2022

xref #37715

Narrowing the type bound allows resolving some ignored mypy errors.
The other modified code is needed because extract_array no longer returns Any, causing more strict type checking in the calling methods.

pandas/io/pytables.py Show resolved Hide resolved
@@ -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)
Copy link
Contributor

@twoertwein twoertwein May 5, 2022

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

Copy link
Contributor Author

@iasoon iasoon May 5, 2022

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).

Copy link
Contributor

@twoertwein twoertwein May 5, 2022

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 :)

pandas/core/construction.py Outdated Show resolved Hide resolved
pandas/core/construction.py Outdated Show resolved Hide resolved
@iasoon iasoon force-pushed the typing/extract_array branch from dfe1d6f to 28f5759 Compare May 5, 2022
@twoertwein twoertwein added the Typing label May 6, 2022
@iasoon iasoon force-pushed the typing/extract_array branch from 28f5759 to ac1fb20 Compare May 8, 2022
@jreback jreback added this to the 1.5 milestone May 12, 2022
@jreback
Copy link
Contributor

@jreback jreback commented May 12, 2022

@mroeschke mroeschke merged commit 43a4bad into pandas-dev:main May 25, 2022
35 checks passed
@mroeschke
Copy link
Member

@mroeschke mroeschke commented May 25, 2022

Thanks @iasoon. #46942 (comment) can be followed up with in a subsequent PR if needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Typing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.