Skip to content

Commit b1c7e02

Browse files
committed
Merge branch '2.3.x' of https://github.com/pandas-dev/pandas into 2.3.x
2 parents 83ea015 + c4fa611 commit b1c7e02

File tree

149 files changed

+2394
-1062
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+2394
-1062
lines changed

.circleci/config.yml

Lines changed: 0 additions & 143 deletions
This file was deleted.

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ pandas/_version.py export-subst
6161
*.pxi export-ignore
6262

6363
# Ignoring stuff from the top level
64-
.circleci export-ignore
6564
.github export-ignore
6665
asv_bench export-ignore
6766
ci export-ignore

.github/actions/run-tests/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ runs:
77
shell: bash -el {0}
88

99
- name: Publish test results
10-
uses: actions/upload-artifact@v3
10+
uses: actions/upload-artifact@v4
1111
with:
1212
name: Test results
1313
path: test-data.xml

.github/workflows/unit-tests.yml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ defaults:
2222

2323
jobs:
2424
ubuntu:
25-
runs-on: ubuntu-22.04
25+
runs-on: ${{ matrix.platform }}
2626
timeout-minutes: 90
2727
strategy:
2828
matrix:
29+
platform: [ubuntu-22.04, ubuntu-24.04-arm]
2930
env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml, actions-312.yaml]
3031
# Prevent the include jobs from overriding other jobs
3132
pattern: [""]
@@ -35,9 +36,11 @@ jobs:
3536
env_file: actions-311-downstream_compat.yaml
3637
pattern: "not slow and not network and not single_cpu"
3738
pytest_target: "pandas/tests/test_downstream.py"
39+
platform: ubuntu-22.04
3840
- name: "Minimum Versions"
3941
env_file: actions-39-minimum_versions.yaml
4042
pattern: "not slow and not network and not single_cpu"
43+
platform: ubuntu-22.04
4144
- name: "Locale: it_IT"
4245
env_file: actions-311.yaml
4346
pattern: "not slow and not network and not single_cpu"
@@ -48,6 +51,7 @@ jobs:
4851
# Also install it_IT (its encoding is ISO8859-1) but do not activate it.
4952
# It will be temporarily activated during tests with locale.setlocale
5053
extra_loc: "it_IT"
54+
platform: ubuntu-22.04
5155
- name: "Locale: zh_CN"
5256
env_file: actions-311.yaml
5357
pattern: "not slow and not network and not single_cpu"
@@ -58,55 +62,70 @@ jobs:
5862
# Also install zh_CN (its encoding is gb2312) but do not activate it.
5963
# It will be temporarily activated during tests with locale.setlocale
6064
extra_loc: "zh_CN"
65+
platform: ubuntu-22.04
6166
- name: "Copy-on-Write 3.9"
6267
env_file: actions-39.yaml
6368
pattern: "not slow and not network and not single_cpu"
6469
pandas_copy_on_write: "1"
70+
platform: ubuntu-22.04
6571
- name: "Copy-on-Write 3.10"
6672
env_file: actions-310.yaml
6773
pattern: "not slow and not network and not single_cpu"
6874
pandas_copy_on_write: "1"
75+
platform: ubuntu-22.04
6976
- name: "Copy-on-Write 3.11"
7077
env_file: actions-311.yaml
7178
pattern: "not slow and not network and not single_cpu"
7279
pandas_copy_on_write: "1"
80+
platform: ubuntu-22.04
7381
- name: "Copy-on-Write 3.12"
7482
env_file: actions-312.yaml
7583
pattern: "not slow and not network and not single_cpu"
7684
pandas_copy_on_write: "1"
85+
platform: ubuntu-22.04
7786
- name: "Copy-on-Write 3.11 (warnings)"
7887
env_file: actions-311.yaml
7988
pattern: "not slow and not network and not single_cpu"
8089
pandas_copy_on_write: "warn"
90+
platform: ubuntu-22.04
8191
- name: "Copy-on-Write 3.10 (warnings)"
8292
env_file: actions-310.yaml
8393
pattern: "not slow and not network and not single_cpu"
8494
pandas_copy_on_write: "warn"
95+
platform: ubuntu-22.04
8596
- name: "Copy-on-Write 3.9 (warnings)"
8697
env_file: actions-39.yaml
8798
pattern: "not slow and not network and not single_cpu"
8899
pandas_copy_on_write: "warn"
100+
platform: ubuntu-22.04
89101
- name: "Future infer strings"
90102
env_file: actions-312.yaml
91103
pandas_future_infer_string: "1"
92104
pandas_copy_on_write: "1"
105+
platform: ubuntu-22.04
93106
- name: "Future infer strings (without pyarrow)"
94107
env_file: actions-311.yaml
95108
pandas_future_infer_string: "1"
96109
pandas_copy_on_write: "1"
110+
platform: ubuntu-22.04
97111
- name: "Pypy"
98112
env_file: actions-pypy-39.yaml
99113
pattern: "not slow and not network and not single_cpu"
100114
test_args: "--max-worker-restart 0"
115+
platform: ubuntu-22.04
101116
- name: "Numpy Dev"
102117
env_file: actions-311-numpydev.yaml
103118
pattern: "not slow and not network and not single_cpu"
104119
test_args: "-W error::DeprecationWarning -W error::FutureWarning"
120+
platform: ubuntu-22.04
105121
- name: "Pyarrow Nightly"
106122
env_file: actions-311-pyarrownightly.yaml
107123
pattern: "not slow and not network and not single_cpu"
124+
pandas_future_infer_string: "1"
125+
pandas_copy_on_write: "1"
126+
platform: ubuntu-22.04
108127
fail-fast: false
109-
name: ${{ matrix.name || format('ubuntu-latest {0}', matrix.env_file) }}
128+
name: ${{ matrix.name || format('ubuntu-latest {0}', matrix.env_file) }}-${{ matrix.platform }}
110129
env:
111130
PATTERN: ${{ matrix.pattern }}
112131
LANG: ${{ matrix.lang || 'C.UTF-8' }}
@@ -122,7 +141,7 @@ jobs:
122141
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
123142
concurrency:
124143
# https://github.community/t/concurrecy-not-work-for-push/183068/7
125-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_copy_on_write || '' }}-${{ matrix.pandas_future_infer_string }}
144+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_copy_on_write || '' }}-${{ matrix.pandas_future_infer_string }}-${{ matrix.platform }}
126145
cancel-in-progress: true
127146

