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.
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
Add support for DatetimeTZDtype and tz_localize #13163
Add support for DatetimeTZDtype and tz_localize #13163
Changes from 24 commits
c2b1968
fb293c0
3457063
6210054
cf67f8b
82ec81e
714116d
3a09e3d
8ed31eb
e72b3fc
d05e9e0
5b2c990
df3f7bc
a4f6430
8f4b215
b6ec602
54dc4d5
fad1c6a
4e89a5c
a473e51
1d18fcd
99cc4b0
6982474
b7563b8
a1141d8
fc5f497
22040ce
9e0f922
cfe5005
dcf49f8
8cd32f8
94aae6e
ffbcf42
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
FYI: you can fix these F401 "unused import" errors by defining
__all__
. If it's in__all__
, it's "part of the API" of this module and thus flake8 sees it as used.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.
Isn't this more
explicit
though? I always thought the only "official" use for__all__
was to define what happens when you dofrom module import *
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 think that defining your module’s public API (rather than not defining it) is the most
explicit
approach. I’m pro-__all__
in Python libraries.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.
Hmm, but
__all__
doesn't do that AFAICT. Placing a name in__all__
doesn't preclude it from appearing in e.g., tab completion options (naming it with a leading_
does).Are there other tools than
flake8
that do something with__all__
?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 think type checkers (mypy, pyright) will utilize
__all__
to see what APIs are "public"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.
Also, to your question about tab completion in IPython/etc., that's discussed here: ipython/ipykernel#129 (comment)
The community seems split on the issue, but some folks seem to think limiting to
__all__
by default would be good. Either way -- it seems that__all__
is viewed as a source of truth for public APIs, and the real question is whether autocompletion should only show public APIs.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, both! I'm on board with defining
__all__
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 wonder if we can get a linter to enforce that
__all__
is defined (even if empty) always.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.
ValueError
seems more natural here unless you're matching something in pandas.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 an issue in other places in this method and I just wanted to be consistent. Agree though that
ValueError
is the more appropriate error type. Let's fix in a follow-up.