Skip to content

[WIP] fix --check-untyped-defs for MyPy #28339

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

Closed
wants to merge 310 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
f957c3c
check_untyped_defs pandas.io.parquet
simonjayhawkins Sep 10, 2019
c6253f0
check_untyped_defs pandas.io.excel._base
simonjayhawkins Sep 10, 2019
8daddd7
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 10, 2019
6069ccf
add files to setup.cfg
simonjayhawkins Sep 12, 2019
ddd1a90
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 12, 2019
33a016d
check_untyped_defs pandas.core.window.rolling
simonjayhawkins Sep 12, 2019
36fa28e
check_untyped_defs pandas.core.sparse.frame
simonjayhawkins Sep 12, 2019
e5f8418
check_untyped_defs pandas.core.series
simonjayhawkins Sep 12, 2019
ca27d47
resolve merge conflict
simonjayhawkins Sep 12, 2019
5c1fc49
mypy fix following merge of #28395
simonjayhawkins Sep 12, 2019
b37e94d
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 13, 2019
39fedfe
check_untyped_defs pandas.core.ops.docstrings
simonjayhawkins Sep 13, 2019
dfb2b1a
check_untyped_defs pandas.core.indexing
simonjayhawkins Sep 13, 2019
55ccb83
check_untyped_defs pandas.core.computation.scope
simonjayhawkins Sep 13, 2019
7121d9c
pandas.core.computation.pytables (part)
simonjayhawkins Sep 13, 2019
4aaadfa
resolve merge conflicts
simonjayhawkins Sep 13, 2019
2e78276
ci fixups
simonjayhawkins Sep 13, 2019
3dd747c
check_untyped_defs pandas.core.computation.ops xref #28446
simonjayhawkins Sep 14, 2019
7865f21
check_untyped_defs pandas.core.computation.engines
simonjayhawkins Sep 14, 2019
24b7604
check_untyped_defs pandas.core.arrays.sparse
simonjayhawkins Sep 14, 2019
e68bcaf
check_untyped_defs pandas.tseries.offsets
simonjayhawkins Sep 14, 2019
49e2835
check_untyped_defs pandas.core.strings
simonjayhawkins Sep 16, 2019
077d7fd
check_untyped_defs pandas.core.reshape.pivot
simonjayhawkins Sep 16, 2019
7f9158e
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 16, 2019
f83d9f3
resolve merge conflicts
simonjayhawkins Sep 21, 2019
2ee312d
resolve merge conflicts
simonjayhawkins Sep 24, 2019
7d5a62b
update setup.cfg
simonjayhawkins Sep 24, 2019
dec5be7
update pandas.core.ops.array_ops following #28431
simonjayhawkins Sep 24, 2019
a283913
check_untyped_defs core.indexes.datetimelike
simonjayhawkins Sep 24, 2019
bedda72
check_untyped_defs pandas.core.indexes.base
simonjayhawkins Sep 24, 2019
931bd29
check_untyped_defs pandas.core.dtypes.cast
simonjayhawkins Sep 24, 2019
ca7a15f
check_untyped_defs pandas.core.resample
simonjayhawkins Sep 24, 2019
2f38139
check_untyped_defs pandas.core.missing
simonjayhawkins Sep 24, 2019
6f278d4
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 27, 2019
3cc93f0
check_untyped_defs pandas.core.internals.concat
simonjayhawkins Sep 27, 2019
0a1f6d6
check_untyped_defs pandas.core.groupby.ops
simonjayhawkins Sep 27, 2019
874aa8c
check_untyped_defs pandas.core.groupby.groupby
simonjayhawkins Sep 27, 2019
563a37d
check_untyped_defs pandas.core.computation.expressions
simonjayhawkins Sep 27, 2019
67890ef
mypy-0.730
simonjayhawkins Sep 27, 2019
32f1780
add error codes
simonjayhawkins Sep 28, 2019
f610ce3
resolve merge conflict
simonjayhawkins Sep 28, 2019
fad9ace
mypy fix-up following #28516
simonjayhawkins Sep 28, 2019
f229758
set platform=linux-64
simonjayhawkins Sep 28, 2019
53260f6
check_untyped_defs pandas.core.computation.align
simonjayhawkins Sep 28, 2019
298c472
check_untyped_defs pandas.core.algorithms
simonjayhawkins Sep 28, 2019
6ea4eed
check_untyped_defs pandas.core.computation.expr (part)
simonjayhawkins Sep 28, 2019
d2bc6a4
check_untyped_defs pandas.core.tools.datetimes
simonjayhawkins Sep 28, 2019
8298620
check_untyped_defs pandas.core.arrays.categorical closes #28669
simonjayhawkins Sep 28, 2019
a0fc495
check_untyped_defs pandas.core.indexes.multi
simonjayhawkins Sep 28, 2019
1b28fc4
check_untyped_defs pandas.core.reshape.merge
simonjayhawkins Sep 29, 2019
d25291a
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Sep 29, 2019
e99d51e
check_untyped_defs pandas.core.groupby.generic
simonjayhawkins Sep 29, 2019
2dc1db1
check_untyped_defs pandas.core.arrays.interval
simonjayhawkins Sep 29, 2019
0cec4e8
check_untyped_defs pandas.core.base
simonjayhawkins Sep 30, 2019
baef456
resolve conflicts
simonjayhawkins Oct 4, 2019
2a507d0
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 7, 2019
9b147ce
fix mypy error introduced in #27949
simonjayhawkins Oct 7, 2019
e9a5f78
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 7, 2019
75b3c48
check_untyped_defs pandas.core.reshape.reshape
simonjayhawkins Oct 7, 2019
56b62b6
resolve conflicts
simonjayhawkins Oct 8, 2019
2054965
mypy fixup of pandas.core.groupby.generic
simonjayhawkins Oct 8, 2019
99ce0e7
check_untyped_defs pandas.core.generic
simonjayhawkins Oct 8, 2019
43fb342
check_untyped_defs pandas.core.indexes.datetimes
simonjayhawkins Oct 8, 2019
c00967c
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 8, 2019
537c458
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 10, 2019
bb457d8
silence error introduced in #28878
simonjayhawkins Oct 10, 2019
6f738a7
set python_version=3.6
simonjayhawkins Oct 10, 2019
34bf08c
revert silence F821 and remove mypy error codes
simonjayhawkins Oct 10, 2019
c762d73
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 11, 2019
f0429da
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 11, 2019
3ceb00b
resolve conflicts
simonjayhawkins Oct 12, 2019
c14ebe1
update setup.cfg for green mypy following #28914
simonjayhawkins Oct 12, 2019
c03f3ca
check_untyped_defs pandas.core.frame
simonjayhawkins Oct 12, 2019
ba683f0
resolve merge conflict
simonjayhawkins Oct 12, 2019
58245b4
misc types for indexes.base
simonjayhawkins Oct 12, 2019
6f15f3d
check_untyped_defs pandas.io.json._normalize
simonjayhawkins Oct 12, 2019
e347e29
check_untyped_defs pandas.io.excel._xlwt
simonjayhawkins Oct 13, 2019
cee7096
check_untyped_defs pandas.io.formats.excel
simonjayhawkins Oct 13, 2019
e2c0fbf
check_untyped_defs pandas.io.sas.sas7bdat
simonjayhawkins Oct 13, 2019
cd961b1
check_untyped_defs pandas.tseries.holiday
simonjayhawkins Oct 13, 2019
beb4961
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 13, 2019
a398d83
check_untyped_defs pandas.core.nanops
simonjayhawkins Oct 13, 2019
9649b6b
core.nanops.nanmean typed values
simonjayhawkins Oct 13, 2019
571b66f
resolve conflicts
simonjayhawkins Oct 18, 2019
20193e7
mypy fixups
simonjayhawkins Oct 18, 2019
a2296a7
mypy 0.740
simonjayhawkins Oct 18, 2019
e90ba27
fix requirements-dev.txt
simonjayhawkins Oct 18, 2019
f12cf80
merge master
simonjayhawkins Oct 22, 2019
f51c234
update setup.cfg
simonjayhawkins Oct 22, 2019
d8a44df
update setup.cfg
simonjayhawkins Oct 22, 2019
3edbae8
check_untyped_defs pandas.core.arrays.numpy_
simonjayhawkins Oct 22, 2019
8557d65
resolve conflicts
simonjayhawkins Oct 22, 2019
8a86dca
mypy fix-up
simonjayhawkins Oct 22, 2019
991e90d
mypy fix-up
simonjayhawkins Oct 22, 2019
49f8e2d
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 22, 2019
e652b05
check_untyped_defs pandas.core.arrays.period
simonjayhawkins Oct 22, 2019
8ae4dc1
check_untyped_defs pandas.core.arrays.string_
simonjayhawkins Oct 22, 2019
7a92802
check_untyped_defs pandas.core.frame
simonjayhawkins Oct 22, 2019
0a93437
merge master
simonjayhawkins Oct 23, 2019
450d106
check_untyped_defs pandas.core.groupby.ops
simonjayhawkins Oct 23, 2019
d880f4b
check_untyped_defs pandas.core.reshape.merge
simonjayhawkins Oct 23, 2019
f84c333
check_untyped_defs pandas.io.common
simonjayhawkins Oct 23, 2019
6c8da32
check_untyped_defs pandas.io.formats.csvs
simonjayhawkins Oct 23, 2019
ce1a030
check_untyped_defs pandas.io.sas.sas7bdat
simonjayhawkins Oct 23, 2019
c4e7777
update comments in io.common.BytesZipFile.write
simonjayhawkins Oct 24, 2019
e24ea34
check_untyped_defs pandas.core.algorithms
simonjayhawkins Oct 24, 2019
90adc12
check_untyped_defs pandas.core.indexes.numeric
simonjayhawkins Oct 24, 2019
c101bef
check_untyped_defs pandas.core.indexing
simonjayhawkins Oct 25, 2019
a428f55
check_untyped_defs pandas.core.indexes.multi
simonjayhawkins Oct 25, 2019
5e445af
merge master
simonjayhawkins Oct 25, 2019
6e5845e
check_untyped_defs pandas.io.excel._base
simonjayhawkins Oct 25, 2019
fec67cb
revert ExcelWriter.check_extension to classmethod
simonjayhawkins Oct 26, 2019
f6b291b
merge master
simonjayhawkins Oct 26, 2019
521241c
isort
simonjayhawkins Oct 26, 2019
b679a3d
add gh issue number for abstract class attribute issue
simonjayhawkins Oct 27, 2019
327c663
check_untyped_defs pandas.io.html
simonjayhawkins Oct 27, 2019
38df86d
check_untyped_defs pandas.plotting._matplotlib.misc
simonjayhawkins Oct 27, 2019
1618320
check_untyped_defs pandas.io.excel._xlsxwriter
simonjayhawkins Oct 27, 2019
c5ec26e
check_untyped_defs pandas.io.packers (part)
simonjayhawkins Oct 27, 2019
c30c44d
check_untyped_defs pandas._config.config
simonjayhawkins Oct 27, 2019
10cb366
merge master
simonjayhawkins Oct 30, 2019
370a447
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Oct 31, 2019
d02fc1f
resolve conflicts
simonjayhawkins Nov 7, 2019
2dc5ed5
fix-up mypy errors
simonjayhawkins Nov 7, 2019
cf4baf0
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 8, 2019
7dd9732
mypy fixup
simonjayhawkins Nov 8, 2019
3d50dcc
post merge tidy
simonjayhawkins Nov 8, 2019
2bb80fc
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 11, 2019
97f3b3e
mypy fixup
simonjayhawkins Nov 11, 2019
ed7e469
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 13, 2019
e6c5f5a
mypy fixup
simonjayhawkins Nov 13, 2019
63d9ab2
remove unnecessary variable annotation
simonjayhawkins Nov 13, 2019
c13af90
add type variable for DataSplitter
simonjayhawkins Nov 13, 2019
1b7261c
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 14, 2019
c17ce81
update whitelist
simonjayhawkins Nov 14, 2019
fd68269
update whitelist
simonjayhawkins Nov 14, 2019
cfc2ef7
ignore_errors tests.scalar.period.test_period
simonjayhawkins Nov 14, 2019
9849163
ignore_errors tests.indexes.datetimes.test_tools
simonjayhawkins Nov 14, 2019
229f793
re-enable warn_unused_ignores
simonjayhawkins Nov 14, 2019
0edfb1d
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 15, 2019
68dedae
check_untyped_defs core.groupby.grouper (part)
simonjayhawkins Nov 15, 2019
3783ea4
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 17, 2019
be06790
mypy fixup
simonjayhawkins Nov 19, 2019
28410b6
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 19, 2019
20ab3ff
mypy fixup
simonjayhawkins Nov 19, 2019
9697cfc
check_untyped_defs core.arrays.interval
simonjayhawkins Nov 19, 2019
2956ceb
black pandas after black-19.3b0 upgrade
simonjayhawkins Nov 19, 2019
0a32cfa
check_untyped_defs core.arrays.sparse.array (ignores added)
simonjayhawkins Nov 19, 2019
f8e9c87
add embedsignature cython directive
simonjayhawkins Nov 19, 2019
e802255
remove manually created stubs
simonjayhawkins Nov 19, 2019
593f4dc
remove ignores from core.arrays.sparse.array
simonjayhawkins Nov 20, 2019
074938c
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 21, 2019
f0bb7d4
mypy fixup
simonjayhawkins Nov 21, 2019
fc7f9a2
fix failing tests
simonjayhawkins Nov 21, 2019
2cbe19b
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 25, 2019
a6a23da
mypy fixup
simonjayhawkins Nov 25, 2019
16e4ae4
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 26, 2019
ffcd20d
mypy fixup
simonjayhawkins Nov 26, 2019
afb3a1b
remove truediv test
simonjayhawkins Nov 26, 2019
241e612
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 27, 2019
c1a47b9
mypy fixup
simonjayhawkins Nov 27, 2019
c0b195c
py3.6 annotations
simonjayhawkins Nov 27, 2019
02c603f
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 27, 2019
97fbd94
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 27, 2019
74fc1d4
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Nov 27, 2019
3e3ee75
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 1, 2019
9ed7667
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 2, 2019
4897e27
revert to mypy 0.730 for now
simonjayhawkins Dec 2, 2019
cafa6f8
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 3, 2019
92387d2
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 3, 2019
90a2738
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 4, 2019
9d2c7a9
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 4, 2019
d47619b
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 4, 2019
5d55a25
remove variable annotations from pandas/core/arrays/numpy_.py
simonjayhawkins Dec 4, 2019
88a8ae8
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 5, 2019
0ddf982
check_untyped_defs pandas.core.computation.ops
simonjayhawkins Dec 5, 2019
36ddaf2
check_untyped_defs pandas.core.generic
simonjayhawkins Dec 5, 2019
90ddb7b
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 5, 2019
610f225
mypy fixup
simonjayhawkins Dec 5, 2019
c125413
Revert "mypy fixup"
simonjayhawkins Dec 5, 2019
85f7f62
mypy fixup
simonjayhawkins Dec 5, 2019
990e759
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 5, 2019
eea9e77
mypy fixup
simonjayhawkins Dec 5, 2019
a255ff7
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 6, 2019
ddd8820
remove None return value
simonjayhawkins Dec 6, 2019
b3cf62f
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 28, 2019
a22a6ca
mypy fixup
simonjayhawkins Dec 28, 2019
93f8b7c
black and isort
simonjayhawkins Dec 28, 2019
320c94e
merge fixup
simonjayhawkins Dec 28, 2019
e43f259
merge fixup
simonjayhawkins Dec 29, 2019
c62293f
remove no_strict_equality
simonjayhawkins Dec 29, 2019
7e551d9
astype_nansafe
simonjayhawkins Dec 29, 2019
18356dc
remove allow_untyped_decorators
simonjayhawkins Dec 29, 2019
404e363
various clean-ups
simonjayhawkins Dec 29, 2019
3af3ea4
black fixup
simonjayhawkins Dec 29, 2019
85b06e5
remove stub
simonjayhawkins Dec 29, 2019
a105f7a
add generic type parameter
simonjayhawkins Dec 29, 2019
791ea4a
computation.expr
simonjayhawkins Dec 29, 2019
23aae91
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 30, 2019
e47d6d9
mypy fixup
simonjayhawkins Dec 30, 2019
f2bec93
remove NoReturn
simonjayhawkins Dec 30, 2019
310a7e7
fix error message
simonjayhawkins Dec 30, 2019
8d11016
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 31, 2019
99c8e35
mypy fixup
simonjayhawkins Dec 31, 2019
acb19c5
remove cast
simonjayhawkins Dec 31, 2019
f617f20
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Dec 31, 2019
c61da84
clean pandas/compat/chainmap.py
simonjayhawkins Dec 31, 2019
75a48d3
clean pandas/compat/__init__.py
simonjayhawkins Dec 31, 2019
c760483
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 2, 2020
d09ffbd
mypy fixup
simonjayhawkins Jan 2, 2020
f3bea94
resolve conflicts
simonjayhawkins Jan 3, 2020
99193cb
mypy fixup
simonjayhawkins Jan 3, 2020
afd35a2
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 3, 2020
b84afd0
mypy fixup
simonjayhawkins Jan 3, 2020
4c53307
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 5, 2020
b477f26
merge fix-up
simonjayhawkins Jan 5, 2020
6f14806
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 5, 2020
ab91e49
mypy fix-up
simonjayhawkins Jan 5, 2020
acafe48
various cleanups
simonjayhawkins Jan 5, 2020
4bec8ee
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 6, 2020
7b5c347
mypy fix-up
simonjayhawkins Jan 6, 2020
d7130c0
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 20, 2020
b4b2af0
isort
simonjayhawkins Jan 20, 2020
1af4c00
mypy fixup (exc. io.formats.style)
simonjayhawkins Jan 21, 2020
febebe0
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 27, 2020
cc89f58
mypy fixup
simonjayhawkins Jan 27, 2020
8361e4f
black pandas
simonjayhawkins Jan 27, 2020
cae3772
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 28, 2020
5fa2d6b
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 31, 2020
4c054bf
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Jan 31, 2020
fb40422
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Feb 10, 2020
a27130a
ignore mypy errors in holiday.py for now
simonjayhawkins Feb 10, 2020
b0a46f3
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Feb 13, 2020
da88053
mypy fixup
simonjayhawkins Feb 13, 2020
213d818
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Feb 18, 2020
3e2007e
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Feb 20, 2020
2297a1d
Merge branch 'typing' of github.com:simonjayhawkins/pandas into typing
simonjayhawkins Feb 29, 2020
871dbc1
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Feb 29, 2020
5d1e463
Merge branch 'typing' of github.com:simonjayhawkins/pandas into typing
simonjayhawkins Feb 29, 2020
7cd52df
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Mar 10, 2020
120f006
mypy fixup
simonjayhawkins Mar 10, 2020
1eed055
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Mar 19, 2020
a51d3fd
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Apr 4, 2020
e10eeb3
mypy fixup
simonjayhawkins Apr 4, 2020
30b0717
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Apr 8, 2020
52a35e1
mypy fixup
simonjayhawkins Apr 8, 2020
61c2131
update setup.cfg
simonjayhawkins Apr 8, 2020
6d72afa
Merge remote-tracking branch 'upstream/master' into typing
simonjayhawkins Apr 10, 2020
e862bf8
whitespace
simonjayhawkins Apr 10, 2020
77dc092
fix test_partial_string_timestamp_multiindex
simonjayhawkins Apr 10, 2020
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
2 changes: 2 additions & 0 deletions pandas/_typing.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,5 @@