128147
services:
@@ -262,12 +281,14 @@ jobs:
262281
fi
263282
- name: Build environment and Run Tests
264283
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
284+
# Note: Pinned to Cython 3.0.10 to avoid numerical instability in 32-bit environments
285+
# https://github.com/pandas-dev/pandas/pull/61423
265286
run: |
266287
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
267288
. ~/virtualenvs/pandas-dev/bin/activate
268289
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
269290
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
270-
python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil "pytz<2024.2" pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
291+
python -m pip install --no-cache-dir versioneer[toml] cython==3.0.10 python-dateutil "pytz<2024.2" pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
271292
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
272293
python -m pip list --no-cache-dir
273294
export PANDAS_CI=1

.github/workflows/wheels.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,14 @@ jobs:
9494
buildplat:
9595
- [ubuntu-22.04, manylinux_x86_64]
9696
- [ubuntu-22.04, musllinux_x86_64]
97+
- [ubuntu-24.04-arm, manylinux_aarch64]
98+
- [ubuntu-24.04-arm, musllinux_aarch64]
9799
- [macos-13, macosx_x86_64]
98100
# Note: M1 images on Github Actions start from macOS 14
99101
- [macos-14, macosx_arm64]
100102
- [windows-2022, win_amd64]
101103
# TODO: support PyPy?
102104
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
103-
include:
104-
# TODO: Remove this plus installing build deps in cibw_before_build.sh
105-
# after pandas can be built with a released NumPy/Cython
106-
- python: ["cp313t", "3.13"]
107-
cibw_build_frontend: 'pip; args: --no-build-isolation'
108105
# TODO: Build free-threaded wheels for Windows
109106
exclude:
110107
- buildplat: [windows-2022, win_amd64]
@@ -150,11 +147,10 @@ jobs:
150147
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
151148

152149
- name: Build wheels
153-
uses: pypa/cibuildwheel@v2.21.3
150+
uses: pypa/cibuildwheel@v2.23.3
154151
with:
155152
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
156153
env:
157-
CIBW_PRERELEASE_PYTHONS: True
158154
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
159155
CIBW_BUILD_FRONTEND: ${{ matrix.cibw_build_frontend || 'pip' }}
160156

asv_bench/asv.conf.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
// pip (with all the conda available packages installed first,
4242
// followed by the pip installed packages).
4343
"matrix": {
44-
"Cython": ["3.0.5"],
44+
"pip+build": [],
45+
"Cython": [],
4546
"matplotlib": [],
4647
"sqlalchemy": [],
4748
"scipy": [],

ci/deps/actions-310.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ dependencies:
66

77
# build dependencies
88
- versioneer
9-
- cython>=0.29.33
9+
- cython<4.0.0a0
1010
- meson=1.2.1
1111
- meson-python=0.13.1
1212

@@ -15,7 +15,7 @@ dependencies:
1515
- pytest-cov
1616
- pytest-xdist>=2.2.0
1717
- pytest-qt>=4.2.0
18-
- boto3
18+
- boto3=1.37.3
1919

2020
# required dependencies
2121
- python-dateutil

ci/deps/actions-311-downstream_compat.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependencies:
77

88
# build dependencies
99
- versioneer
10-
- cython>=0.29.33
10+
- cython<4.0.0a0
1111
- meson=1.2.1
1212
- meson-python=0.13.1
1313

@@ -17,7 +17,7 @@ dependencies:
1717
- pytest-xdist>=2.2.0
1818
- pytest-localserver>=0.7.1
1919
- pytest-qt>=4.2.0
20-
- boto3
20+
- boto3=1.37.3
2121

2222
# required dependencies
2323
- python-dateutil
@@ -50,8 +50,8 @@ dependencies:
5050
- pytables>=3.8.0
5151
- python-calamine>=0.1.7
5252
- pyxlsb>=1.0.10
53-
- s3fs>=2022.11.0
54-
- scipy>=1.10.0
53+
- s3fs>=2023.12.2
54+
- scipy>=1.12.0
5555
- sqlalchemy>=2.0.0
5656
- tabulate>=0.9.0
5757
- xarray>=2022.12.0, <=2024.9.0

ci/deps/actions-311-numpydev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies:
88
- versioneer
99
- meson=1.2.1
1010
- meson-python=0.13.1
11-
- cython>=0.29.33
11+
- cython<4.0.0a0
1212

1313
# test dependencies
1414
- pytest>=7.3.2

0 commit comments

Comments
 (0)