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: typing annotations #30901

Merged
merged 1 commit into from
Jan 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion pandas/_config/display.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""
Unopinionated display configuration.
"""

import locale
import sys

Expand All @@ -11,7 +12,7 @@
_initial_defencoding = None


def detect_console_encoding():
def detect_console_encoding() -> str:
"""
Try to find the most capable encoding supported by the console.
slightly modified from the way IPython handles the same issue.
Expand Down
6 changes: 3 additions & 3 deletions pandas/_config/localization.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@


@contextmanager
def set_locale(new_locale, lc_var=locale.LC_ALL):
def set_locale(new_locale, lc_var: int = locale.LC_ALL):
"""
Context manager for temporarily setting a locale.

Expand Down Expand Up @@ -44,7 +44,7 @@ def set_locale(new_locale, lc_var=locale.LC_ALL):
locale.setlocale(lc_var, current_locale)


def can_set_locale(lc, lc_var=locale.LC_ALL):
def can_set_locale(lc: str, lc_var: int = locale.LC_ALL) -> bool:
"""
Check to see if we can set a locale, and subsequently get the locale,
without raising an Exception.
Expand All @@ -58,7 +58,7 @@ def can_set_locale(lc, lc_var=locale.LC_ALL):

Returns
-------
is_valid : bool
bool
Whether the passed locale can be set
"""

Expand Down
34 changes: 23 additions & 11 deletions pandas/compat/numpy/function.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,26 @@


class CompatValidator:
def __init__(self, defaults, fname=None, method=None, max_fname_arg_count=None):
def __init__(
self,
defaults,
fname=None,
method: Optional[str] = None,
max_fname_arg_count=None,
):
self.fname = fname
self.method = method
self.defaults = defaults
self.max_fname_arg_count = max_fname_arg_count

def __call__(self, args, kwargs, fname=None, max_fname_arg_count=None, method=None):
def __call__(
self,
args,
kwargs,
fname=None,
max_fname_arg_count=None,
method: Optional[str] = None,
) -> None:
if args or kwargs:
fname = self.fname if fname is None else fname
max_fname_arg_count = (
Expand Down Expand Up @@ -300,7 +313,7 @@ def validate_take_with_convert(convert, args, kwargs):
)


def validate_window_func(name, args, kwargs):
def validate_window_func(name, args, kwargs) -> None:
numpy_args = ("axis", "dtype", "out")
msg = (
f"numpy operations are not valid with window objects. "
Expand All @@ -315,7 +328,7 @@ def validate_window_func(name, args, kwargs):
raise UnsupportedFunctionCall(msg)


def validate_rolling_func(name, args, kwargs):
def validate_rolling_func(name, args, kwargs) -> None:
numpy_args = ("axis", "dtype", "out")
msg = (
f"numpy operations are not valid with window objects. "
Expand All @@ -330,7 +343,7 @@ def validate_rolling_func(name, args, kwargs):
raise UnsupportedFunctionCall(msg)


def validate_expanding_func(name, args, kwargs):
def validate_expanding_func(name, args, kwargs) -> None:
numpy_args = ("axis", "dtype", "out")
msg = (
f"numpy operations are not valid with window objects. "
Expand All @@ -345,7 +358,7 @@ def validate_expanding_func(name, args, kwargs):
raise UnsupportedFunctionCall(msg)


def validate_groupby_func(name, args, kwargs, allowed=None):
def validate_groupby_func(name, args, kwargs, allowed=None) -> None:
"""
'args' and 'kwargs' should be empty, except for allowed
kwargs because all of
Expand All @@ -359,16 +372,15 @@ def validate_groupby_func(name, args, kwargs, allowed=None):

if len(args) + len(kwargs) > 0:
raise UnsupportedFunctionCall(
f"numpy operations are not valid with "
f"groupby. Use .groupby(...).{name}() "
f"instead"
"numpy operations are not valid with groupby. "
f"Use .groupby(...).{name}() instead"
)


RESAMPLER_NUMPY_OPS = ("min", "max", "sum", "prod", "mean", "std", "var")


def validate_resampler_func(method, args, kwargs):
def validate_resampler_func(method: str, args, kwargs) -> None:
"""
'args' and 'kwargs' should be empty because all of
their necessary parameters are explicitly listed in
Expand All @@ -385,7 +397,7 @@ def validate_resampler_func(method, args, kwargs):
raise TypeError("too many arguments passed in")


def validate_minmax_axis(axis):
def validate_minmax_axis(axis: Optional[int]) -> None:
"""
Ensure that the axis argument passed to min, max, argmin, or argmax is
zero or None, as otherwise it will be incorrectly ignored.
Expand Down