Skip to content

Commit

Permalink
TYP: typing annotations (#30901)
Browse files Browse the repository at this point in the history
  • Loading branch information
ShaharNaveh authored and simonjayhawkins committed Jan 10, 2020
1 parent 03cdcb6 commit 0b4bac7
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 15 deletions.
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

0 comments on commit 0b4bac7

Please sign in to comment.