diff --git a/.github/actions/setup-conda/action.yml b/.github/actions/setup-conda/action.yml index 7d1e54052f938..002d0020c2df1 100644 --- a/.github/actions/setup-conda/action.yml +++ b/.github/actions/setup-conda/action.yml @@ -18,7 +18,7 @@ runs: - name: Set Arrow version in ${{ inputs.environment-file }} to ${{ inputs.pyarrow-version }} run: | grep -q ' - pyarrow' ${{ inputs.environment-file }} - sed -i"" -e "s/ - pyarrow<10/ - pyarrow=${{ inputs.pyarrow-version }}/" ${{ inputs.environment-file }} + sed -i"" -e "s/ - pyarrow/ - pyarrow=${{ inputs.pyarrow-version }}/" ${{ inputs.environment-file }} cat ${{ inputs.environment-file }} shell: bash if: ${{ inputs.pyarrow-version }} diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 7b4d9235f7ee1..09447b1c8616b 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -29,7 +29,7 @@ jobs: matrix: env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml] pattern: ["not single_cpu", "single_cpu"] - pyarrow_version: ["7", "8", "9"] + pyarrow_version: ["7", "8", "9", "10"] include: - name: "Downstream Compat" env_file: actions-38-downstream_compat.yaml diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml index 610531b80b767..d787571d9d112 100644 --- a/ci/deps/actions-310.yaml +++ b/ci/deps/actions-310.yaml @@ -42,7 +42,7 @@ dependencies: - psycopg2 - pymysql - pytables - - pyarrow<10 + - pyarrow - pyreadstat - python-snappy - pyxlsb diff --git a/ci/deps/actions-38-downstream_compat.yaml b/ci/deps/actions-38-downstream_compat.yaml index 06eec411cd710..95ec98d72ebcc 100644 --- a/ci/deps/actions-38-downstream_compat.yaml +++ b/ci/deps/actions-38-downstream_compat.yaml @@ -40,7 +40,7 @@ dependencies: - openpyxl - odfpy - psycopg2 - - pyarrow<10 + - pyarrow - pymysql - pyreadstat - pytables diff --git a/ci/deps/actions-38.yaml b/ci/deps/actions-38.yaml index a89955cec830c..f7de8bbee7d8a 100644 --- a/ci/deps/actions-38.yaml +++ b/ci/deps/actions-38.yaml @@ -40,7 +40,7 @@ dependencies: - odfpy - pandas-gbq - psycopg2 - - pyarrow<10 + - pyarrow - pymysql - pyreadstat - pytables diff --git a/ci/deps/actions-39.yaml b/ci/deps/actions-39.yaml index 5cc891a3b4e1a..821ec9c5d4234 100644 --- a/ci/deps/actions-39.yaml +++ b/ci/deps/actions-39.yaml @@ -41,7 +41,7 @@ dependencies: - pandas-gbq - psycopg2 - pymysql - - pyarrow<10 + - pyarrow - pyreadstat - pytables - python-snappy diff --git a/ci/deps/circle-38-arm64.yaml b/ci/deps/circle-38-arm64.yaml index 0e92f6ad46c39..c94ce79ea2ff8 100644 --- a/ci/deps/circle-38-arm64.yaml +++ b/ci/deps/circle-38-arm64.yaml @@ -40,7 +40,7 @@ dependencies: - odfpy - pandas-gbq - psycopg2 - - pyarrow<10 + - pyarrow - pymysql # Not provided on ARM #- pyreadstat diff --git a/environment.yml b/environment.yml index 1448ac148015e..b6b8f7d6af1ba 100644 --- a/environment.yml +++ b/environment.yml @@ -43,7 +43,7 @@ dependencies: - odfpy - py - psycopg2 - - pyarrow<10 + - pyarrow - pymysql - pyreadstat - pytables diff --git a/pandas/compat/pyarrow.py b/pandas/compat/pyarrow.py index 2c132b627b965..280fdabf2cc05 100644 --- a/pandas/compat/pyarrow.py +++ b/pandas/compat/pyarrow.py @@ -13,8 +13,10 @@ pa_version_under7p0 = _palv < Version("7.0.0") pa_version_under8p0 = _palv < Version("8.0.0") pa_version_under9p0 = _palv < Version("9.0.0") + pa_version_under10p0 = _palv < Version("10.0.0") except ImportError: pa_version_under6p0 = True pa_version_under7p0 = True pa_version_under8p0 = True pa_version_under9p0 = True + pa_version_under10p0 = True diff --git a/pandas/tests/arrays/interval/test_interval.py b/pandas/tests/arrays/interval/test_interval.py index 28b5f441d3cd5..b0601b9770d64 100644 --- a/pandas/tests/arrays/interval/test_interval.py +++ b/pandas/tests/arrays/interval/test_interval.py @@ -287,7 +287,7 @@ def test_arrow_array(): with pytest.raises(TypeError, match="Not supported to convert IntervalArray"): pa.array(intervals, type="float64") - with pytest.raises(TypeError, match="different 'subtype'"): + with pytest.raises(TypeError, match="different 'subtype'|to convert IntervalArray"): pa.array(intervals, type=ArrowIntervalType(pa.float64(), "left")) diff --git a/pandas/tests/arrays/period/test_arrow_compat.py b/pandas/tests/arrays/period/test_arrow_compat.py index 61670f74f78fb..d76b04df4c9d7 100644 --- a/pandas/tests/arrays/period/test_arrow_compat.py +++ b/pandas/tests/arrays/period/test_arrow_compat.py @@ -1,5 +1,7 @@ import pytest +from pandas.compat.pyarrow import pa_version_under10p0 + from pandas.core.dtypes.dtypes import PeriodDtype import pandas as pd @@ -26,6 +28,7 @@ def test_arrow_extension_type(): assert hash(p1) != hash(p3) +@pytest.mark.xfail(not pa_version_under10p0, reason="Wrong behavior with pyarrow 10") @pytest.mark.parametrize( "data, freq", [ diff --git a/requirements-dev.txt b/requirements-dev.txt index 38c09f3ffc284..4f2a80d932fd0 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -32,7 +32,7 @@ openpyxl odfpy py psycopg2-binary -pyarrow<10 +pyarrow pymysql pyreadstat tables