Skip to content

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

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

Merged
merged 12 commits into from
Jun 8, 2022
13 changes: 12 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,18 @@ repos:
pass_filenames: false
types: [python]
stages: [manual]
additional_dependencies: ['[email protected]']
additional_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: ['[email protected]']
- repo: local
hooks:
- id: mypy
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 Sequence

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: Sequence[str] = (), vertical: bool = True):
Copy link
Member

Choose a reason for hiding this comment

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

😱

Copy link
Member Author

Choose a reason for hiding this comment

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

Technically, it could even be Iterable[str] (only used within zip). And yes a string is okay for this function :)

Changed the default value as there is no check whether labels is None. Would raise if labels is not provided.

Copy link
Member Author

Choose a reason for hiding this comment

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

changed to Iterable[str] (still contains str and even scarier types)

"""
Plot left / right DataFrames in specified layout.

Expand Down
129 changes: 129 additions & 0 deletions pyright_reportGeneralTypeIssues.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# this becomes obsolet when reportGeneralTypeIssues can be enabled in pyproject.toml
{
"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/_arrow_utils.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/html.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