# to maintain type information across generic functions and parametrization
T = TypeVar("T")
FuncType = Callable[..., Any]
F = TypeVar("F", bound=FuncType)
4 changes: 3 additions & 1 deletion pandas/compat/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import sys
import warnings

from pandas._typing import F

PY37 = sys.version_info >= (3, 7)
PY38 = sys.version_info >= (3, 8)
PYPY = platform.python_implementation() == "PyPy"
Expand All @@ -25,7 +27,7 @@
# found at https://bitbucket.org/gutworth/six


def set_function_name(f, name, cls):
def set_function_name(f: F, name: str, cls) -> F:
"""
Bind the name/qualname attributes of the function.
"""
Expand Down
23 changes: 16 additions & 7 deletions pandas/compat/chainmap.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
from typing import ChainMap, MutableMapping, TypeVar, cast
from typing import ChainMap, List, MutableMapping, TypeVar

from pandas._typing import T

_KT = TypeVar("_KT")
_VT = TypeVar("_VT")
Expand All @@ -11,13 +13,17 @@ class DeepChainMap(ChainMap[_KT, _VT]):
Only works when all passed mapping are mutable.
"""

# error: Incompatible types in assignment (expression has type
# "List[MutableMapping[_KT, _VT]]", base class "ChainMap" defined the type
# as "List[Mapping[_KT, _VT]]") [assignment]
maps: List[MutableMapping[_KT, _VT]] # type: ignore

def __setitem__(self, key: _KT, value: _VT) -> None:
for mapping in self.maps:
mutable_mapping = cast(MutableMapping[_KT, _VT], mapping)
if key in mutable_mapping:
mutable_mapping[key] = value
if key in mapping:
mapping[key] = value
return
cast(MutableMapping[_KT, _VT], self.maps[0])[key] = value
self.maps[0][key] = value

def __delitem__(self, key: _KT) -> None:
"""
Expand All @@ -27,8 +33,11 @@ def __delitem__(self, key: _KT) -> None:
If `key` doesn't exist.
"""
for mapping in self.maps:
mutable_mapping = cast(MutableMapping[_KT, _VT], mapping)
if key in mapping:
del mutable_mapping[key]
del mapping[key]
return
raise KeyError(key)

# FIXME: return type of new_child incorrect in typeshed
def new_child(self: T, m) -> T: # type: ignore
return super().new_child(m) # type: ignore
7 changes: 5 additions & 2 deletions pandas/core/algorithms.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"""
import operator
from textwrap import dedent
from typing import TYPE_CHECKING, Dict, Optional, Tuple, Union
from typing import TYPE_CHECKING, Callable, Dict, Optional, Tuple, Union
from warnings import catch_warnings, simplefilter, warn

