Skip to content

Commit 002f271

Browse files
committed
Merge branch 'main' into daydst2
2 parents 80d7b00 + 41383cf commit 002f271

File tree

1,037 files changed

+29660
-39385
lines changed

Some content is hidden

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

1,037 files changed

+29660
-39385
lines changed

.circleci/config.yml

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2.1
33
jobs:
44
test-arm:
55
machine:
6-
image: ubuntu-2004:2022.04.1
6+
image: default
77
resource_class: arm.large
88
environment:
99
ENV_FILE: ci/deps/circle-310-arm64.yaml
@@ -18,12 +18,35 @@ jobs:
1818
PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH
1919
LD_PRELOAD=$HOME/miniconda3/envs/pandas-dev/lib/libgomp.so.1:$LD_PRELOAD
2020
ci/run_tests.sh
21+
linux-musl:
22+
docker:
23+
- image: quay.io/pypa/musllinux_1_1_aarch64
24+
resource_class: arm.large
25+
steps:
26+
# Install pkgs first to have git in the image
27+
# (needed for checkout)
28+
- run: |
29+
apk update
30+
apk add git
31+
apk add musl-locales
32+
- checkout
33+
- run: |
34+
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
35+
. ~/virtualenvs/pandas-dev/bin/activate
36+
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
37+
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
38+
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
39+
python -m pip list --no-cache-dir
40+
- run: |
41+
. ~/virtualenvs/pandas-dev/bin/activate
42+
export PANDAS_CI=1
43+
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
2144
build-aarch64:
2245
parameters:
2346
cibw-build:
2447
type: string
2548
machine:
26-
image: ubuntu-2004:2022.04.1
49+
image: default
2750
resource_class: arm.large
2851
environment:
2952
TRIGGER_SOURCE: << pipeline.trigger_source >>
@@ -89,6 +112,13 @@ workflows:
89112
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
90113
jobs:
91114
- test-arm
115+
test-musl:
116+
# Don't run trigger this one when scheduled pipeline runs
117+
when:
118+
not:
119+
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
120+
jobs:
121+
- linux-musl
92122
build-wheels:
93123
jobs:
94124
- build-aarch64:
@@ -97,4 +127,11 @@ workflows:
97127
only: /^v.*/
98128
matrix:
99129
parameters:
100-
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64", "cp312-manylinux_aarch64"]
130+
cibw-build: ["cp39-manylinux_aarch64",
131+
"cp310-manylinux_aarch64",
132+
"cp311-manylinux_aarch64",
133+
"cp312-manylinux_aarch64",
134+
"cp39-musllinux_aarch64",
135+
"cp310-musllinux_aarch64",
136+
"cp311-musllinux_aarch64",
137+
"cp312-musllinux_aarch64",]

.github/actions/build_pandas/action.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ inputs:
44
editable:
55
description: Whether to build pandas in editable mode (default true)
66
default: true
7+
meson_args:
8+
description: Extra flags to pass to meson
9+
required: false
10+
cflags_adds:
11+
description: Items to append to the CFLAGS variable
12+
required: false
713
runs:
814
using: composite
915
steps:
@@ -24,11 +30,12 @@ runs:
2430

2531
- name: Build Pandas
2632
run: |
33+
export CFLAGS="$CFLAGS ${{ inputs.cflags_adds }}"
2734
if [[ ${{ inputs.editable }} == "true" ]]; then
28-
pip install -e . --no-build-isolation -v --no-deps \
35+
pip install -e . --no-build-isolation -v --no-deps ${{ inputs.meson_args }} \
2936
--config-settings=setup-args="--werror"
3037
else
31-
pip install . --no-build-isolation -v --no-deps \
38+
pip install . --no-build-isolation -v --no-deps ${{ inputs.meson_args }} \
3239
--config-settings=setup-args="--werror"
3340
fi
3441
shell: bash -el {0}

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ runs:
1313
path: test-data.xml
1414
if: failure()
1515

16-
- name: Report Coverage
17-
run: coverage report -m
18-
shell: bash -el {0}
19-
if: failure()
20-
2116
- name: Upload coverage to Codecov
2217
uses: codecov/codecov-action@v3
2318
with:

