Repository: pandas-dev/pandas
Pull request #59265 (2024-07-17 17:31:17)

DOC: Add docstrings to fixtures in /series/methods/test_drop_duplicates.py
Add docstrings to fixtures in `/pandas/tests/series/methods/test_drop_duplicates.py` file.

Partially addresses https://github.com/pandas-dev/pandas/issues/19159



Patch:
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4acc6473e6..745b04a515 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -54,7 +54,7 @@ jobs:
             /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
             . ~/virtualenvs/pandas-dev/bin/activate
             python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
-            python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
+            python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
             python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
             python -m pip list --no-cache-dir
             export PANDAS_CI=1
diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml
index 02100648b6..6405156f09 100644
--- a/.github/workflows/wheels.yml
+++ b/.github/workflows/wheels.yml
@@ -178,7 +178,7 @@ jobs:
         shell: pwsh
         run: |
           $TST_CMD = @"
-          python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0;
+          python -m pip install hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0;
           python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
           python -c `'import pandas as pd; pd.test(extra_args=[`\"--no-strict-data-files`\", `\"-m not clipboard and not single_cpu and not slow and not network and not db`\"])`';
           "@
diff --git a/ci/code_checks.sh b/ci/code_checks.sh
index 59cbc075b5..1e9250fd77 100755
--- a/ci/code_checks.sh
+++ b/ci/code_checks.sh
@@ -158,7 +158,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
         -i "pandas.Series.product RT03" \
         -i "pandas.Series.reorder_levels RT03,SA01" \
         -i "pandas.Series.sem PR01,RT03,SA01" \
-        -i "pandas.Series.skew SA01" \
         -i "pandas.Series.sparse PR01,SA01" \
         -i "pandas.Series.sparse.density SA01" \
         -i "pandas.Series.sparse.fill_value SA01" \
@@ -196,8 +195,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
         -i "pandas.Series.str.wrap RT03,SA01" \
         -i "pandas.Series.str.zfill RT03" \
         -i "pandas.Series.struct.dtypes SA01" \
-        -i "pandas.Series.to_dict SA01" \
-        -i "pandas.Series.to_frame SA01" \
         -i "pandas.Series.to_markdown SA01" \
         -i "pandas.Series.update PR07,SA01" \
         -i "pandas.Timedelta.asm8 SA01" \
diff --git a/ci/deps/actions-310-minimum_versions.yaml b/ci/deps/actions-310-minimum_versions.yaml
index a9c205d24d..0c46f47689 100644
--- a/ci/deps/actions-310-minimum_versions.yaml
+++ b/ci/deps/actions-310-minimum_versions.yaml
@@ -15,9 +15,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-localserver>=0.7.1
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -32,7 +32,7 @@ dependencies:
   - fastparquet=2023.10.0
   - fsspec=2022.11.0
   - html5lib=1.1
-  - hypothesis=6.46.1
+  - hypothesis=6.84.0
   - gcsfs=2022.11.0
   - jinja2=3.1.2
   - lxml=4.9.2
diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml
index ed7dfe1a3c..0af46752f5 100644
--- a/ci/deps/actions-310.yaml
+++ b/ci/deps/actions-310.yaml
@@ -13,8 +13,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -29,7 +30,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - jinja2>=3.1.2
   - lxml>=4.9.2
@@ -60,4 +61,3 @@ dependencies:
     - adbc-driver-postgresql>=0.10.0
     - adbc-driver-sqlite>=0.8.0
     - tzdata>=2022.7
-    - pytest-localserver>=0.7.1
diff --git a/ci/deps/actions-311-downstream_compat.yaml b/ci/deps/actions-311-downstream_compat.yaml
index dd1d341c70..1a842c7212 100644
--- a/ci/deps/actions-311-downstream_compat.yaml
+++ b/ci/deps/actions-311-downstream_compat.yaml
@@ -14,9 +14,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-localserver>=0.7.1
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -31,7 +31,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - jinja2>=3.1.2
   - lxml>=4.9.2
