Skip to content

Commit c3461c9

Browse files
committed
Merge remote-tracking branch 'upstream/main' into bump/optional
2 parents cffd206 + 4511251 commit c3461c9

File tree

278 files changed

+4474
-1556
lines changed

Some content is hidden

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

278 files changed

+4474
-1556
lines changed

.circleci/config.yml

-155
This file was deleted.

.gitattributes

-1
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/workflows/unit-tests.yml

+35-27
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-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-310-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,25 +62,32 @@ 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: "Future infer strings"
6267
env_file: actions-312.yaml
6368
pandas_future_infer_string: "1"
69+
platform: ubuntu-22.04
6470
- name: "Future infer strings (without pyarrow)"
6571
env_file: actions-311.yaml
6672
pandas_future_infer_string: "1"
73+
platform: ubuntu-22.04
6774
- name: "Pypy"
6875
env_file: actions-pypy-39.yaml
6976
pattern: "not slow and not network and not single_cpu"
7077
test_args: "--max-worker-restart 0"
78+
platform: ubuntu-22.04
7179
- name: "Numpy Dev"
7280
env_file: actions-311-numpydev.yaml
7381
pattern: "not slow and not network and not single_cpu"
7482
test_args: "-W error::DeprecationWarning -W error::FutureWarning"
83+
platform: ubuntu-22.04
7584
- name: "Pyarrow Nightly"
7685
env_file: actions-311-pyarrownightly.yaml
7786
pattern: "not slow and not network and not single_cpu"
87+
pandas_future_infer_string: "1"
88+
platform: ubuntu-22.04
7889
fail-fast: false
79-
name: ${{ matrix.name || format('ubuntu-latest {0}', matrix.env_file) }}
90+
name: ${{ matrix.name || format('{0} {1}', matrix.platform, matrix.env_file) }}
8091
env:
8192
PATTERN: ${{ matrix.pattern }}
8293
LANG: ${{ matrix.lang || 'C.UTF-8' }}
@@ -91,12 +102,12 @@ jobs:
91102
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
92103
concurrency:
93104
# https://github.community/t/concurrecy-not-work-for-push/183068/7
94-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}
105+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}-${{ matrix.platform }}
95106
cancel-in-progress: true
96107

97108
services:
98109
mysql:
99-
image: mysql:8
110+
image: mysql:9
100111
env:
101112
MYSQL_ALLOW_EMPTY_PASSWORD: yes
102113
MYSQL_DATABASE: pandas
@@ -109,7 +120,7 @@ jobs:
109120
- 3306:3306
110121

111122
postgres:
112-
image: postgres:16
123+
image: postgres:17
113124
env:
114125
PGUSER: postgres
115126
POSTGRES_USER: postgres
@@ -124,7 +135,7 @@ jobs:
124135
- 5432:5432
125136

126137
moto:
127-
image: motoserver/moto:5.0.0
138+
image: motoserver/moto:5.0.27
128139
env:
129140
AWS_ACCESS_KEY_ID: foobar_key
130141
AWS_SECRET_ACCESS_KEY: foobar_secret
@@ -231,15 +242,14 @@ jobs:
231242
- name: Build environment and Run Tests
232243
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
233244
run: |
234-
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
245+
/opt/python/cp313-cp313/bin/python -m venv ~/virtualenvs/pandas-dev
235246
. ~/virtualenvs/pandas-dev/bin/activate
236247
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
237248
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
238249
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
239250
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
240251
python -m pip list --no-cache-dir
241-
export PANDAS_CI=1
242-
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
252+
PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
243253
concurrency:
244254
# https://github.community/t/concurrecy-not-work-for-push/183068/7
245255
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-32bit
@@ -248,7 +258,7 @@ jobs:
248258
Linux-Musl:
249259
runs-on: ubuntu-22.04
250260
container:
251-
image: quay.io/pypa/musllinux_1_1_x86_64
261+
image: quay.io/pypa/musllinux_1_2_x86_64
252262
steps:
253263
- name: Checkout pandas Repo
254264
# actions/checkout does not work since it requires node
@@ -270,7 +280,7 @@ jobs:
270280
apk add musl-locales
271281
- name: Build environment
272282
run: |
273-
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
283+
/opt/python/cp313-cp313/bin/python -m venv ~/virtualenvs/pandas-dev
274284
. ~/virtualenvs/pandas-dev/bin/activate
275285
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
276286
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
@@ -280,8 +290,7 @@ jobs:
280290
- name: Run Tests
281291
run: |
282292
. ~/virtualenvs/pandas-dev/bin/activate
283-
export PANDAS_CI=1
284-
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
293+
PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
285294
concurrency:
286295
# https://github.community/t/concurrecy-not-work-for-push/183068/7
287296
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-musl
@@ -346,8 +355,7 @@ jobs:
346355
python --version
347356
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
348357
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
349-
python -m pip install versioneer[toml]
350-
python -m pip install python-dateutil tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
358+
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
351359
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
352360
python -m pip list
353361
@@ -364,7 +372,7 @@ jobs:
364372