import numpy as np
Expand Down Expand Up @@ -1074,6 +1074,9 @@ def __init__(self, obj, n: int, keep: str):
if self.keep not in ("first", "last", "all"):
raise ValueError('keep must be either "first", "last" or "all"')

def compute(self, method):
raise NotImplementedError

def nlargest(self):
return self.compute("nlargest")

Expand Down Expand Up @@ -1430,7 +1433,7 @@ def _take_nd_object(arr, indexer, out, axis: int, fill_value, mask_info):

def _get_take_nd_function(
ndim: int, arr_dtype, out_dtype, axis: int = 0, mask_info=None
):
) -> Callable:
if ndim <= 2:
tup = (arr_dtype.name, out_dtype.name)
if ndim == 1:
Expand Down
40 changes: 22 additions & 18 deletions pandas/core/arrays/interval.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from operator import le, lt
import textwrap
from typing import Any, Sequence, Tuple

import numpy as np

Expand Down Expand Up @@ -432,30 +433,33 @@ def from_arrays(cls, left, right, closed="right", copy=False, dtype=None):
),
)
)
def from_tuples(cls, data, closed="right", copy=False, dtype=None):
def from_tuples(
cls, data: Sequence[Tuple[Any, Any]], closed="right", copy=False, dtype=None
):
left: Sequence
right: Sequence
if len(data):
left, right = [], []
for d in data:
if isna(d):
lhs = rhs = np.nan
else:
name = cls.__name__
try:
# need list of length 2 tuples, e.g. [(0, 1), (1, 2), ...]
lhs, rhs = d
except ValueError:
msg = f"{name}.from_tuples requires tuples of length 2, got {d}"
raise ValueError(msg)
except TypeError:
msg = f"{name}.from_tuples received an invalid item, {d}"
raise TypeError(msg)
left.append(lhs)
right.append(rhs)
else:
# ensure that empty data keeps input dtype
left = right = data