diff --git a/ci/deps/actions-311-numpydev.yaml b/ci/deps/actions-311-numpydev.yaml
index 61a0eabbf1..748cfa861e 100644
--- a/ci/deps/actions-311-numpydev.yaml
+++ b/ci/deps/actions-311-numpydev.yaml
@@ -13,8 +13,8 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - hypothesis>=6.46.1
+  - pytest-xdist>=3.4.0
+  - hypothesis>=6.84.0
 
   # pandas dependencies
   - python-dateutil
diff --git a/ci/deps/actions-311-pyarrownightly.yaml b/ci/deps/actions-311-pyarrownightly.yaml
index 5455b9b84b..469fb1bfb9 100644
--- a/ci/deps/actions-311-pyarrownightly.yaml
+++ b/ci/deps/actions-311-pyarrownightly.yaml
@@ -13,8 +13,8 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - hypothesis>=6.46.1
+  - pytest-xdist>=3.4.0
+  - hypothesis>=6.84.0
 
   # required dependencies
   - python-dateutil
diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml
index 388116439f..75394e2c8e 100644
--- a/ci/deps/actions-311.yaml
+++ b/ci/deps/actions-311.yaml
@@ -13,8 +13,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -29,7 +30,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - jinja2>=3.1.2
   - lxml>=4.9.2
@@ -59,4 +60,3 @@ dependencies:
   - pip:
     - adbc-driver-postgresql>=0.10.0
     - adbc-driver-sqlite>=0.8.0
-    - pytest-localserver>=0.7.1
diff --git a/ci/deps/actions-312.yaml b/ci/deps/actions-312.yaml
index 1d9f8aa3b0..d4b43ddef3 100644
--- a/ci/deps/actions-312.yaml
+++ b/ci/deps/actions-312.yaml
@@ -13,8 +13,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -29,7 +30,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - jinja2>=3.1.2
   - lxml>=4.9.2
@@ -60,4 +61,3 @@ dependencies:
     - adbc-driver-postgresql>=0.10.0
     - adbc-driver-sqlite>=0.8.0
     - tzdata>=2022.7
-    - pytest-localserver>=0.7.1
diff --git a/ci/deps/actions-pypy-39.yaml b/ci/deps/actions-pypy-39.yaml
index d9c8dd81b7..b0ae9f1e48 100644
--- a/ci/deps/actions-pypy-39.yaml
+++ b/ci/deps/actions-pypy-39.yaml
@@ -16,8 +16,8 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - hypothesis>=6.46.1
+  - pytest-xdist>=3.4.0
+  - hypothesis>=6.84.0
 
   # required
   - numpy
diff --git a/ci/deps/circle-311-arm64.yaml b/ci/deps/circle-311-arm64.yaml
index 1c31d35369..18535d81e6 100644
--- a/ci/deps/circle-311-arm64.yaml
+++ b/ci/deps/circle-311-arm64.yaml
@@ -13,9 +13,9 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-localserver>=0.7.1
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-localserver>=0.8.1
+  - pytest-qt>=4.4.0
   - boto3
 
   # required dependencies
@@ -30,7 +30,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - jinja2>=3.1.2
   - lxml>=4.9.2
diff --git a/ci/meta.yaml b/ci/meta.yaml
index aac5593e49..b76bef2f63 100644
--- a/ci/meta.yaml
+++ b/ci/meta.yaml
@@ -64,9 +64,9 @@ test:
   requires:
     - pip
     - pytest >=7.3.2
-    - pytest-xdist >=2.2.0
+    - pytest-xdist >=3.4.0
     - pytest-cov
-    - hypothesis >=6.46.1
+    - hypothesis >=6.84.0
     - tomli  # [py<311]
 
 about:
diff --git a/doc/source/whatsnew/v3.0.0.rst b/doc/source/whatsnew/v3.0.0.rst
index ba6636cb42..c5c886912e 100644
--- a/doc/source/whatsnew/v3.0.0.rst
+++ b/doc/source/whatsnew/v3.0.0.rst
@@ -547,6 +547,7 @@ Interval
 Indexing
 ^^^^^^^^
 - Bug in :meth:`DataFrame.__getitem__` returning modified columns when called with ``slice`` in Python 3.12 (:issue:`57500`)
+- Bug in :meth:`DataFrame.from_records` throwing a ``ValueError`` when passed an empty list in ``index`` (:issue:`58594`)
 -
 
 Missing
