From 85c6e3badf40ccbd9eb7c811bcb8634fca996e43 Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Fri, 25 Jul 2025 09:36:54 -0600 Subject: [PATCH 1/3] TST: run python-dev CI on 3.14-dev --- .github/workflows/unit-tests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 412f27cba9c4f..207cf2e03d81d 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -313,7 +313,6 @@ jobs: # To freeze this file, uncomment out the ``if: false`` condition, and migrate the jobs # to the corresponding posix/windows-macos/sdist etc. workflows. # Feel free to modify this comment as necessary. - if: false defaults: run: shell: bash -eou pipefail {0} @@ -345,7 +344,7 @@ jobs: - name: Set up Python Dev Version uses: actions/setup-python@v5 with: - python-version: '3.13-dev' + python-version: '3.14-dev' - name: Build Environment run: | From 534e1a94c8528785a7d580d3a9d6297da909b29e Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Fri, 25 Jul 2025 09:41:44 -0600 Subject: [PATCH 2/3] disable other unit tests --- .github/workflows/unit-tests.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 207cf2e03d81d..94aefbca5d3ac 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -22,6 +22,7 @@ defaults: jobs: ubuntu: + if: false runs-on: ${{ matrix.platform }} timeout-minutes: 90 strategy: @@ -178,6 +179,7 @@ jobs: if: ${{ matrix.pattern == '' && (always() && steps.build.outcome == 'success')}} macos-windows: + if: false timeout-minutes: 90 strategy: matrix: @@ -215,6 +217,7 @@ jobs: uses: ./.github/actions/run-tests Linux-32-bit: + if: false runs-on: ubuntu-24.04 container: image: quay.io/pypa/manylinux2014_i686 @@ -253,6 +256,7 @@ jobs: cancel-in-progress: true Linux-Musl: + if: false runs-on: ubuntu-24.04 container: image: quay.io/pypa/musllinux_1_2_x86_64 @@ -360,6 +364,7 @@ jobs: # NOTE: this job must be kept in sync with the Pyodide build job in wheels.yml emscripten: + if: false # Note: the Python version, Emscripten toolchain version are determined # by the Pyodide version. The appropriate versions can be found in the # Pyodide repodata.json "info" field, or in the Makefile.envs file: From 814ee7b64a73264186a55609bd50eb53f335d025 Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Fri, 25 Jul 2025 13:16:40 -0600 Subject: [PATCH 3/3] MAINT: disable the warning on 3.14 and newer --- pandas/core/frame.py | 4 ++-- pandas/core/generic.py | 16 ++++++++-------- pandas/core/indexing.py | 2 +- pandas/core/series.py | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 48a5596e00061..a52fbe2e73ba5 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -4213,7 +4213,7 @@ def isetitem(self, loc, value) -> None: self._iset_item_mgr(loc, arraylike, inplace=False, refs=refs) def __setitem__(self, key, value) -> None: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 @@ -9113,7 +9113,7 @@ def update( 1 2 500.0 2 3 6.0 """ - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 7b70ac3588f2a..6d9963e8fe16e 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -7046,7 +7046,7 @@ def fillna( """ inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -7277,7 +7277,7 @@ def ffill( """ inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -7417,7 +7417,7 @@ def bfill( """ inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -7502,7 +7502,7 @@ def replace( inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -7865,7 +7865,7 @@ def interpolate( inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -8449,7 +8449,7 @@ def clip( inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -10032,7 +10032,7 @@ def where( """ inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, @@ -10096,7 +10096,7 @@ def mask( ) -> Self | None: inplace = validate_bool_kwarg(inplace, "inplace") if inplace: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg, diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index f1f453cf433cf..b400fede00437 100644 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -897,7 +897,7 @@ def _ensure_listlike_indexer(self, key, axis=None, value=None) -> None: @final def __setitem__(self, key, value) -> None: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self.obj) <= 2: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 diff --git a/pandas/core/series.py b/pandas/core/series.py index ce5b2e5ed8de5..63f0a2df6ea6d 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1057,7 +1057,7 @@ def _get_value(self, label, takeable: bool = False): return self.iloc[loc] def __setitem__(self, key, value) -> None: - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 @@ -3336,7 +3336,7 @@ def update(self, other: Series | Sequence | Mapping) -> None: 2 3 dtype: int64 """ - if not PYPY: + if not PYPY and sys.version_info < (3, 14): if sys.getrefcount(self) <= REF_COUNT: warnings.warn( _chained_assignment_method_msg,