.github/workflows/broken-linkcheck.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
- "doc/make.py"
1010
jobs:
1111
linkcheck:
12+
if: false
1213
runs-on: ubuntu-latest
1314
defaults:
1415
run:

.github/workflows/code-checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.1.x
7+
- 2.2.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.1.x
11+
- 2.2.x
1212

1313
env:
1414
ENV_FILE: environment.yml
@@ -86,7 +86,7 @@ jobs:
8686
if: ${{ steps.build.outcome == 'success' && always() }}
8787

8888
- name: Typing + pylint
89-
uses: pre-commit/[email protected].0
89+
uses: pre-commit/[email protected].1
9090
with:
9191
extra_args: --verbose --hook-stage manual --all-files
9292
if: ${{ steps.build.outcome == 'success' && always() }}

.github/workflows/comment-commands.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ jobs:
2424
concurrency:
2525
group: ${{ github.actor }}-preview-docs
2626
steps:
27-
- run: |
28-
if curl --output /dev/null --silent --head --fail "https://pandas.pydata.org/preview/${{ github.event.issue.number }}/"; then
29-
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"body": "Website preview of this PR available at: https://pandas.pydata.org/preview/${{ github.event.issue.number }}/"}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments
30-
else
31-
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"body": "No preview found for PR #${{ github.event.issue.number }}. Did the docs build complete?"}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments
32-
fi
27+
- uses: pandas-dev/[email protected]
28+
with:
29+
previewer-server: "https://pandas.pydata.org/preview"
30+
artifact-job: "Doc Build and Upload"
3331
asv_run:
3432
runs-on: ubuntu-22.04
3533
# TODO: Support more benchmarking options later, against different branches, against self, etc

.github/workflows/deprecation-tracking-bot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
issues: write
2020
runs-on: ubuntu-22.04
2121
env:
22-
DEPRECATION_TRACKER_ISSUE: 50578
22+
DEPRECATION_TRACKER_ISSUE: 56596
2323
steps:
2424
- uses: actions/github-script@v7
2525
id: update-deprecation-issue

.github/workflows/docbuild-and-upload.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.1.x
7+
- 2.2.x
88
tags:
99
- '*'
1010
pull_request:
1111
branches:
1212
- main
13-
- 2.1.x
13+
- 2.2.x
1414

1515
env:
1616
ENV_FILE: environment.yml
@@ -90,10 +90,3 @@ jobs:
9090
name: website
9191
path: web/build
9292
retention-days: 14
93-
94-
- name: Trigger web/doc preview
95-
run: curl -X POST https://pandas.pydata.org/preview/submit/$RUN_ID/$PR_ID/
96-
env:
97-
RUN_ID: ${{ github.run_id }}
98-
PR_ID: ${{ github.event.pull_request.number }}
99-
if: github.event_name == 'pull_request'

.github/workflows/package-checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.1.x
7+
- 2.2.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.1.x
11+
- 2.2.x
1212
types: [ labeled, opened, synchronize, reopened ]
1313