365373
concurrency:
366374
# https://github.community/t/concurrecy-not-work-for-push/183068/7
367-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-python-freethreading-dev
375+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-python-freethreading-dev
368376
cancel-in-progress: true
369377

370378
env:
@@ -385,14 +393,11 @@ jobs:
385393
nogil: true
386394

387395
- name: Build Environment
388-
# TODO: Once numpy 2.2.1 is out, don't install nightly version
389-
# Tests segfault with numpy 2.2.0: https://github.com/numpy/numpy/pull/27955
390396
run: |
391397
python --version
392-
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
393-
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython numpy
394-
python -m pip install versioneer[toml]
395-
python -m pip install python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
398+
python -m pip install --upgrade pip setuptools wheel numpy meson[ninja]==1.2.1 meson-python==0.13.1
399+
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython
400+
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
396401
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
397402
python -m pip list
398403
@@ -419,20 +424,20 @@ jobs:
419424
with:
420425
fetch-depth: 0
421426

422-
- name: Set up Python for Pyodide
427+
- name: Set up Python for pyodide-build
423428
id: setup-python
424429
uses: actions/setup-python@v5
425430
with:
426-
python-version: '3.11.3'
431+
python-version: '3.12'
427432

428433
- name: Set up Emscripten toolchain
429434
uses: mymindstorm/setup-emsdk@v14
430435
with:
431-
version: '3.1.46'
436+
version: '3.1.58'
432437
actions-cache-folder: emsdk-cache
433438

434439
- name: Install pyodide-build
435-
run: pip install "pyodide-build==0.25.1"
440+
run: pip install "pyodide-build>=0.29.2"
436441

437442
- name: Build pandas for Pyodide
438443
run: |
@@ -441,10 +446,13 @@ jobs:
441446
- name: Set up Node.js
442447
uses: actions/setup-node@v4
443448
with:
444-
node-version: '18'
449+
node-version: '20'
445450

446451
- name: Set up Pyodide virtual environment
452+
env:
453+
pyodide-version: '0.27.1'
447454
run: |
455+
pyodide xbuildenv install ${{ env.pyodide-version }}
448456
pyodide venv .venv-pyodide
449457
source .venv-pyodide/bin/activate
450458
pip install dist/*.whl

.github/workflows/wheels.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ jobs:
9494
buildplat:
9595
- [ubuntu-22.04, manylinux_x86_64]
9696
- [ubuntu-22.04, musllinux_x86_64]
97-
- [macos-12, macosx_x86_64]
97+
- [ubuntu-24.04-arm, manylinux_aarch64]
98+
- [macos-13, macosx_x86_64]
9899
# Note: M1 images on Github Actions start from macOS 14
99100
- [macos-14, macosx_arm64]
100101
- [windows-2022, win_amd64]

0 commit comments

Comments
 (0)