Skip to content

Commit 24f2171

Browse files
committed
Merge remote-tracking branch 'upstream/main' into groupby-generic
Merge branch to update pull request
2 parents e2cc36a + efe1a5c commit 24f2171

File tree

276 files changed

+10207
-4866
lines changed

Some content is hidden

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

276 files changed

+10207
-4866
lines changed

.github/workflows/broken-linkcheck.yml

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

.github/workflows/cache-cleanup-daily.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
cleanup:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-24.04
1010
if: github.repository_owner == 'pandas-dev'
1111
permissions:
1212
actions: write

.github/workflows/cache-cleanup.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66

77
jobs:
88
cleanup:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-24.04
10+
if: github.repository_owner == 'pandas-dev'
1011
steps:
1112
- name: Clean Cache
1213
run: |

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ jobs:
2828

2929
steps:
3030
- uses: actions/checkout@v5
31-
- uses: github/codeql-action/init@v3
31+
- uses: github/codeql-action/init@v4
3232
with:
3333
languages: ${{ matrix.language }}
34-
- uses: github/codeql-action/autobuild@v3
35-
- uses: github/codeql-action/analyze@v3
34+
- uses: github/codeql-action/autobuild@v4
35+
- uses: github/codeql-action/analyze@v4

.github/workflows/comment-commands.yml

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@ permissions:
99
pull-requests: write
1010

1111
jobs:
12-
issue_assign:
13-
runs-on: ubuntu-24.04
14-
if: (!github.event.issue.pull_request) && github.event.comment.body == 'take'
15-
concurrency:
16-
group: ${{ github.actor }}-issue-assign
17-
steps:
18-
- run: |
19-
echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
20-
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees
2112
preview_docs:
2213
runs-on: ubuntu-24.04
2314
if: github.event.issue.pull_request && github.event.comment.body == '/preview'
@@ -28,64 +19,3 @@ jobs:
2819
with:
2920
previewer-server: "https://pandas.pydata.org/preview"
3021
artifact-job: "Doc Build and Upload"
31-
asv_run:
32-
runs-on: ubuntu-24.04
33-
# TODO: Support more benchmarking options later, against different branches, against self, etc
34-
if: github.event.issue.pull_request && startsWith(github.event.comment.body, '@github-actions benchmark')
35-
defaults:
36-
run:
37-
shell: bash -el {0}
38-
env:
39-
ENV_FILE: environment.yml
40-
COMMENT: ${{github.event.comment.body}}
41-
42-
concurrency:
43-
# Set concurrency to prevent abuse(full runs are ~5.5 hours !!!)
44-
# each user can only run one concurrent benchmark bot at a time
45-
# We don't cancel in progress jobs, but if you want to benchmark multiple PRs, you're gonna have
46-
# to wait
47-
group: ${{ github.actor }}-asv
48-
cancel-in-progress: false
49-
50-
steps:
51-
- name: Checkout
52-
uses: actions/checkout@v5
53-
with:
54-
fetch-depth: 0
55-
56-
# Although asv sets up its own env, deps are still needed
57-
# during discovery process
58-
- name: Set up Conda
59-
uses: ./.github/actions/setup-conda
60-
61-
- name: Run benchmarks
62-
id: bench
63-
continue-on-error: true # asv will exit code 1 for regressions
64-
run: |
65-
# extracting the regex, see https://stackoverflow.com/a/36798723
66-
REGEX=$(echo "$COMMENT" | sed -n "s/^.*-b\s*\(\S*\).*$/\1/p")
67-
cd asv_bench
68-
asv check -E existing
69-
git remote add upstream https://github.com/pandas-dev/pandas.git
70-
git fetch upstream
71-
asv machine --yes
72-
asv continuous -f 1.1 -b $REGEX upstream/main HEAD
73-
echo 'BENCH_OUTPUT<<EOF' >> $GITHUB_ENV
74-
asv compare -f 1.1 upstream/main HEAD >> $GITHUB_ENV
75-
echo 'EOF' >> $GITHUB_ENV
76-
echo "REGEX=$REGEX" >> $GITHUB_ENV
77-
78-
- uses: actions/github-script@v8
79-
env:
80-
BENCH_OUTPUT: ${{env.BENCH_OUTPUT}}
81-
REGEX: ${{env.REGEX}}
82-
with:
83-
script: |
84-
const ENV_VARS = process.env
85-
const run_url = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
86-
github.rest.issues.createComment({
87-
issue_number: context.issue.number,
88-
owner: context.repo.owner,
89-
repo: context.repo.repo,
90-
body: '\nBenchmarks completed. View runner logs here.' + run_url + '\nRegex used: '+ 'regex ' + ENV_VARS["REGEX"] + '\n' + ENV_VARS["BENCH_OUTPUT"]
91-
})

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
run: mv doc/build/html web/build/docs
9494

