From c35d5f64aa179ca843303399540e853430588d43 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 22 Jan 2025 11:23:19 -0800 Subject: [PATCH 01/10] CI: Update some CI configurations --- .github/workflows/unit-tests.yml | 34 +++++++++++++------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 842629ba331d6..ea1a9915ea1f3 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -107,7 +107,7 @@ jobs: services: mysql: - image: mysql:8 + image: mysql:9 env: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: pandas @@ -120,7 +120,7 @@ jobs: - 3306:3306 postgres: - image: postgres:16 + image: postgres:17 env: PGUSER: postgres POSTGRES_USER: postgres @@ -135,7 +135,7 @@ jobs: - 5432:5432 moto: - image: motoserver/moto:5.0.0 + image: motoserver/moto:5.0.27 env: AWS_ACCESS_KEY_ID: foobar_key AWS_SECRET_ACCESS_KEY: foobar_secret @@ -242,15 +242,14 @@ jobs: - name: Build environment and Run Tests # https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388 run: | - /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev + /opt/python/cp313-cp313/bin/python -m venv ~/virtualenvs/pandas-dev . ~/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 -Csetup-args="-Dallow-noblas=true" python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0 python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror" python -m pip list --no-cache-dir - export PANDAS_CI=1 - python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml + PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-32bit @@ -259,7 +258,7 @@ jobs: Linux-Musl: runs-on: ubuntu-22.04 container: - image: quay.io/pypa/musllinux_1_1_x86_64 + image: quay.io/pypa/musllinux_1_2_x86_64 steps: - name: Checkout pandas Repo # actions/checkout does not work since it requires node @@ -281,7 +280,7 @@ jobs: apk add musl-locales - name: Build environment run: | - /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev + /opt/python/cp313-cp313/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 pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0 @@ -291,8 +290,7 @@ jobs: - name: Run Tests run: | . ~/virtualenvs/pandas-dev/bin/activate - export PANDAS_CI=1 - python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml + PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-musl @@ -350,15 +348,14 @@ 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: | python --version 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 tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov + python -m pip install versioneer[toml] python-dateutil 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 -Csetup-args="--werror" python -m pip list @@ -375,7 +372,7 @@ jobs: concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-python-freethreading-dev + group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-python-freethreading-dev cancel-in-progress: true env: @@ -396,14 +393,11 @@ jobs: nogil: true - name: Build Environment - # TODO: Once numpy 2.2.1 is out, don't install nightly version - # Tests segfault with numpy 2.2.0: https://github.com/numpy/numpy/pull/27955 run: | python --version - 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 cython numpy - python -m pip install versioneer[toml] - 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 --upgrade pip setuptools wheel numpy 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 cython + python -m pip install versioneer[toml] 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 -Csetup-args="--werror" python -m pip list From c685af4d5871c2ce455d81f8bf212dc0e2e31aa9 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:31:15 -0800 Subject: [PATCH 02/10] Freeze Python dev --- .github/workflows/unit-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index ea1a9915ea1f3..818c0eea6aade 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -316,7 +316,8 @@ 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 # Uncomment this to freeze the workflow, comment it to unfreeze + # Uncomment below to freeze the workflow, comment it to unfreeze + if: false defaults: run: shell: bash -eou pipefail {0} From 91e27037785cce2eb47e05b3ef726dd16e14f2bf Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 22 Jan 2025 18:18:56 -0800 Subject: [PATCH 03/10] Add actions-313.yaml --- .github/workflows/unit-tests.yml | 4 +- ci/deps/actions-313.yaml | 63 ++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 ci/deps/actions-313.yaml diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 818c0eea6aade..9aebd71278cb9 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -27,7 +27,7 @@ jobs: strategy: matrix: platform: [ubuntu-22.04, ubuntu-24.04-arm] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml] # Prevent the include jobs from overriding other jobs pattern: [""] pandas_future_infer_string: ["0"] @@ -188,7 +188,7 @@ jobs: matrix: # Note: Don't use macOS latest since macos 14 appears to be arm64 only os: [macos-13, macos-14, windows-latest] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-312.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml new file mode 100644 index 0000000000000..1a69237825df2 --- /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>=0.29.33 + - meson=1.2.1 + - meson-python=0.13.1 + + # test dependencies + - pytest>=7.3.2 + - pytest-cov + - pytest-xdist>=3.4.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>=2023.10.0 + - fsspec>=2022.11.0 + - html5lib>=1.1 + - hypothesis>=6.84.0 + - 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, <=2024.9.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 From 0f888e1476da8f46cacaf6e63b4a5cfc2a1a8365 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 22 Jan 2025 18:19:45 -0800 Subject: [PATCH 04/10] Add 3.13 yaml --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 9aebd71278cb9..90857b71babf1 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -188,7 +188,7 @@ jobs: matrix: # Note: Don't use macOS latest since macos 14 appears to be arm64 only os: [macos-13, macos-14, windows-latest] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-312.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} From c04039fff983db3a94f42e7e16c79cd824672757 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:45:34 -0800 Subject: [PATCH 05/10] Move to pyside6 instead of pyqt --- 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.yaml | 2 +- ci/deps/actions-312.yaml | 2 +- ci/deps/actions-313.yaml | 2 +- ci/deps/circle-311-arm64.yaml | 2 +- environment.yml | 2 +- pandas/compat/_optional.py | 2 +- pyproject.toml | 4 ++-- requirements-dev.txt | 2 +- scripts/generate_pip_deps_from_conda.py | 2 +- scripts/tests/data/deps_minimum.toml | 4 ++-- scripts/validate_min_versions_in_sync.py | 2 +- 14 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ci/deps/actions-310-minimum_versions.yaml b/ci/deps/actions-310-minimum_versions.yaml index c7c72828db481..ece61ae35e075 100644 --- a/ci/deps/actions-310-minimum_versions.yaml +++ b/ci/deps/actions-310-minimum_versions.yaml @@ -44,7 +44,7 @@ dependencies: - psycopg2=2.9.6 - pyarrow=10.0.1 - pymysql=1.0.2 - - pyqt=5.15.9 + - pyside6=6.8.1 - pyreadstat=1.2.0 - pytables=3.8.0 - python-calamine=0.1.7 diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml index 74cab4e0970dc..f7fd2ece4ce66 100644 --- a/ci/deps/actions-310.yaml +++ b/ci/deps/actions-310.yaml @@ -42,7 +42,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/ci/deps/actions-311-downstream_compat.yaml b/ci/deps/actions-311-downstream_compat.yaml index 092ca18d61259..52f68475bc744 100644 --- a/ci/deps/actions-311-downstream_compat.yaml +++ b/ci/deps/actions-311-downstream_compat.yaml @@ -43,7 +43,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml index b6f515dceaea9..1b253ac8f570b 100644 --- a/ci/deps/actions-311.yaml +++ b/ci/deps/actions-311.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/actions-312.yaml b/ci/deps/actions-312.yaml index bc66f8a5382c9..80790b88efa6c 100644 --- a/ci/deps/actions-312.yaml +++ b/ci/deps/actions-312.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml index 1a69237825df2..60cf6240e435a 100644 --- a/ci/deps/actions-313.yaml +++ b/ci/deps/actions-313.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/circle-311-arm64.yaml b/ci/deps/circle-311-arm64.yaml index 3f09e27d0fe4b..bf4c87f5d3da8 100644 --- a/ci/deps/circle-311-arm64.yaml +++ b/ci/deps/circle-311-arm64.yaml @@ -42,7 +42,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyqt>=5.15.9 + - pyside6>=6.8.1 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/environment.yml b/environment.yml index 69647a436e3ad..880b3e1f27736 100644 --- a/environment.yml +++ b/environment.yml @@ -18,7 +18,7 @@ dependencies: - pytest-xdist>=3.4.0 - pytest-qt>=4.4.0 - pytest-localserver - - pyqt>=5.15.9 + - pyside6>=6.8.1 - coverage # required dependencies diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 6b90389a62056..2b2a25c2cde68 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -56,7 +56,7 @@ "zstandard": "0.19.0", "tzdata": "2022.7", "qtpy": "2.3.0", - "pyqt5": "5.15.9", + "pyside6": "6.8.1", } # A mapping from import name to package name (on PyPI) for packages where diff --git a/pyproject.toml b/pyproject.toml index 7ab9cd2c17669..8556d3b26c099 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ html = ['beautifulsoup4>=4.11.2', 'html5lib>=1.1', 'lxml>=4.9.2'] xml = ['lxml>=4.9.2'] plot = ['matplotlib>=3.6.3'] output-formatting = ['jinja2>=3.1.2', 'tabulate>=0.9.0'] -clipboard = ['PyQt5>=5.15.9', 'qtpy>=2.3.0'] +clipboard = ['PySide6>=6.8.1', 'qtpy>=2.3.0'] compression = ['zstandard>=0.19.0'] timezone = ['pytz>=2023.4'] all = ['adbc-driver-postgresql>=0.10.0', @@ -103,7 +103,7 @@ all = ['adbc-driver-postgresql>=0.10.0', 'psycopg2>=2.9.6', 'pyarrow>=10.0.1', 'pymysql>=1.0.2', - 'PyQt5>=5.15.9', + 'PySide6>=6.8.1', 'pyreadstat>=1.2.0', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0', diff --git a/requirements-dev.txt b/requirements-dev.txt index fb4d9cdb589ca..550c3daaf6e7e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -11,7 +11,7 @@ pytest-cov pytest-xdist>=3.4.0 pytest-qt>=4.4.0 pytest-localserver -PyQt5>=5.15.9 +PySide6>=6.8.1 coverage python-dateutil numpy<2 diff --git a/scripts/generate_pip_deps_from_conda.py b/scripts/generate_pip_deps_from_conda.py index a57876902ad36..949c1f5aa2d2e 100755 --- a/scripts/generate_pip_deps_from_conda.py +++ b/scripts/generate_pip_deps_from_conda.py @@ -33,7 +33,7 @@ "dask-core": "dask", "seaborn-base": "seaborn", "sqlalchemy": "SQLAlchemy", - "pyqt": "PyQt5", + "pyside6": "PySide6", } diff --git a/scripts/tests/data/deps_minimum.toml b/scripts/tests/data/deps_minimum.toml index 0a53225a5d995..b7090bfbdb297 100644 --- a/scripts/tests/data/deps_minimum.toml +++ b/scripts/tests/data/deps_minimum.toml @@ -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.3.0'] +clipboard = ['PySide6>=6.8.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) @@ -95,7 +95,7 @@ all = ['beautifulsoup4>=5.9.3', 'psycopg2>=2.8.6', 'pyarrow>=7.0.0', 'pymysql>=1.0.2', - 'PyQt5>=5.15.1', + 'PySide6>=6.8.1', 'pyreadstat>=1.1.2', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0', diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 1001b00450354..fc6ec9e1b22e1 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -36,7 +36,7 @@ SETUP_PATH = pathlib.Path("pyproject.toml").resolve() YAML_PATH = pathlib.Path("ci/deps") ENV_PATH = pathlib.Path("environment.yml") -EXCLUDE_DEPS = {"tzdata", "blosc", "pyqt", "pyqt5"} +EXCLUDE_DEPS = {"tzdata", "blosc"} EXCLUSION_LIST = frozenset(["python=3.8[build=*_pypy]"]) # pandas package is not available # in pre-commit environment From 47630996d7b83210051b6a301169abce7ef42937 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:57:43 -0800 Subject: [PATCH 06/10] Revert "Move to pyside6 instead of pyqt" This reverts commit c04039fff983db3a94f42e7e16c79cd824672757. --- 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.yaml | 2 +- ci/deps/actions-312.yaml | 2 +- ci/deps/actions-313.yaml | 2 +- ci/deps/circle-311-arm64.yaml | 2 +- environment.yml | 2 +- pandas/compat/_optional.py | 2 +- pyproject.toml | 4 ++-- requirements-dev.txt | 2 +- scripts/generate_pip_deps_from_conda.py | 2 +- scripts/tests/data/deps_minimum.toml | 4 ++-- scripts/validate_min_versions_in_sync.py | 2 +- 14 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ci/deps/actions-310-minimum_versions.yaml b/ci/deps/actions-310-minimum_versions.yaml index ece61ae35e075..c7c72828db481 100644 --- a/ci/deps/actions-310-minimum_versions.yaml +++ b/ci/deps/actions-310-minimum_versions.yaml @@ -44,7 +44,7 @@ dependencies: - psycopg2=2.9.6 - pyarrow=10.0.1 - pymysql=1.0.2 - - pyside6=6.8.1 + - pyqt=5.15.9 - pyreadstat=1.2.0 - pytables=3.8.0 - python-calamine=0.1.7 diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml index f7fd2ece4ce66..74cab4e0970dc 100644 --- a/ci/deps/actions-310.yaml +++ b/ci/deps/actions-310.yaml @@ -42,7 +42,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/ci/deps/actions-311-downstream_compat.yaml b/ci/deps/actions-311-downstream_compat.yaml index 52f68475bc744..092ca18d61259 100644 --- a/ci/deps/actions-311-downstream_compat.yaml +++ b/ci/deps/actions-311-downstream_compat.yaml @@ -43,7 +43,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml index 1b253ac8f570b..b6f515dceaea9 100644 --- a/ci/deps/actions-311.yaml +++ b/ci/deps/actions-311.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/actions-312.yaml b/ci/deps/actions-312.yaml index 80790b88efa6c..bc66f8a5382c9 100644 --- a/ci/deps/actions-312.yaml +++ b/ci/deps/actions-312.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml index 60cf6240e435a..1a69237825df2 100644 --- a/ci/deps/actions-313.yaml +++ b/ci/deps/actions-313.yaml @@ -38,7 +38,7 @@ dependencies: - numexpr>=2.8.4 - odfpy>=1.4.1 - qtpy>=2.3.0 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - openpyxl>=3.1.0 - psycopg2>=2.9.6 - pyarrow>=10.0.1 diff --git a/ci/deps/circle-311-arm64.yaml b/ci/deps/circle-311-arm64.yaml index bf4c87f5d3da8..3f09e27d0fe4b 100644 --- a/ci/deps/circle-311-arm64.yaml +++ b/ci/deps/circle-311-arm64.yaml @@ -42,7 +42,7 @@ dependencies: - psycopg2>=2.9.6 - pyarrow>=10.0.1 - pymysql>=1.0.2 - - pyside6>=6.8.1 + - pyqt>=5.15.9 - pyreadstat>=1.2.0 - pytables>=3.8.0 - python-calamine>=0.1.7 diff --git a/environment.yml b/environment.yml index 880b3e1f27736..69647a436e3ad 100644 --- a/environment.yml +++ b/environment.yml @@ -18,7 +18,7 @@ dependencies: - pytest-xdist>=3.4.0 - pytest-qt>=4.4.0 - pytest-localserver - - pyside6>=6.8.1 + - pyqt>=5.15.9 - coverage # required dependencies diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 2b2a25c2cde68..6b90389a62056 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -56,7 +56,7 @@ "zstandard": "0.19.0", "tzdata": "2022.7", "qtpy": "2.3.0", - "pyside6": "6.8.1", + "pyqt5": "5.15.9", } # A mapping from import name to package name (on PyPI) for packages where diff --git a/pyproject.toml b/pyproject.toml index 8556d3b26c099..7ab9cd2c17669 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ html = ['beautifulsoup4>=4.11.2', 'html5lib>=1.1', 'lxml>=4.9.2'] xml = ['lxml>=4.9.2'] plot = ['matplotlib>=3.6.3'] output-formatting = ['jinja2>=3.1.2', 'tabulate>=0.9.0'] -clipboard = ['PySide6>=6.8.1', 'qtpy>=2.3.0'] +clipboard = ['PyQt5>=5.15.9', 'qtpy>=2.3.0'] compression = ['zstandard>=0.19.0'] timezone = ['pytz>=2023.4'] all = ['adbc-driver-postgresql>=0.10.0', @@ -103,7 +103,7 @@ all = ['adbc-driver-postgresql>=0.10.0', 'psycopg2>=2.9.6', 'pyarrow>=10.0.1', 'pymysql>=1.0.2', - 'PySide6>=6.8.1', + 'PyQt5>=5.15.9', 'pyreadstat>=1.2.0', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0', diff --git a/requirements-dev.txt b/requirements-dev.txt index 550c3daaf6e7e..fb4d9cdb589ca 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -11,7 +11,7 @@ pytest-cov pytest-xdist>=3.4.0 pytest-qt>=4.4.0 pytest-localserver -PySide6>=6.8.1 +PyQt5>=5.15.9 coverage python-dateutil numpy<2 diff --git a/scripts/generate_pip_deps_from_conda.py b/scripts/generate_pip_deps_from_conda.py index 949c1f5aa2d2e..a57876902ad36 100755 --- a/scripts/generate_pip_deps_from_conda.py +++ b/scripts/generate_pip_deps_from_conda.py @@ -33,7 +33,7 @@ "dask-core": "dask", "seaborn-base": "seaborn", "sqlalchemy": "SQLAlchemy", - "pyside6": "PySide6", + "pyqt": "PyQt5", } diff --git a/scripts/tests/data/deps_minimum.toml b/scripts/tests/data/deps_minimum.toml index b7090bfbdb297..0a53225a5d995 100644 --- a/scripts/tests/data/deps_minimum.toml +++ b/scripts/tests/data/deps_minimum.toml @@ -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 = ['PySide6>=6.8.1', 'qtpy>=2.3.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) @@ -95,7 +95,7 @@ all = ['beautifulsoup4>=5.9.3', 'psycopg2>=2.8.6', 'pyarrow>=7.0.0', 'pymysql>=1.0.2', - 'PySide6>=6.8.1', + 'PyQt5>=5.15.1', 'pyreadstat>=1.1.2', 'pytest>=7.3.2', 'pytest-xdist>=3.4.0', diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index fc6ec9e1b22e1..1001b00450354 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -36,7 +36,7 @@ SETUP_PATH = pathlib.Path("pyproject.toml").resolve() YAML_PATH = pathlib.Path("ci/deps") ENV_PATH = pathlib.Path("environment.yml") -EXCLUDE_DEPS = {"tzdata", "blosc"} +EXCLUDE_DEPS = {"tzdata", "blosc", "pyqt", "pyqt5"} EXCLUSION_LIST = frozenset(["python=3.8[build=*_pypy]"]) # pandas package is not available # in pre-commit environment From 6a3d0fcf5d21846424d07219b1a3cc1932a2d949 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:58:24 -0800 Subject: [PATCH 07/10] Revert "Add 3.13 yaml" This reverts commit 0f888e1476da8f46cacaf6e63b4a5cfc2a1a8365. --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 90857b71babf1..9aebd71278cb9 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -188,7 +188,7 @@ jobs: matrix: # Note: Don't use macOS latest since macos 14 appears to be arm64 only os: [macos-13, macos-14, windows-latest] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-312.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} From 9ab8f4a841dc584de2402a8f6b30b35ccd8df4b5 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:58:25 -0800 Subject: [PATCH 08/10] Revert "Add actions-313.yaml" This reverts commit 91e27037785cce2eb47e05b3ef726dd16e14f2bf. --- .github/workflows/unit-tests.yml | 4 +- ci/deps/actions-313.yaml | 63 -------------------------------- 2 files changed, 2 insertions(+), 65 deletions(-) delete mode 100644 ci/deps/actions-313.yaml diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 9aebd71278cb9..818c0eea6aade 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -27,7 +27,7 @@ jobs: strategy: matrix: platform: [ubuntu-22.04, ubuntu-24.04-arm] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml] # Prevent the include jobs from overriding other jobs pattern: [""] pandas_future_infer_string: ["0"] @@ -188,7 +188,7 @@ jobs: matrix: # Note: Don't use macOS latest since macos 14 appears to be arm64 only os: [macos-13, macos-14, windows-latest] - env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-312.yaml] + env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} diff --git a/ci/deps/actions-313.yaml b/ci/deps/actions-313.yaml deleted file mode 100644 index 1a69237825df2..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>=0.29.33 - - meson=1.2.1 - - meson-python=0.13.1 - - # test dependencies - - pytest>=7.3.2 - - pytest-cov - - pytest-xdist>=3.4.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>=2023.10.0 - - fsspec>=2022.11.0 - - html5lib>=1.1 - - hypothesis>=6.84.0 - - 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, <=2024.9.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 From 505b36690b6047fd734ff50ee90eba313bff5c1f Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:59:05 -0800 Subject: [PATCH 09/10] Revert "Freeze Python dev" This reverts commit c685af4d5871c2ce455d81f8bf212dc0e2e31aa9. --- .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 818c0eea6aade..ea1a9915ea1f3 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -316,8 +316,7 @@ 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. - # Uncomment below to freeze the workflow, comment it to unfreeze - if: false + # if: false # Uncomment this to freeze the workflow, comment it to unfreeze defaults: run: shell: bash -eou pipefail {0} From 4ae14d1c6155699ab4b2efadf424677d5f59d47e Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:59:59 -0800 Subject: [PATCH 10/10] Move back to python 3.13 dev --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index ea1a9915ea1f3..08c41a1eeb21f 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -348,7 +348,7 @@ jobs: - name: Set up Python Dev Version uses: actions/setup-python@v5 with: - python-version: '3.14-dev' + python-version: '3.13-dev' - name: Build Environment run: |