-
-
Notifications
You must be signed in to change notification settings - Fork 18.3k
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
fix mypy errors in pandas/tests/arithmetic/test_datetime64.py #31716
fix mypy errors in pandas/tests/arithmetic/test_datetime64.py #31716
Conversation
@@ -191,6 +191,7 @@ class DatetimeIndex(DatetimeTimedeltaMixin): | |||
|
|||
_data: DatetimeArray | |||
tz: Optional[tzinfo] | |||
tz_localize: Callable[..., "DatetimeIndex"] |
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 try to fake-annotate this tz_localize implementation.
I tried using something like Callable[["DatetimeIndex", Optional[str], str, str], "DatetimeIndex"]
, but then mypy would raise errors when omitting some arguments like index.tz_localize("US/Eastern")
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.
The original problem was this line of code would raise: "DatetimeIndex" has no attribute "tz_localize"
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.
this is going to be a common problem with inherit_names
. best case would be to find a way to fix it at the source
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.
What is the original mypy error? I'd be hesitant to make any changes to the actual code base to silence errors coming from the test suite
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.
@WillAyd I stated it in my second comment. I think @jbrockmendel is right, but it's not clear how a solution might look like. I'm investigating though ✌️
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 seems like this would be the last issue where an annotation like this is required to finish #28926 off. Therefore it's maybe worth still merging this one and working on a more general solution afterwards? Wdyt @WillAyd @simonjayhawkins?
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 would prefer to either ignore where required in a few places or just leave things as they are today
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.
Alright, I'll close this PR then and create a follow-up issue that focuses on refactoring inherit_names
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.
xref: #32100
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.
Great thanks for understanding - your contributions are very much appreciated
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.
lgtm. pending green.
5cf718c
to
583e460
Compare
@SaturnFromTitan can you merge master. |
583e460
to
a0dfbc4
Compare
a0dfbc4
to
515df25
Compare
@@ -191,6 +191,7 @@ class DatetimeIndex(DatetimeTimedeltaMixin): | |||
|
|||
_data: DatetimeArray | |||
tz: Optional[tzinfo] | |||
tz_localize: Callable[..., "DatetimeIndex"] |
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 see any alternatives? Again my concern is that going in this direction will yield a lot of code duplication
Part of #28926
black pandas
git diff upstream/master -u -- "*.py" | flake8 --diff