9595
- name: Save website as an artifact
96-
uses: actions/upload-artifact@v4
96+
uses: actions/upload-artifact@v5
9797
with:
9898
name: website
9999
path: web/build

.github/workflows/unit-tests.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,7 @@ jobs:
181181
timeout-minutes: 90
182182
strategy:
183183
matrix:
184-
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
185-
os: [macos-13, macos-14, windows-latest]
184+
os: [macos-15-intel, macos-15, windows-2025]
186185
env_file: [actions-311.yaml, actions-312.yaml, actions-313.yaml]
187186
fail-fast: false
188187
runs-on: ${{ matrix.os }}
@@ -322,7 +321,7 @@ jobs:
322321
fail-fast: false
323322
matrix:
324323
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
325-
os: [ubuntu-24.04, macOS-13, macOS-14, windows-latest]
324+
os: [ubuntu-24.04, macOS-13, macOS-14, windows-2025]
326325

327326
timeout-minutes: 90
328327

@@ -399,7 +398,7 @@ jobs:
399398
pyodide build
400399
401400
- name: Set up Node.js
402-
uses: actions/setup-node@v5
401+
uses: actions/setup-node@v6
403402
with:
404403
node-version: '20'
405404

.github/workflows/wheels.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
python -m pip install build
6565
python -m build --sdist
6666
67-
- uses: actions/upload-artifact@v4
67+
- uses: actions/upload-artifact@v5
6868
with:
6969
name: sdist
7070
path: ./dist/*
@@ -98,10 +98,9 @@ jobs:
9898
- [ubuntu-24.04, musllinux_x86_64]
9999
- [ubuntu-24.04-arm, manylinux_aarch64]
100100
- [ubuntu-24.04-arm, musllinux_aarch64]
101-
- [macos-13, macosx_x86_64]
102-
# Note: M1 images on Github Actions start from macOS 14
103-
- [macos-14, macosx_arm64]
104-
- [windows-2022, win_amd64]
101+
- [macos-15-intel, macosx_x86_64]
102+
- [macos-15, macosx_arm64]
103+
- [windows-2025, win_amd64]
105104
- [windows-11-arm, win_arm64]
106105
python: [["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"], ["cp314", "3.14"], ["cp314t", "3.14"]]
107106
include:
@@ -139,7 +138,7 @@ jobs:
139138
# removes unnecessary files from the release
140139
- name: Download sdist (not macOS)
141140
#if: ${{ matrix.buildplat[1] != 'macosx_*' }}
142-
uses: actions/download-artifact@v5
141+
uses: actions/download-artifact@v6
143142
with:
144143
name: sdist
145144
path: ./dist
@@ -162,7 +161,7 @@ jobs:
162161
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
163162

164163
- name: Build wheels
165-
uses: pypa/cibuildwheel@v3.2.0
164+
uses: pypa/cibuildwheel@v3.2.1
166165
with:
167166
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
168167
env:
@@ -197,7 +196,7 @@ jobs:
197196
shell: bash -el {0}
198197
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done
199198

200-
- uses: actions/upload-artifact@v4
199+
- uses: actions/upload-artifact@v5
201200
with:
202201
name: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
203202
path: ./wheelhouse/*.whl
@@ -229,7 +228,7 @@ jobs:
229228
- build_sdist
230229
- build_wheels
231230

232-
runs-on: ubuntu-latest
231+
runs-on: ubuntu-24.04
233232

234233
environment:
235234
name: pypi
@@ -239,10 +238,12 @@ jobs:
239238

240239
steps:
241240
- name: Download all artefacts
242-
uses: actions/download-artifact@v5
241+
uses: actions/download-artifact@v6
243242
with:
244243
path: dist # everything lands in ./dist/**
245244

245+
# TODO: This step can be probably be achieved by actions/download-artifact@v6
246+
# by specifying merge-multiple: true, and a glob pattern
246247
- name: Collect files
247248
run: |
248249
mkdir -p upload

.pre-commit-config.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ci:
1919
skip: [pyright, mypy]
2020
repos:
2121
- repo: https://github.com/astral-sh/ruff-pre-commit
22-
rev: v0.12.11
22+
rev: v0.14.3
2323
hooks:
2424
- id: ruff
2525
args: [--exit-non-zero-on-fix]
@@ -46,7 +46,7 @@ repos:
4646
- id: codespell
4747
types_or: [python, rst, markdown, cython, c]
4848
- repo: https://github.com/MarcoGorelli/cython-lint
49-
rev: v0.16.7
49+
rev: v0.18.1
5050
hooks:
5151
- id: cython-lint
5252
- id: double-quote-cython-strings
@@ -67,11 +67,11 @@ repos:
6767
- id: trailing-whitespace
6868
args: [--markdown-linebreak-ext=md]
6969
- repo: https://github.com/PyCQA/isort
70-
rev: 6.0.1
70+
rev: 7.0.0
7171
hooks:
7272
- id: isort
7373
- repo: https://github.com/asottile/pyupgrade
74-
rev: v3.20.0
74+
rev: v3.21.0
7575
hooks:
7676
- id: pyupgrade
7777
args: [--py311-plus]
@@ -87,19 +87,19 @@ repos:
8787
types: [text] # overwrite types: [rst]
8888
types_or: [python, rst]
8989
- repo: https://github.com/sphinx-contrib/sphinx-lint
90-
rev: v1.0.0
90+
rev: v1.0.1
9191
hooks:
9292
- id: sphinx-lint
9393
args: ["--enable", "all", "--disable", "line-too-long"]
9494
- repo: https://github.com/pre-commit/mirrors-clang-format
95-
rev: v21.1.0
95+
rev: v21.1.2
9696
hooks:
9797
- id: clang-format
9898
files: ^pandas/_libs/src|^pandas/_libs/include
9999
args: [-i]
100100
types_or: [c, c++]
101101
- repo: https://github.com/trim21/pre-commit-mirror-meson
102-
rev: v1.9.0
102+
rev: v1.9.1
103103
hooks:
104104
- id: meson-fmt
105105
args: ['--inplace']

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ If you are simply looking to start working with the pandas codebase, navigate to
179179

180180
You can also triage issues which may include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to pandas on CodeTriage](https://www.codetriage.com/pandas-dev/pandas).
181181

182-
Or maybe through using pandas you have an idea of your own or are looking for something in the documentation and thinking ‘this can be improved’...you can do something about it!
182+
Or maybe through using pandas you have an idea of your own or are looking for something in the documentation and thinking ‘this can be improved’... you can do something about it!
183183

184184
Feel free to ask questions on the [mailing list](https://groups.google.com/forum/?fromgroups#!forum/pydata) or on [Slack](https://pandas.pydata.org/docs/dev/development/community.html?highlight=slack#community-slack).
185185

0 commit comments

Comments
 (0)