for d in data:
if isna(d):
lhs = rhs = np.nan
else:
name = cls.__name__
try:
# need list of length 2 tuples, e.g. [(0, 1), (1, 2), ...]
lhs, rhs = d
except ValueError as err:
msg = f"{name}.from_tuples requires tuples of length 2, got {d}"
raise ValueError(msg) from err
except TypeError as err:
msg = f"{name}.from_tuples received an invalid item, {d}"
raise TypeError(msg) from err
left.append(lhs)
right.append(rhs)

return cls.from_arrays(left, right, closed, copy=False, dtype=dtype)

def _validate(self):
Expand Down
30 changes: 19 additions & 11 deletions pandas/core/arrays/sparse/array.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from collections import abc
import numbers
import operator
from typing import Any, Callable, Union
from typing import Any, Callable, Type, TypeVar, Union
import warnings

import numpy as np
Expand Down Expand Up @@ -51,6 +51,8 @@

import pandas.io.formats.printing as printing

_SparseArrayT = TypeVar("_SparseArrayT", bound="SparseArray")

# ----------------------------------------------------------------------------
# Array

Expand Down Expand Up @@ -396,8 +398,11 @@ def __init__(

@classmethod
def _simple_new(
cls, sparse_array: np.ndarray, sparse_index: SparseIndex, dtype: SparseDtype
) -> "SparseArray":
cls: Type[_SparseArrayT],
sparse_array: np.ndarray,
sparse_index: SparseIndex,
dtype: SparseDtype,
) -> _SparseArrayT:
new = object.__new__(cls)
new._sparse_index = sparse_index
new._sparse_values = sparse_array
Expand Down Expand Up @@ -821,11 +826,12 @@ def _get_val_at(self, loc):
val = com.maybe_box_datetimelike(val, self.sp_values.dtype)
return val

