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

CI/TYP: enable reportGeneralTypeIssues for subset of files #47252

Merged
merged 12 commits into from
Jun 8, 2022
14 changes: 13 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,19 @@ repos:
pass_filenames: false
types: [python]
stages: [manual]
additional_dependencies: ['[email protected]']
additional_dependencies: &pyright_dependencies
- [email protected]
- repo: local
hooks:
- id: pyright_reportGeneralTypeIssues
name: pyright reportGeneralTypeIssues
entry: pyright --skipunannotated -p pyright_reportGeneralTypeIssues.json
# note: assumes python env is setup and activated
language: node
pass_filenames: false
types: [python]
stages: [manual]
additional_dependencies: *pyright_dependencies
- repo: local
hooks:
- id: mypy
Expand Down
3 changes: 2 additions & 1 deletion pandas/_libs/lib.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from typing import (
Any,
Callable,
Final,
Generator,
Hashable,
Literal,
Expand All @@ -26,7 +27,7 @@ from enum import Enum
class _NoDefault(Enum):
no_default = ...

no_default = _NoDefault.no_default
no_default: Final = _NoDefault.no_default
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needed for pyright see microsoft/pyright#3546 (comment)

NoDefault = Literal[_NoDefault.no_default]

i8max: int
Expand Down
4 changes: 3 additions & 1 deletion pandas/util/_doctools.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from __future__ import annotations

from typing import Iterable

import numpy as np

import pandas as pd
Expand Down Expand Up @@ -41,7 +43,7 @@ def _get_cells(self, left, right, vertical) -> tuple[int, int]:
hcells = sum([self._shape(df)[1] for df in left] + [self._shape(right)[1]])
return hcells, vcells

def plot(self, left, right, labels=None, vertical: bool = True):
def plot(self, left, right, labels: Iterable[str] = (), vertical: bool = True):
"""
Plot left / right DataFrames in specified layout.

Expand Down
127 changes: 127 additions & 0 deletions pyright_reportGeneralTypeIssues.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# this becomes obsolet when reportGeneralTypeIssues can be enabled in pyproject.toml
mroeschke marked this conversation as resolved.
Show resolved Hide resolved
{
"typeCheckingMode": "off",
"reportGeneralTypeIssues": true,
"include":
[
"pandas",
"typings"
],
"exclude":
[
# exclude tests
"pandas/tests",
# and all files that currently don't pass
"pandas/_config/config.py",
"pandas/core/algorithms.py",
"pandas/core/apply.py",
"pandas/core/array_algos/take.py",
"pandas/core/arrays/_mixins.py",
"pandas/core/arrays/_ranges.py",
"pandas/core/arrays/arrow/array.py",
"pandas/core/arrays/base.py",
"pandas/core/arrays/boolean.py",
"pandas/core/arrays/categorical.py",
"pandas/core/arrays/datetimelike.py",
"pandas/core/arrays/datetimes.py",
"pandas/core/arrays/interval.py",
"pandas/core/arrays/masked.py",
"pandas/core/arrays/numeric.py",
"pandas/core/arrays/period.py",
"pandas/core/arrays/sparse/array.py",
"pandas/core/arrays/sparse/dtype.py",
"pandas/core/arrays/string_.py",
"pandas/core/arrays/string_arrow.py",
"pandas/core/arrays/timedeltas.py",
"pandas/core/common.py",
"pandas/core/computation/align.py",
"pandas/core/construction.py",
"pandas/core/describe.py",
"pandas/core/dtypes/base.py",
"pandas/core/dtypes/cast.py",
"pandas/core/dtypes/common.py",
"pandas/core/dtypes/concat.py",
"pandas/core/dtypes/dtypes.py",
"pandas/core/frame.py",
"pandas/core/generic.py",
"pandas/core/groupby/generic.py",
"pandas/core/groupby/groupby.py",
"pandas/core/groupby/grouper.py",
"pandas/core/groupby/ops.py",
"pandas/core/indexers/objects.py",
"pandas/core/indexers/utils.py",
"pandas/core/indexes/base.py",
"pandas/core/indexes/category.py",
"pandas/core/indexes/datetimelike.py",
"pandas/core/indexes/datetimes.py",
"pandas/core/indexes/extension.py",
"pandas/core/indexes/interval.py",
"pandas/core/indexes/multi.py",
"pandas/core/indexes/numeric.py",
"pandas/core/indexes/period.py",
"pandas/core/indexes/range.py",
"pandas/core/indexing.py",
"pandas/core/internals/api.py",
"pandas/core/internals/array_manager.py",
"pandas/core/internals/base.py",
"pandas/core/internals/blocks.py",
"pandas/core/internals/concat.py",
"pandas/core/internals/construction.py",
"pandas/core/internals/managers.py",
"pandas/core/missing.py",
"pandas/core/nanops.py",
"pandas/core/resample.py",
"pandas/core/reshape/concat.py",
"pandas/core/reshape/merge.py",
"pandas/core/reshape/pivot.py",
"pandas/core/reshape/reshape.py",
"pandas/core/reshape/tile.py",
"pandas/core/series.py",
"pandas/core/sorting.py",
"pandas/core/strings/accessor.py",
"pandas/core/tools/datetimes.py",
"pandas/core/tools/timedeltas.py",
"pandas/core/util/hashing.py",
"pandas/core/util/numba_.py",
"pandas/core/window/ewm.py",
"pandas/core/window/expanding.py",
"pandas/core/window/rolling.py",
"pandas/io/common.py",
"pandas/io/excel/_base.py",
"pandas/io/excel/_odfreader.py",
"pandas/io/excel/_odswriter.py",
"pandas/io/excel/_openpyxl.py",
"pandas/io/excel/_pyxlsb.py",
"pandas/io/excel/_xlrd.py",
"pandas/io/formats/csvs.py",
"pandas/io/formats/excel.py",
"pandas/io/formats/format.py",
"pandas/io/formats/info.py",
"pandas/io/formats/printing.py",
"pandas/io/formats/style.py",
"pandas/io/formats/style_render.py",
"pandas/io/formats/xml.py",
"pandas/io/json/_json.py",
"pandas/io/parquet.py",
"pandas/io/parsers/arrow_parser_wrapper.py",
"pandas/io/parsers/base_parser.py",
"pandas/io/parsers/c_parser_wrapper.py",
"pandas/io/parsers/python_parser.py",
"pandas/io/parsers/readers.py",
"pandas/io/pytables.py",
"pandas/io/sas/sas7bdat.py",
"pandas/io/sas/sasreader.py",
"pandas/io/sql.py",
"pandas/io/stata.py",
"pandas/io/xml.py",
"pandas/plotting/_core.py",
"pandas/plotting/_matplotlib/converter.py",
"pandas/plotting/_matplotlib/core.py",
"pandas/plotting/_matplotlib/hist.py",
"pandas/plotting/_matplotlib/misc.py",
"pandas/plotting/_matplotlib/style.py",
"pandas/plotting/_matplotlib/timeseries.py",
"pandas/plotting/_matplotlib/tools.py",
"pandas/tseries/frequencies.py",
],
}
4 changes: 1 addition & 3 deletions typings/numba.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ from pandas._typing import F

def __getattr__(name: str) -> Any: ... # incomplete
@overload
def jit(
signature_or_function: F = ...,
) -> F: ...
def jit(signature_or_function: F) -> F: ...
@overload
def jit(
signature_or_function: str
Expand Down