diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dbddba57ef21c..2ca5b5c9b896b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: absolufy-imports files: ^pandas/ - repo: https://github.com/jendrikseipp/vulture - rev: 'v2.4' + rev: 'v2.5' hooks: - id: vulture entry: python scripts/run_vulture.py @@ -46,20 +46,19 @@ repos: exclude: ^pandas/_libs/src/(klib|headers)/ args: [--quiet, '--extensions=c,h', '--headers=h', --recursive, '--filter=-readability/casting,-runtime/int,-build/include_subdir'] - repo: https://github.com/PyCQA/flake8 - rev: 4.0.1 + rev: 5.0.4 hooks: - id: flake8 additional_dependencies: &flake8_dependencies - - flake8==4.0.1 - - flake8-comprehensions==3.7.0 - - flake8-bugbear==21.3.2 + - flake8==5.0.4 + - flake8-bugbear==22.7.1 - pandas-dev-flaker==0.5.0 - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/asottile/pyupgrade - rev: v2.34.0 + rev: v2.37.3 hooks: - id: pyupgrade args: [--py38-plus] @@ -239,8 +238,8 @@ repos: types: [pyi] language: python additional_dependencies: - - flake8==4.0.1 - - flake8-pyi==22.7.0 + - flake8==5.0.4 + - flake8-pyi==22.8.1 - id: future-annotations name: import annotations from __future__ entry: 'from __future__ import annotations' diff --git a/environment.yml b/environment.yml index 8866b1b3b7df6..f1472f453b935 100644 --- a/environment.yml +++ b/environment.yml @@ -85,9 +85,8 @@ dependencies: # code checks - black=22.3.0 - cpplint - - flake8=4.0.1 - - flake8-bugbear=21.3.2 # used by flake8, find likely bugs - - flake8-comprehensions=3.7.0 # used by flake8, linting of unnecessary comprehensions + - flake8=5.0.4 + - flake8-bugbear=22.7.1 # used by flake8, find likely bugs - isort>=5.2.1 # check that imports are in the right order - mypy=0.971 - pre-commit>=2.15.0 diff --git a/pandas/tests/arrays/categorical/test_repr.py b/pandas/tests/arrays/categorical/test_repr.py index 3454c8bb90941..b44af07cee01d 100644 --- a/pandas/tests/arrays/categorical/test_repr.py +++ b/pandas/tests/arrays/categorical/test_repr.py @@ -319,7 +319,7 @@ def test_categorical_repr_timedelta(self): c = Categorical(idx.append(idx), categories=idx) exp = """[1 days, 2 days, 3 days, 4 days, 5 days, 1 days, 2 days, 3 days, 4 days, 5 days] -Categories (5, timedelta64[ns]): [1 days, 2 days, 3 days, 4 days, 5 days]""" +Categories (5, timedelta64[ns]): [1 days, 2 days, 3 days, 4 days, 5 days]""" # noqa:E501 assert repr(c) == exp @@ -352,7 +352,7 @@ def test_categorical_repr_timedelta_ordered(self): c = Categorical(idx.append(idx), categories=idx, ordered=True) exp = """[1 days, 2 days, 3 days, 4 days, 5 days, 1 days, 2 days, 3 days, 4 days, 5 days] -Categories (5, timedelta64[ns]): [1 days < 2 days < 3 days < 4 days < 5 days]""" +Categories (5, timedelta64[ns]): [1 days < 2 days < 3 days < 4 days < 5 days]""" # noqa:E501 assert repr(c) == exp diff --git a/pandas/tests/indexes/categorical/test_formats.py b/pandas/tests/indexes/categorical/test_formats.py index d48f6dc70a2b8..d7812888556ea 100644 --- a/pandas/tests/indexes/categorical/test_formats.py +++ b/pandas/tests/indexes/categorical/test_formats.py @@ -24,7 +24,7 @@ def test_string_categorical_index_repr(self): expected = """CategoricalIndex(['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc'], - categories=['a', 'bb', 'ccc'], ordered=False, dtype='category')""" + categories=['a', 'bb', 'ccc'], ordered=False, dtype='category')""" # noqa:E501 assert repr(idx) == expected @@ -55,7 +55,7 @@ def test_string_categorical_index_repr(self): expected = """CategoricalIndex(['あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう'], - categories=['あ', 'いい', 'ううう'], ordered=False, dtype='category')""" + categories=['あ', 'いい', 'ううう'], ordered=False, dtype='category')""" # noqa:E501 assert repr(idx) == expected @@ -90,7 +90,7 @@ def test_string_categorical_index_repr(self): 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう', 'あ', 'いい', 'ううう'], - categories=['あ', 'いい', 'ううう'], ordered=False, dtype='category')""" + categories=['あ', 'いい', 'ううう'], ordered=False, dtype='category')""" # noqa:E501 assert repr(idx) == expected diff --git a/pandas/tests/indexes/multi/test_formats.py b/pandas/tests/indexes/multi/test_formats.py index f71472b726fa2..238a3e78169a8 100644 --- a/pandas/tests/indexes/multi/test_formats.py +++ b/pandas/tests/indexes/multi/test_formats.py @@ -184,7 +184,7 @@ def test_tuple_width(self, wide_multi_index): mi = wide_multi_index result = mi[:1].__repr__() expected = """MultiIndex([('a', 9, '2000-01-01 00:00:00', '2000-01-01 00:00:00', ...)], - names=['a', 'b', 'dti_1', 'dti_2', 'dti_3'])""" + names=['a', 'b', 'dti_1', 'dti_2', 'dti_3'])""" # noqa:E501 assert result == expected result = mi[:10].__repr__() diff --git a/requirements-dev.txt b/requirements-dev.txt index a6e0f9e98b52a..60dd738e43ba3 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -64,9 +64,8 @@ flask asv black==22.3.0 cpplint -flake8==4.0.1 -flake8-bugbear==21.3.2 -flake8-comprehensions==3.7.0 +flake8==5.0.4 +flake8-bugbear==22.7.1 isort>=5.2.1 mypy==0.971 pre-commit>=2.15.0 diff --git a/setup.cfg b/setup.cfg index 8f7cfc288ecdb..f2314316f7732 100644 --- a/setup.cfg +++ b/setup.cfg @@ -103,6 +103,12 @@ ignore = # tests use comparisons but not their returned value B015, # false positives + B019, + # Use of functools.lru_cache or functools.cache on methods can lead to memory leaks. + B020 + # Loop control variable overrides iterable it iterates + B023 + # Functions defined inside a loop must not use variables redefined in the loop B301, # single-letter variables PDF023,