def take(self, indices, allow_fill=False, fill_value=None) -> "SparseArray":
def take(self, indices, allow_fill: bool = False, fill_value=None) -> "SparseArray":
if is_scalar(indices):
raise ValueError(f"'indices' must be an array, not a scalar '{indices}'.")
indices = np.asarray(indices, dtype=np.int32)

result: Union[np.ndarray, "SparseArray"]
if indices.size == 0:
result = np.array([], dtype="object")
kwargs = {"dtype": self.dtype}
Expand Down Expand Up @@ -1386,8 +1392,10 @@ def __abs__(self):
# ------------------------------------------------------------------------

@classmethod
def _create_unary_method(cls, op) -> Callable[["SparseArray"], "SparseArray"]:
def sparse_unary_method(self) -> "SparseArray":
def _create_unary_method(
cls: Type[_SparseArrayT], op
) -> Callable[[_SparseArrayT], _SparseArrayT]:
def sparse_unary_method(self: _SparseArrayT) -> _SparseArrayT:
fill_value = op(np.array(self.fill_value)).item()
values = op(self.sp_values)
dtype = SparseDtype(values.dtype, fill_value)
Expand Down Expand Up @@ -1479,14 +1487,14 @@ def cmp_method(self, other):

@classmethod
def _add_unary_ops(cls):
cls.__pos__ = cls._create_unary_method(operator.pos)
cls.__neg__ = cls._create_unary_method(operator.neg)
cls.__invert__ = cls._create_unary_method(operator.invert)
setattr(cls, "__pos__", cls._create_unary_method(operator.pos))
setattr(cls, "__neg__", cls._create_unary_method(operator.neg))
setattr(cls, "__invert__", cls._create_unary_method(operator.invert))

