diff --git a/.github/workflows/macos-windows.yml b/.github/workflows/macos-windows.yml index d762e20db196a..ac5fd4aa7d4a4 100644 --- a/.github/workflows/macos-windows.yml +++ b/.github/workflows/macos-windows.yml @@ -31,7 +31,7 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest] - env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml] + env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml, actions-311.yaml] fail-fast: false runs-on: ${{ matrix.os }} name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }} diff --git a/.github/workflows/python-dev.yml b/.github/workflows/python-dev.yml index 2ece92dc50b87..4e0a1f98d1c59 100644 --- a/.github/workflows/python-dev.yml +++ b/.github/workflows/python-dev.yml @@ -23,12 +23,14 @@ name: Python Dev on: push: branches: - - main - - 1.5.x +# - main +# - 1.5.x + - None pull_request: branches: - - main - - 1.5.x +# - main +# - 1.5.x + - None paths-ignore: - "doc/**" diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 9c93725ea15ec..f7bd5980439e3 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -27,7 +27,7 @@ jobs: timeout-minutes: 180 strategy: matrix: - env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml] + env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml, actions-311.yaml] pattern: ["not single_cpu", "single_cpu"] pyarrow_version: ["7", "8", "9", "10"] include: @@ -92,6 +92,12 @@ jobs: pyarrow_version: "8" - env_file: actions-39.yaml pyarrow_version: "9" + - env_file: actions-311.yaml + pyarrow_version: "7" + - env_file: actions-311.yaml + pyarrow_version: "8" + - env_file: actions-311.yaml + pyarrow_version: "9" fail-fast: false name: ${{ matrix.name || format('{0} pyarrow={1} {2}', matrix.env_file, matrix.pyarrow_version, matrix.pattern) }} env: diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml new file mode 100644 index 0000000000000..8e15c7b4740c5 --- /dev/null +++ b/ci/deps/actions-311.yaml @@ -0,0 +1,57 @@ +name: pandas-dev +channels: + - conda-forge +dependencies: + - python=3.11 + + # build dependencies + - versioneer[toml] + - cython>=0.29.32 + + # test dependencies + - pytest>=7.0 + - pytest-cov + - pytest-xdist>=2.2.0 + - psutil + - pytest-asyncio>=0.17 + - boto3 + + # required dependencies + - python-dateutil + - numpy<1.24.0 + - pytz + + # optional dependencies + - beautifulsoup4 + - blosc + - bottleneck + - brotlipy + - fastparquet + - fsspec + - html5lib + - hypothesis + - gcsfs + - jinja2 + - lxml + - matplotlib>=3.6.1 + # - numba not compatible with 3.11 + - numexpr + - openpyxl + - odfpy + - pandas-gbq + - psycopg2 + - pymysql + # - pytables>=3.8.0 # first version that supports 3.11 + - pyarrow + - pyreadstat + - python-snappy + - pyxlsb + - s3fs>=2021.08.0 + - scipy + - sqlalchemy<1.4.46 + - tabulate + - tzdata>=2022a + - xarray + - xlrd + - xlsxwriter + - zstandard diff --git a/pandas/tests/extension/test_arrow.py b/pandas/tests/extension/test_arrow.py index 523463b9593a2..cc16c4231a2ed 100644 --- a/pandas/tests/extension/test_arrow.py +++ b/pandas/tests/extension/test_arrow.py @@ -26,6 +26,7 @@ import pytest from pandas.compat import ( + PY311, is_ci_environment, is_platform_windows, pa_version_under6p0, @@ -49,7 +50,7 @@ ) from pandas.tests.extension import base -pa = pytest.importorskip("pyarrow", minversion="1.0.1") +pa = pytest.importorskip("pyarrow", minversion="6.0.0") from pandas.core.arrays.arrow.array import ArrowExtensionArray @@ -287,7 +288,7 @@ def test_from_sequence_pa_array_notimplemented(self, request): def test_from_sequence_of_strings_pa_array(self, data, request): pa_dtype = data.dtype.pyarrow_dtype - if pa.types.is_time64(pa_dtype) and pa_dtype.equals("time64[ns]"): + if pa.types.is_time64(pa_dtype) and pa_dtype.equals("time64[ns]") and not PY311: request.node.add_marker( pytest.mark.xfail( reason="Nanosecond time parsing not supported.",