diff --git a/environment.yml b/environment.yml
index dcc7aa5280..e5646af07c 100644
--- a/environment.yml
+++ b/environment.yml
@@ -15,8 +15,8 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
-  - pytest-qt>=4.2.0
+  - pytest-xdist>=3.4.0
+  - pytest-qt>=4.4.0
   - pytest-localserver
   - pyqt>=5.15.9
   - coverage
@@ -33,7 +33,7 @@ dependencies:
   - fastparquet>=2023.10.0
   - fsspec>=2022.11.0
   - html5lib>=1.1
-  - hypothesis>=6.46.1
+  - hypothesis>=6.84.0
   - gcsfs>=2022.11.0
   - ipython
   - jinja2>=3.1.2
diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py
index b62a4c8dcc..06082e71af 100644
--- a/pandas/compat/_optional.py
+++ b/pandas/compat/_optional.py
@@ -28,7 +28,7 @@ VERSIONS = {
     "fastparquet": "2023.10.0",
     "fsspec": "2022.11.0",
     "html5lib": "1.1",
-    "hypothesis": "6.46.1",
+    "hypothesis": "6.84.0",
     "gcsfs": "2022.11.0",
     "jinja2": "3.1.2",
     "lxml.etree": "4.9.2",
diff --git a/pandas/core/generic.py b/pandas/core/generic.py
index fc9821a657..5913532e28 100644
--- a/pandas/core/generic.py
+++ b/pandas/core/generic.py
@@ -12481,6 +12481,14 @@ _min_examples: str = _shared_docs["stat_func_example"].format(
     stat_func="min", verb="Min", default_output=0, level_output_0=2, level_output_1=0
 )
 
+_skew_see_also = """
+
+See Also
+--------
+Series.skew : Return unbiased skew over requested axis.
+Series.var : Return unbiased variance over requested axis.
+Series.std : Return unbiased standard deviation over requested axis."""
+
 _stat_func_see_also = """
 
 See Also
@@ -12740,7 +12748,7 @@ def make_doc(name: str, ndim: int) -> str:
     elif name == "skew":
         base_doc = _num_doc
         desc = "Return unbiased skew over requested axis.\n\nNormalized by N-1."
-        see_also = ""
+        see_also = _skew_see_also
         examples = """
 
             Examples
diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py
index 7d43498d42..5bffac5fa6 100644
--- a/pandas/core/indexes/base.py
+++ b/pandas/core/indexes/base.py
@@ -7473,9 +7473,12 @@ def ensure_index_from_sequences(sequences, names=None) -> Index:
     --------
     ensure_index
     """
+    from pandas.core.indexes.api import default_index
     from pandas.core.indexes.multi import MultiIndex
 
-    if len(sequences) == 1:
+    if len(sequences) == 0:
+        return default_index(0)
+    elif len(sequences) == 1:
         if names is not None:
             names = names[0]
         return Index(maybe_sequence_to_range(sequences[0]), name=names)
diff --git a/pandas/core/series.py b/pandas/core/series.py
index 184c774d04..9209a80ada 100644
--- a/pandas/core/series.py
+++ b/pandas/core/series.py
@@ -1712,6 +1712,12 @@ class Series(base.IndexOpsMixin, NDFrame):  # type: ignore[misc]
         collections.abc.MutableMapping
             Key-value representation of Series.
 
+        See Also
+        --------
+        Series.to_list: Converts Series to a list of the values.
+        Series.to_numpy: Converts Series to NumPy ndarray.
+        Series.array: ExtensionArray of the data backing this Series.
+
         Examples
         --------
         >>> s = pd.Series([1, 2, 3, 4])
@@ -1749,6 +1755,10 @@ class Series(base.IndexOpsMixin, NDFrame):  # type: ignore[misc]
         DataFrame
             DataFrame representation of Series.
 
+        See Also
+        --------
+        Series.to_dict : Convert Series to dict object.
+
         Examples
         --------
         >>> s = pd.Series(["a", "b", "c"], name="vals")
diff --git a/pyproject.toml b/pyproject.toml
index 47fd540d67..7d3b55ce63 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -58,7 +58,7 @@ repository = 'https://github.com/pandas-dev/pandas'
 matplotlib = "pandas:plotting._matplotlib"
 
 [project.optional-dependencies]
-test = ['hypothesis>=6.46.1', 'pytest>=7.3.2', 'pytest-xdist>=2.2.0']
+test = ['hypothesis>=6.84.0', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0']
 pyarrow = ['pyarrow>=10.0.1']
 performance = ['bottleneck>=1.3.6', 'numba>=0.56.4', 'numexpr>=2.8.4']
 computation = ['scipy>=1.10.0', 'xarray>=2022.12.0']
@@ -91,7 +91,7 @@ all = ['adbc-driver-postgresql>=0.10.0',
        'fsspec>=2022.11.0',
        'gcsfs>=2022.11.0',
        'html5lib>=1.1',
-       'hypothesis>=6.46.1',
+       'hypothesis>=6.84.0',
        'jinja2>=3.1.2',
        'lxml>=4.9.2',
        'matplotlib>=3.6.3',
@@ -105,7 +105,7 @@ all = ['adbc-driver-postgresql>=0.10.0',
        'PyQt5>=5.15.9',
        'pyreadstat>=1.2.0',
        'pytest>=7.3.2',
-       'pytest-xdist>=2.2.0',
+       'pytest-xdist>=3.4.0',
        'python-calamine>=0.1.7',
        'pyxlsb>=1.0.10',
        'qtpy>=2.3.0',
@@ -148,7 +148,7 @@ setup = ['--vsenv'] # For Windows
 skip = "cp36-* cp37-* cp38-* cp39-* pp* *_i686 *_ppc64le *_s390x"
 build-verbosity = "3"
 environment = {LDFLAGS="-Wl,--strip-all"}
-test-requires = "hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0"
+test-requires = "hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0"
 test-command = """
   PANDAS_CI='1' python -c 'import pandas as pd; \
   pd.test(extra_args=["-m not clipboard and not single_cpu and not slow and not network and not db", "-n 2", "--no-strict-data-files"]); \
@@ -179,7 +179,7 @@ environment = {CFLAGS="-g0"}
 
 [[tool.cibuildwheel.overrides]]
 select = "*pyodide*"
-test-requires = "pytest>=7.3.2 hypothesis>=6.46.1"
+test-requires = "pytest>=7.3.2 hypothesis>=6.84.0"
 # Pyodide repairs wheels on its own, using auditwheel-emscripten
 repair-wheel-command = ""
 test-command = """
diff --git a/requirements-dev.txt b/requirements-dev.txt
index f5da7f70cc..dbfd7c6bf7 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -8,8 +8,8 @@ meson[ninja]==1.2.1
 meson-python==0.13.1
 pytest>=7.3.2
 pytest-cov
-pytest-xdist>=2.2.0
-pytest-qt>=4.2.0
+pytest-xdist>=3.4.0
+pytest-qt>=4.4.0
 pytest-localserver
 PyQt5>=5.15.9
 coverage
@@ -22,7 +22,7 @@ bottleneck>=1.3.6
 fastparquet>=2023.10.0
 fsspec>=2022.11.0
 html5lib>=1.1
-hypothesis>=6.46.1
+hypothesis>=6.84.0
 gcsfs>=2022.11.0
 ipython
 jinja2>=3.1.2


Test patch:
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index a9585c1745..261859a144 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -227,7 +227,7 @@ jobs:
           . ~/virtualenvs/pandas-dev/bin/activate
           python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
           python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
-          python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
+          python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytz pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
           python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
           python -m pip list --no-cache-dir
           export PANDAS_CI=1
@@ -265,7 +265,7 @@ jobs:
           /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
           . ~/virtualenvs/pandas-dev/bin/activate
           python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
-          python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
+          python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
           python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
           python -m pip list --no-cache-dir
 
@@ -339,7 +339,7 @@ jobs:
           python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
           python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
           python -m pip install versioneer[toml]
-          python -m pip install python-dateutil pytz tzdata cython hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov
+          python -m pip install python-dateutil pytz tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
           python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror"
           python -m pip list
 
@@ -382,7 +382,7 @@ jobs:
           python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
           python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython
           python -m pip install versioneer[toml]
-          python -m pip install python-dateutil pytz tzdata hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov
+          python -m pip install python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
           python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror"
           python -m pip list
 
diff --git a/pandas/conftest.py b/pandas/conftest.py
index 5e0dfd7ee6..c36789d295 100644
--- a/pandas/conftest.py
+++ b/pandas/conftest.py
@@ -76,7 +76,6 @@ from pandas.core.indexes.api import (
     Index,
     MultiIndex,
 )
-from pandas.util.version import Version
 
 if TYPE_CHECKING:
     from collections.abc import (
@@ -182,9 +181,10 @@ def pytest_collection_modifyitems(items, config) -> None:
                 ignore_doctest_warning(item, path, message)
 
 
-hypothesis_health_checks = [hypothesis.HealthCheck.too_slow]
-if Version(hypothesis.__version__) >= Version("6.83.2"):
-    hypothesis_health_checks.append(hypothesis.HealthCheck.differing_executors)
+hypothesis_health_checks = [
+    hypothesis.HealthCheck.too_slow,
+    hypothesis.HealthCheck.differing_executors,
+]
 
 # Hypothesis
 hypothesis.settings.register_profile(
diff --git a/pandas/tests/frame/constructors/test_from_records.py b/pandas/tests/frame/constructors/test_from_records.py
index 5be42d41af..ed2f0aa9c4 100644
--- a/pandas/tests/frame/constructors/test_from_records.py
+++ b/pandas/tests/frame/constructors/test_from_records.py
@@ -148,6 +148,12 @@ class TestFromRecords:
         assert len(result) == 0
         assert len(result.columns) == 0
 
+    def test_from_records_sequencelike_empty_index(self):
+        result = DataFrame.from_records([], index=[])
+        assert len(result) == 0
+        assert len(result.columns) == 0
+        assert len(result.index) == 0
+
     def test_from_records_dictlike(self):
         # test the dict methods
         df = DataFrame(
diff --git a/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py b/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py
index 61a79c4cea..c2d76c0bcc 100644
--- a/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py
+++ b/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py
@@ -70,20 +70,32 @@ class DropDuplicates:
 class TestDropDuplicatesPeriodIndex(DropDuplicates):
     @pytest.fixture(params=["D", "3D", "h", "2h", "min", "2min", "s", "3s"])
     def freq(self, request):
+        """
+        Fixture to test for different frequencies for PeriodIndex.
+        """
         return request.param
 
     @pytest.fixture
     def idx(self, freq):
+        """
+        Fixture to get PeriodIndex for 10 periods for different frequencies.
+        """
         return period_range("2011-01-01", periods=10, freq=freq, name="idx")
 
 
 class TestDropDuplicatesDatetimeIndex(DropDuplicates):
     @pytest.fixture
     def idx(self, freq_sample):
+        """
+        Fixture to get DatetimeIndex for 10 periods for different frequencies.
+        """
         return date_range("2011-01-01", freq=freq_sample, periods=10, name="idx")
 
 
 class TestDropDuplicatesTimedeltaIndex(DropDuplicates):
     @pytest.fixture
     def idx(self, freq_sample):
+        """
+        Fixture to get TimedeltaIndex for 10 periods for different frequencies.
+        """
         return timedelta_range("1 day", periods=10, freq=freq_sample, name="idx")
diff --git a/pandas/tests/series/methods/test_drop_duplicates.py b/pandas/tests/series/methods/test_drop_duplicates.py
index 31ef8ff896..2dbd61530d 100644
--- a/pandas/tests/series/methods/test_drop_duplicates.py
+++ b/pandas/tests/series/methods/test_drop_duplicates.py
@@ -75,10 +75,16 @@ class TestSeriesDropDuplicates:
         params=["int_", "uint", "float64", "str_", "timedelta64[h]", "datetime64[D]"]
     )
     def dtype(self, request):
+        """
+        Fixture that provides different data types for testing.
+        """
         return request.param
 
     @pytest.fixture
     def cat_series_unused_category(self, dtype, ordered):
+        """
+        Fixture that creates a Categorical Series with some unused categories.
+        """
         # Test case 1
         cat_array = np.array([1, 2, 3, 4, 5], dtype=np.dtype(dtype))
 
@@ -141,7 +147,9 @@ class TestSeriesDropDuplicates:
 
     @pytest.fixture
     def cat_series(self, dtype, ordered):
-        # no unused categories, unlike cat_series_unused_category
+        """
+        Fixture that creates a Categorical Series with no unused categories.
+        """
         cat_array = np.array([1, 2, 3, 4, 5], dtype=np.dtype(dtype))
 
         input2 = np.array([1, 2, 3, 5, 3, 2, 4], dtype=np.dtype(dtype))
diff --git a/scripts/tests/data/deps_expected_random.yaml b/scripts/tests/data/deps_expected_random.yaml
index 7bb95d05af..d1db7989a9 100644
--- a/scripts/tests/data/deps_expected_random.yaml
+++ b/scripts/tests/data/deps_expected_random.yaml
@@ -12,7 +12,7 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
+  - pytest-xdist>=3.4.0
   - psutil
   - boto3
 
diff --git a/scripts/tests/data/deps_minimum.toml b/scripts/tests/data/deps_minimum.toml
index b832b6aa95..0a53225a5d 100644
--- a/scripts/tests/data/deps_minimum.toml
+++ b/scripts/tests/data/deps_minimum.toml
@@ -53,7 +53,7 @@ repository = 'https://github.com/pandas-dev/pandas'
 matplotlib = "pandas:plotting._matplotlib"
 
 [project.optional-dependencies]
-test = ['hypothesis>=6.34.2', 'pytest>=7.3.2', 'pytest-xdist>=2.2.0']
+test = ['hypothesis>=6.34.2', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0']
 performance = ['bottleneck>=1.3.2', 'numba>=0.53.1', 'numexpr>=2.7.1']
 timezone = ['tzdata>=2022.1']
 computation = ['scipy>=1.7.1', 'xarray>=0.21.0']
@@ -74,7 +74,7 @@ html = ['beautifulsoup4>=4.9.3', 'html5lib>=1.1', 'lxml>=4.6.3']
 xml = ['lxml>=4.6.3']
 plot = ['matplotlib>=3.6.1']
 output_formatting = ['jinja2>=3.0.0', 'tabulate>=0.8.9']
-clipboard = ['PyQt5>=5.15.1', 'qtpy>=2.2.0']
+clipboard = ['PyQt5>=5.15.1', 'qtpy>=2.3.0']
 compression = ['zstandard>=0.15.2']
 all = ['beautifulsoup4>=5.9.3',
        # blosc only available on conda (https://github.com/Blosc/python-blosc/issues/297)
@@ -98,10 +98,10 @@ all = ['beautifulsoup4>=5.9.3',
        'PyQt5>=5.15.1',
        'pyreadstat>=1.1.2',
        'pytest>=7.3.2',
-       'pytest-xdist>=2.2.0',
+       'pytest-xdist>=3.4.0',
        'python-calamine>=0.1.7',
        'pyxlsb>=1.0.8',
-       'qtpy>=2.2.0',
+       'qtpy>=2.3.0',
        'scipy>=1.7.1',
        's3fs>=2021.08.0',
        'SQLAlchemy>=1.4.16',
@@ -138,7 +138,7 @@ parentdir_prefix = "pandas-"
 [tool.cibuildwheel]
 skip = "cp36-* cp37-* pp37-* *-manylinux_i686 *_ppc64le *_s390x *-musllinux*"
 build-verbosity = "3"
-test-requires = "hypothesis>=6.34.2 pytest>=7.3.2 pytest-xdist>=2.2.0"
+test-requires = "hypothesis>=6.34.2 pytest>=7.3.2 pytest-xdist>=3.4.0"
 test-command = "python {project}/ci/test_wheels.py"
 
 [tool.cibuildwheel.macos]
diff --git a/scripts/tests/data/deps_unmodified_random.yaml b/scripts/tests/data/deps_unmodified_random.yaml
index 49299aa078..afb28dd2c0 100644
--- a/scripts/tests/data/deps_unmodified_random.yaml
+++ b/scripts/tests/data/deps_unmodified_random.yaml
@@ -12,7 +12,7 @@ dependencies:
   # test dependencies
   - pytest>=7.3.2
   - pytest-cov
-  - pytest-xdist>=2.2.0
+  - pytest-xdist>=3.4.0
   - psutil
   - boto3