From 293550e82a73a47f1d1978c6df06e13e2fccdf8c Mon Sep 17 00:00:00 2001 From: Richard Shadrach <45562402+rhshadrach@users.noreply.github.com> Date: Wed, 4 Jun 2025 14:16:55 -0400 Subject: [PATCH 1/2] Backport PR #61519: BUILD: Bump Cython to 3.1 --- asv_bench/asv.conf.json | 3 +- ci/deps/actions-310-minimum_versions.yaml | 2 +- ci/deps/actions-310.yaml | 2 +- ci/deps/actions-311-downstream_compat.yaml | 2 +- ci/deps/actions-311-numpydev.yaml | 2 +- ci/deps/actions-311-pyarrownightly.yaml | 2 +- ci/deps/actions-311.yaml | 2 +- ci/deps/actions-312.yaml | 2 +- ci/deps/actions-313-freethreading.yaml | 29 ++++++++++ ci/deps/actions-313.yaml | 63 ++++++++++++++++++++++ ci/deps/actions-pypy-39.yaml | 2 +- environment.yml | 2 +- pyproject.toml | 4 +- requirements-dev.txt | 2 +- 14 files changed, 106 insertions(+), 13 deletions(-) create mode 100644 ci/deps/actions-313-freethreading.yaml create mode 100644 ci/deps/actions-313.yaml diff --git a/asv_bench/asv.conf.json b/asv_bench/asv.conf.json index 9b0dc14fe6747..d286e57ce6b51 100644 --- a/asv_bench/asv.conf.json +++ b/asv_bench/asv.conf.json @@ -41,7 +41,8 @@ // pip (with all the conda available packages installed first, // followed by the pip installed packages). "matrix": { - "Cython": ["3.0.5"], + "pip+build": [], + "Cython": [], "matplotlib": [], "sqlalchemy": [], "scipy": [], diff --git a/ci/deps/actions-310-minimum_versions.yaml b/ci/deps/actions-310-minimum_versions.yaml index cac0814acfbd5..ddbe4dc92e2ce 100644 --- a/ci/deps/actions-310-minimum_versions.yaml +++ b/ci/deps/actions-310-minimum_versions.yaml @@ -8,7 +8,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml index 0572091d88cd9..2a9b34f2b3cca 100644 --- a/ci/deps/actions-310.yaml +++ b/ci/deps/actions-310.yaml @@ -6,7 +6,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/ci/deps/actions-311-downstream_compat.yaml b/ci/deps/actions-311-downstream_compat.yaml index f7e9ad045ed04..75adef730cc06 100644 --- a/ci/deps/actions-311-downstream_compat.yaml +++ b/ci/deps/actions-311-downstream_compat.yaml @@ -7,7 +7,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/ci/deps/actions-311-numpydev.yaml b/ci/deps/actions-311-numpydev.yaml index d714e99c765e7..b6c057523bc23 100644 --- a/ci/deps/actions-311-numpydev.yaml +++ b/ci/deps/actions-311-numpydev.yaml @@ -8,7 +8,7 @@ dependencies: - versioneer - meson=1.2.1 - meson-python=0.13.1 - - cython>=0.29.33 + - cython<4.0.0a0 # test dependencies - pytest>=7.3.2 diff --git a/ci/deps/actions-311-pyarrownightly.yaml b/ci/deps/actions-311-pyarrownightly.yaml index 40b936472d409..9882253d2b783 100644 --- a/ci/deps/actions-311-pyarrownightly.yaml +++ b/ci/deps/actions-311-pyarrownightly.yaml @@ -7,7 +7,7 @@ dependencies: # build dependencies - versioneer - meson=1.2.1 - - cython>=0.29.33 + - cython<4.0.0a0 - meson-python=0.13.1 # test dependencies diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml index db89be7780bf0..9aff327c75a2a 100644 --- a/ci/deps/actions-311.yaml +++ b/ci/deps/actions-311.yaml @@ -6,7 +6,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/ci/deps/actions-312.yaml b/ci/deps/actions-312.yaml index 4d690501571a7..ed18d32aa2314 100644 --- a/ci/deps/actions-312.yaml +++ b/ci/deps/actions-312.yaml @@ -6,7 +6,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/ci/deps/actions-313-freethreading.yaml b/ci/deps/actions-313-freethreading.yaml new file mode 100644 index 0000000000000..771fdedc9840c --- /dev/null +++ b/ci/deps/actions-313-freethreading.yaml @@ -0,0 +1,29 @@ +name: pandas-dev-313-freethreading +channels: + - conda-forge +dependencies: + - python-freethreading + + # build dependencies + - setuptools + - versioneer + - cython<4.0.0a0 + - meson=1.8.0 + - meson-python=0.18.0 + + # test dependencies + - pytest>=7.3.2 + - pytest-xdist>=2.2.0 + + # required dependencies + - python-dateutil + - numpy + + # optional dependencies + - hypothesis>=6.46.1 + + - pip: + # No free-threaded coveragepy (with the C-extension) on conda-forge yet + - pytest-cov + - "tzdata>=2022.7" + - "--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml new file mode 100644 index 0000000000000..1fc0cba6ac40c --- /dev/null +++ b/ci/deps/actions-313.yaml @@ -0,0 +1,63 @@ +name: pandas-dev-313 +channels: + - conda-forge +dependencies: + - python=3.13 + + # build dependencies + - versioneer + - cython<4.0.0a0 + - meson=1.2.1 + - meson-python=0.13.1 + + # test dependencies + - pytest>=7.3.2 + - pytest-cov + - pytest-xdist>=2.2.0 + - pytest-localserver>=0.8.1 + - pytest-qt>=4.4.0 + - boto3 + + # required dependencies + - python-dateutil + - numpy + + # optional dependencies + - beautifulsoup4>=4.11.2 + - blosc>=1.21.3 + - bottleneck>=1.3.6 + - fastparquet>=2022.12.0 + - fsspec>=2022.11.0 + - html5lib>=1.1 + - hypothesis>=6.46.1 + - gcsfs>=2022.11.0 + - jinja2>=3.1.2 + - lxml>=4.9.2 + - matplotlib>=3.6.3 + - numba>=0.56.4 + - numexpr>=2.8.4 + - odfpy>=1.4.1 + - qtpy>=2.3.0 + - pyqt>=5.15.9 + - openpyxl>=3.1.0 + - psycopg2>=2.9.6 + - pyarrow>=10.0.1 + - pymysql>=1.0.2 + - pyreadstat>=1.2.0 + - pytables>=3.8.0 + - python-calamine>=0.1.7 + - pytz>=2023.4 + - pyxlsb>=1.0.10 + - s3fs>=2022.11.0 + - scipy>=1.10.0 + - sqlalchemy>=2.0.0 + - tabulate>=0.9.0 + - xarray>=2022.12.0 + - xlrd>=2.0.1 + - xlsxwriter>=3.0.5 + - zstandard>=0.19.0 + + - pip: + - adbc-driver-postgresql>=0.10.0 + - adbc-driver-sqlite>=0.8.0 + - tzdata>=2022.7 diff --git a/ci/deps/actions-pypy-39.yaml b/ci/deps/actions-pypy-39.yaml index ba518312df24c..412933daacde4 100644 --- a/ci/deps/actions-pypy-39.yaml +++ b/ci/deps/actions-pypy-39.yaml @@ -9,7 +9,7 @@ dependencies: # build dependencies - versioneer - - cython>=0.29.33 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/environment.yml b/environment.yml index d5d6c329dae8a..2d7740edf453f 100644 --- a/environment.yml +++ b/environment.yml @@ -8,7 +8,7 @@ dependencies: # build dependencies - versioneer - - cython=3.0.5 + - cython<4.0.0a0 - meson=1.2.1 - meson-python=0.13.1 diff --git a/pyproject.toml b/pyproject.toml index 9f2c7c0c56295..80f02b64cd329 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,8 +5,8 @@ requires = [ "meson-python>=0.13.1", "meson>=1.2.1,<2", "wheel", - "Cython~=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json - # Force numpy higher than 2.0, so that built wheels are compatible + "Cython<4.0.0a0", # Note: sync with setup.py, environment.yml and asv.conf.json + # Force numpy higher than 2.0rc1, so that built wheels are compatible # with both numpy 1 and 2 "numpy>=2.0", "versioneer[toml]" diff --git a/requirements-dev.txt b/requirements-dev.txt index 712b5e01257ff..57690b38cf6ee 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -3,7 +3,7 @@ pip versioneer[toml] -cython==3.0.5 +cython<4.0.0a0 meson[ninja]==1.2.1 meson-python==0.13.1 pytest>=7.3.2 From 1abaec5f011034171abe05491096e86679e9bfe2 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 4 Jun 2025 11:27:56 -0700 Subject: [PATCH 2/2] Remove files that don't exist on 2.3.x --- ci/deps/actions-313-freethreading.yaml | 29 ------------ ci/deps/actions-313.yaml | 63 -------------------------- 2 files changed, 92 deletions(-) delete mode 100644 ci/deps/actions-313-freethreading.yaml delete mode 100644 ci/deps/actions-313.yaml diff --git a/ci/deps/actions-313-freethreading.yaml b/ci/deps/actions-313-freethreading.yaml deleted file mode 100644 index 771fdedc9840c..0000000000000 --- a/ci/deps/actions-313-freethreading.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: pandas-dev-313-freethreading -channels: - - conda-forge -dependencies: - - python-freethreading - - # build dependencies - - setuptools - - versioneer - - cython<4.0.0a0 - - meson=1.8.0 - - meson-python=0.18.0 - - # test dependencies - - pytest>=7.3.2 - - pytest-xdist>=2.2.0 - - # required dependencies - - python-dateutil - - numpy - - # optional dependencies - - hypothesis>=6.46.1 - - - pip: - # No free-threaded coveragepy (with the C-extension) on conda-forge yet - - pytest-cov - - "tzdata>=2022.7" - - "--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml deleted file mode 100644 index 1fc0cba6ac40c..0000000000000 --- a/ci/deps/actions-313.yaml +++ /dev/null @@ -1,63 +0,0 @@ -name: pandas-dev-313 -channels: - - conda-forge -dependencies: - - python=3.13 - - # build dependencies - - versioneer - - cython<4.0.0a0 - - meson=1.2.1 - - meson-python=0.13.1 - - # test dependencies - - pytest>=7.3.2 - - pytest-cov - - pytest-xdist>=2.2.0 - - pytest-localserver>=0.8.1 - - pytest-qt>=4.4.0 - - boto3 - - # required dependencies - - python-dateutil - - numpy - - # optional dependencies - - beautifulsoup4>=4.11.2 - - blosc>=1.21.3 - - bottleneck>=1.3.6 - - fastparquet>=2022.12.0 - - fsspec>=2022.11.0 - - html5lib>=1.1 - - hypothesis>=6.46.1 - - gcsfs>=2022.11.0 - - jinja2>=3.1.2 - - lxml>=4.9.2 - - matplotlib>=3.6.3 - - numba>=0.56.4 - - numexpr>=2.8.4 - - odfpy>=1.4.1 - - qtpy>=2.3.0 - - pyqt>=5.15.9 - - openpyxl>=3.1.0 - - psycopg2>=2.9.6 - - pyarrow>=10.0.1 - - pymysql>=1.0.2 - - pyreadstat>=1.2.0 - - pytables>=3.8.0 - - python-calamine>=0.1.7 - - pytz>=2023.4 - - pyxlsb>=1.0.10 - - s3fs>=2022.11.0 - - scipy>=1.10.0 - - sqlalchemy>=2.0.0 - - tabulate>=0.9.0 - - xarray>=2022.12.0 - - xlrd>=2.0.1 - - xlsxwriter>=3.0.5 - - zstandard>=0.19.0 - - - pip: - - adbc-driver-postgresql>=0.10.0 - - adbc-driver-sqlite>=0.8.0 - - tzdata>=2022.7