1414
permissions:
@@ -24,7 +24,7 @@ jobs:
2424
runs-on: ubuntu-22.04
2525
strategy:
2626
matrix:
27-
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output-formatting", "clipboard", "compression", "consortium-standard", "all"]
27+
extra: ["test", "pyarrow", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output-formatting", "clipboard", "compression", "all"]
2828
fail-fast: false
2929
name: Install Extras - ${{ matrix.extra }}
3030
concurrency:

.github/workflows/unit-tests.yml

Lines changed: 13 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.1.x
7+
- 2.2.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.1.x
11+
- 2.2.x
1212
paths-ignore:
1313
- "doc/**"
1414
- "web/**"
@@ -57,34 +57,6 @@ jobs:
5757
# Also install zh_CN (its encoding is gb2312) but do not activate it.
5858
# It will be temporarily activated during tests with locale.setlocale
5959
extra_loc: "zh_CN"
60-
- name: "Copy-on-Write 3.9"
61-
env_file: actions-39.yaml
62-
pattern: "not slow and not network and not single_cpu"
63-
pandas_copy_on_write: "1"
64-
- name: "Copy-on-Write 3.10"
65-
env_file: actions-310.yaml
66-
pattern: "not slow and not network and not single_cpu"
67-
pandas_copy_on_write: "1"
68-
- name: "Copy-on-Write 3.11"
69-
env_file: actions-311.yaml
70-
pattern: "not slow and not network and not single_cpu"
71-
pandas_copy_on_write: "1"
72-
- name: "Copy-on-Write 3.12"
73-
env_file: actions-312.yaml
74-
pattern: "not slow and not network and not single_cpu"
75-
pandas_copy_on_write: "1"
76-
- name: "Copy-on-Write 3.11 (warnings)"
77-
env_file: actions-311.yaml
78-
pattern: "not slow and not network and not single_cpu"
79-
pandas_copy_on_write: "warn"
80-
- name: "Copy-on-Write 3.10 (warnings)"
81-
env_file: actions-310.yaml
82-
pattern: "not slow and not network and not single_cpu"
83-
pandas_copy_on_write: "warn"
84-
- name: "Copy-on-Write 3.9 (warnings)"
85-
env_file: actions-39.yaml
86-
pattern: "not slow and not network and not single_cpu"
87-
pandas_copy_on_write: "warn"
8860
- name: "Pypy"
8961
env_file: actions-pypy-39.yaml
9062
pattern: "not slow and not network and not single_cpu"
@@ -102,16 +74,16 @@ jobs:
10274
PATTERN: ${{ matrix.pattern }}
10375
LANG: ${{ matrix.lang || 'C.UTF-8' }}
10476
LC_ALL: ${{ matrix.lc_all || '' }}
105-
PANDAS_COPY_ON_WRITE: ${{ matrix.pandas_copy_on_write || '0' }}
10677
PANDAS_CI: ${{ matrix.pandas_ci || '1' }}
10778
TEST_ARGS: ${{ matrix.test_args || '' }}
108-
PYTEST_WORKERS: 'auto'
79+
PYTEST_WORKERS: ${{ matrix.pytest_workers || 'auto' }}
10980
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
81+
NPY_PROMOTION_STATE: ${{ matrix.env_file == 'actions-311-numpydev.yaml' && 'weak' || 'legacy' }}
11082
# Clipboard tests
11183
QT_QPA_PLATFORM: offscreen
11284
concurrency:
11385
# https://github.community/t/concurrecy-not-work-for-push/183068/7
114-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_copy_on_write || '' }}
86+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}}
11587
cancel-in-progress: true
11688

11789
services:
@@ -174,6 +146,9 @@ jobs:
174146
- name: Build Pandas
175147
id: build
176148
uses: ./.github/actions/build_pandas
149+
with:
150+
meson_args: ${{ matrix.meson_args }}
151+
cflags_adds: ${{ matrix.cflags_adds }}
177152

178153
- name: Test (not single_cpu)
179154
uses: ./.github/actions/run-tests
@@ -193,7 +168,8 @@ jobs:
193168
timeout-minutes: 90
194169
strategy:
195170
matrix:
196-
os: [macos-latest, windows-latest]
171+
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
172+
os: [macos-13, macos-14, windows-latest]
197173
env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml, actions-312.yaml]
198174
fail-fast: false
199175
runs-on: ${{ matrix.os }}
@@ -206,8 +182,7 @@ jobs:
206182
PANDAS_CI: 1
207183
PYTEST_TARGET: pandas
208184
PATTERN: "not slow and not db and not network and not single_cpu"
209-
# GH 47443: PYTEST_WORKERS > 0 crashes Windows builds with memory related errors
210-
PYTEST_WORKERS: ${{ matrix.os == 'macos-latest' && 'auto' || '0' }}
185+
PYTEST_WORKERS: 'auto'
211186

212187
steps:
213188
- name: Checkout
@@ -333,7 +308,8 @@ jobs:
333308
strategy:
334309
fail-fast: false
335310
matrix:
336-
os: [ubuntu-22.04, macOS-latest, windows-latest]
311+
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
312+
os: [ubuntu-22.04, macOS-13, macOS-14, windows-latest]
337313

338314
timeout-minutes: 90
339315

0 commit comments

Comments
 (0)