diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 876d86a68f0db..91ca35ce33c49 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -208,39 +208,22 @@ repos: language: pygrep entry: | (?x) - # pytest.xfail instead of pytest.mark.xfail - pytest\.xfail - # imports from pandas._testing instead of `import pandas._testing as tm` - |from\ pandas\._testing\ import + from\ pandas\._testing\ import |from\ pandas\ import\ _testing\ as\ tm - # No direct imports from conftest - |conftest\ import - |import\ conftest - # pandas.testing instead of tm |pd\.testing\. # pd.api.types instead of from pandas.api.types import ... |(pd|pandas)\.api\.types\. - # np.testing, np.array_equal - |(numpy|np)(\.testing|\.array_equal) - - # unittest.mock (use pytest builtin monkeypatch fixture instead) - |(unittest(\.| import )mock|mock\.Mock\(\)|mock\.patch) + # np.array_equal + |(numpy|np)\.array_equal # pytest raises without context |\s\ pytest.raises - # TODO - # pytest.warns (use tm.assert_produces_warning instead) - # |pytest\.warns - - # os.remove - |os\.remove - # Unseeded numpy default_rng |default_rng\(\) files: ^pandas/tests/ diff --git a/doc/make.py b/doc/make.py index 19df4bae2ea55..c9588ffb80517 100755 --- a/doc/make.py +++ b/doc/make.py @@ -233,7 +233,7 @@ def html(self): ret_code = self._sphinx_build("html") zip_fname = os.path.join(BUILD_PATH, "html", "pandas.zip") if os.path.exists(zip_fname): - os.remove(zip_fname) + os.remove(zip_fname) # noqa: TID251 if ret_code == 0: if self.single_doc_html is not None: @@ -285,7 +285,7 @@ def zip_html(self) -> None: """ zip_fname = os.path.join(BUILD_PATH, "html", "pandas.zip") if os.path.exists(zip_fname): - os.remove(zip_fname) + os.remove(zip_fname) # noqa: TID251 dirname = os.path.join(BUILD_PATH, "html") fnames = os.listdir(dirname) os.chdir(dirname) diff --git a/pandas/tests/copy_view/test_chained_assignment_deprecation.py b/pandas/tests/copy_view/test_chained_assignment_deprecation.py index a54ecce4ffbec..76e3df4afb52c 100644 --- a/pandas/tests/copy_view/test_chained_assignment_deprecation.py +++ b/pandas/tests/copy_view/test_chained_assignment_deprecation.py @@ -18,7 +18,7 @@ def test_series_setitem(indexer): # using custom check instead of tm.assert_produces_warning because that doesn't # fail if multiple warnings are raised - with pytest.warns() as record: + with pytest.warns() as record: # noqa: TID251 df["a"][indexer] = 0 assert len(record) == 1 assert record[0].category == ChainedAssignmentError diff --git a/pyproject.toml b/pyproject.toml index c0d8c859d0c12..539f246c3868f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -331,6 +331,17 @@ exclude = [ [tool.ruff.lint.flake8-tidy-imports.banned-api] "urllib.request.urlopen".msg = "Use pandas.io.common.urlopen instead of urllib.request.urlopen" +# numpy.random is banned but np.random is not. Is this intentional? +# "numpy.random".msg = "Do not use numpy.random" +"pytest.warns".msg = "Use tm.assert_produces_warning instead of pytest.warns" +"pytest.xfail".msg = "Use pytest.mark.xfail instead of pytest.xfail" +"conftest".msg = "No direct imports from conftest" +"numpy.testing".msg = "Do not use numpy.testing" +# "numpy.array_equal".msg = "Do not use numpy.array_equal" # Used in pandas/core +"unittest.mock".msg = "use pytest builtin monkeypatch fixture instead" +"os.remove".msg = "Do not use os.remove" + + [tool.ruff.per-file-ignores] # relative imports allowed for asv_bench diff --git a/web/tests/test_pandas_web.py b/web/tests/test_pandas_web.py index aacdfbcd6d26e..6b88263f98be6 100644 --- a/web/tests/test_pandas_web.py +++ b/web/tests/test_pandas_web.py @@ -1,4 +1,4 @@ -from unittest.mock import ( +from unittest.mock import ( # noqa: TID251 mock_open, patch, )