@classmethod
def _add_comparison_ops(cls):
cls.__and__ = cls._create_comparison_method(operator.and_)
cls.__or__ = cls._create_comparison_method(operator.or_)
setattr(cls, "__and__", cls._create_comparison_method(operator.and_))
setattr(cls, "__or__", cls._create_comparison_method(operator.or_))
cls.__xor__ = cls._create_arithmetic_method(operator.xor)
super()._add_comparison_ops()

Expand Down
33 changes: 24 additions & 9 deletions pandas/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@

import builtins
import textwrap
from typing import Any, Dict, FrozenSet, List, Optional, Union
from typing import (
TYPE_CHECKING,
Any,
Callable,
Dict,
FrozenSet,
List,
Optional,
Tuple,
Union,
)

import numpy as np

Expand Down Expand Up @@ -34,6 +44,9 @@
from pandas.core.construction import create_series_with_explicit_dtype
import pandas.core.nanops as nanops

if TYPE_CHECKING:
from pandas import DataFrame, Series # noqa: F401

_shared_docs: Dict[str, str] = dict()
_indexops_doc_kwargs = dict(
klass="IndexOpsMixin",
Expand Down Expand Up @@ -244,7 +257,7 @@ def _gotitem(self, key, ndim: int, subset=None):
"""
raise AbstractMethodError(self)

def aggregate(self, func, *args, **kwargs):
def aggregate(self, func, **kwargs):
raise AbstractMethodError(self)

agg = aggregate
Expand Down Expand Up @@ -279,13 +292,15 @@ def _try_aggregate_string_function(self, arg: str, *args, **kwargs):
f"'{arg}' is not a valid function for '{type(self).__name__}' object"
)

def _aggregate(self, arg, *args, **kwargs):
def _aggregate(
self, arg: Union[str, Dict], *args, **kwargs
) -> Tuple[Optional[Union[Dict, "Series", "DataFrame"]], Optional[bool]]:
"""
provide an implementation for the aggregators

Parameters
----------
arg : string, dict, function
arg : str, dict, function
*args : args to pass on to the function
**kwargs : kwargs to pass on to the function

Expand Down Expand Up @@ -318,7 +333,7 @@ def _aggregate(self, arg, *args, **kwargs):
# eg. {'A' : ['mean']}, normalize all to
# be list-likes
if any(is_aggregator(x) for x in arg.values()):
new_arg = {}
new_arg: Dict[Any, Union[Tuple, List, Dict]] = {}
for k, v in arg.items():
if not isinstance(v, (tuple, list, dict)):
new_arg[k] = [v]
Expand Down Expand Up @@ -374,7 +389,7 @@ def _agg_2dim(how):
colg = self._gotitem(self._selection, ndim=2, subset=obj)
return colg.aggregate(how)

def _agg(arg, func):
def _agg(arg: Dict, func: Callable) -> Dict:
"""
run the aggregations over the arg with func
return a dict
Expand All @@ -386,7 +401,7 @@ def _agg(arg, func):

# set the final keys
keys = list(arg.keys())
result = {}
result: Any = {}

if self._selection is not None:

Expand Down Expand Up @@ -460,7 +475,7 @@ def is_any_frame() -> bool:
return result, True

# fall thru
from pandas import DataFrame, Series
from pandas import DataFrame, Series # noqa: F811

try:
result = DataFrame(result)
Expand Down Expand Up @@ -546,7 +561,7 @@ def _aggregate_multiple_funcs(self, arg, _axis):
# we are concatting non-NDFrame objects,
# e.g. a list of scalars

from pandas import Series
from pandas import Series # noqa: F811

result = Series(results, index=keys, name=self.name)
if is_nested_object(result):
Expand Down
11 changes: 6 additions & 5 deletions pandas/core/computation/expressions.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

"""

from typing import Callable, List, Set
import warnings

import numpy as np
Expand All @@ -20,10 +21,10 @@
import numexpr as ne

_TEST_MODE = None
_TEST_RESULT = None
_TEST_RESULT: List[bool]
_USE_NUMEXPR = _NUMEXPR_INSTALLED
_evaluate = None
_where = None
_evaluate: Callable
_where: Callable

# the set of dtypes that we will allow pass to numexpr
_ALLOWED_DTYPES = {
Expand Down Expand Up @@ -74,7 +75,7 @@ def _can_use_numexpr(op, op_str, a, b, dtype_check):
# required min elements (otherwise we are adding overhead)
if np.prod(a.shape) > _MIN_ELEMENTS:
# check for dtype compatibility
dtypes = set()
dtypes: Set[str] = set()
for o in [a, b]:
# Series implements dtypes, check for dimension count as well
if hasattr(o, "dtypes") and o.ndim > 1:
Expand Down Expand Up @@ -213,7 +214,7 @@ def where(cond, a, b, use_numexpr=True):
return _where(cond, a, b) if use_numexpr else _where_standard(cond, a, b)


def set_test_mode(v=True):
def set_test_mode(v: bool = True) -> None:
"""
Keeps track of whether numexpr was used. Stores an additional ``True``
for every successful use of evaluate with numexpr since the last
Expand Down
Loading