Skip to content

Commit dd0960a

Browse files
authored
Merge branch 'pandas-dev:main' into main
2 parents 198a309 + 311f92e commit dd0960a

File tree

368 files changed

+5678
-2851
lines changed

Some content is hidden

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

368 files changed

+5678
-2851
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
44
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
55
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.
6+
- [ ] If I used AI to develop this pull request, I prompted it to follow `AGENTS.md`.

.github/workflows/code-checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: Checkout
36-
uses: actions/checkout@v5
36+
uses: actions/checkout@v6
3737
with:
3838
fetch-depth: 0
3939

@@ -114,7 +114,7 @@ jobs:
114114

115115
steps:
116116
- name: Checkout
117-
uses: actions/checkout@v5
117+
uses: actions/checkout@v6
118118
with:
119119
fetch-depth: 0
120120

@@ -142,7 +142,7 @@ jobs:
142142

143143
steps:
144144
- name: Checkout
145-
uses: actions/checkout@v5
145+
uses: actions/checkout@v6
146146
with:
147147
fetch-depth: 0
148148

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- python
2828

2929
steps:
30-
- uses: actions/checkout@v5
30+
- uses: actions/checkout@v6
3131
- uses: github/codeql-action/init@v4
3232
with:
3333
languages: ${{ matrix.language }}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
steps:
3838
- name: Checkout
39-
uses: actions/checkout@v5
39+
uses: actions/checkout@v6
4040
with:
4141
fetch-depth: 0
4242

.github/workflows/package-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434

3535
steps:
3636
- name: Checkout
37-
uses: actions/checkout@v5
37+
uses: actions/checkout@v6
3838
with:
3939
fetch-depth: 0
4040

@@ -58,7 +58,7 @@ jobs:
5858
cancel-in-progress: true
5959
steps:
6060
- name: Checkout
61-
uses: actions/checkout@v5
61+
uses: actions/checkout@v6
6262
with:
6363
fetch-depth: 0
6464

.github/workflows/unit-tests.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ jobs:
139139

140140
steps:
141141
- name: Checkout
142-
uses: actions/checkout@v5
142+
uses: actions/checkout@v6
143143
with:
144144
fetch-depth: 0
145145

@@ -198,7 +198,7 @@ jobs:
198198

199199
steps:
200200
- name: Checkout
201-
uses: actions/checkout@v5
201+
uses: actions/checkout@v6
202202
with:
203203
fetch-depth: 0
204204

@@ -216,7 +216,7 @@ jobs:
216216
Linux-32-bit:
217217
runs-on: ubuntu-24.04
218218
container:
219-
image: quay.io/pypa/manylinux2014_i686
219+
image: quay.io/pypa/manylinux_2_28_i686
220220
options: --platform linux/386
221221
steps:
222222
- name: Checkout pandas Repo
@@ -336,7 +336,7 @@ jobs:
336336
PYTEST_TARGET: pandas
337337

338338
steps:
339-
- uses: actions/checkout@v5
339+
- uses: actions/checkout@v6
340340
with:
341341
fetch-depth: 0
342342

@@ -373,7 +373,7 @@ jobs:
373373
cancel-in-progress: true
374374
steps:
375375
- name: Checkout pandas Repo
376-
uses: actions/checkout@v5
376+
uses: actions/checkout@v6
377377
with:
378378
fetch-depth: 0
379379

.github/workflows/wheels.yml

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,12 @@ jobs:
4545
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
4646
runs-on: ubuntu-24.04
4747
env:
48-
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
4948
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
5049
outputs:
5150
sdist_file: ${{ steps.save-path.outputs.sdist_name }}
5251
steps:
5352
- name: Checkout pandas
54-
uses: actions/checkout@v5
53+
uses: actions/checkout@v6
5554
with:
5655
fetch-depth: 0
5756

@@ -118,11 +117,10 @@ jobs:
118117
python: ["cp313t", "3.13"]
119118

120119
env:
121-
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
122120
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
123121
steps:
124122
- name: Checkout pandas
125-
uses: actions/checkout@v5
123+
uses: actions/checkout@v6
126124
with:
127125
fetch-depth: 0
128126

@@ -204,21 +202,11 @@ jobs:
204202
path: ./wheelhouse/*.whl
205203

206204
- name: Upload wheels & sdist
207-
if: ${{ success() && (env.IS_SCHEDULE_DISPATCH == 'true' || env.IS_PUSH == 'true') }}
208-
shell: bash -el {0}
209-
env:
210-
PANDAS_STAGING_UPLOAD_TOKEN: ${{ secrets.PANDAS_STAGING_UPLOAD_TOKEN }}
211-
PANDAS_NIGHTLY_UPLOAD_TOKEN: ${{ secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN }}
212-
# trigger an upload to
213-
# https://anaconda.org/scientific-python-nightly-wheels/pandas
214-
# for cron jobs or "Run workflow" (restricted to main branch).
215-
# Tags will upload to
216-
# https://anaconda.org/multibuild-wheels-staging/pandas
217-
# The tokens were originally generated at anaconda.org
218-
run: |
219-
source ci/upload_wheels.sh
220-
set_upload_vars
221-
upload_wheels
205+
if: ${{ success() && env.IS_SCHEDULE_DISPATCH == 'true' }}
206+
uses: scientific-python/upload-nightly-action@0.6.2
207+
with:
208+
artifacts_path: dist
209+
anaconda_nightly_upload_token: ${{secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN}}
222210

223211
publish:
224212
if: >

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
.noseids
2222
.ipynb_checkpoints
2323
.tags
24+
tags
2425
.cache/
2526
.vscode/
2627

.pre-commit-config.yaml

Lines changed: 4 additions & 4 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.14.3
22+
rev: v0.14.7
2323
hooks:
2424
- id: ruff
2525
args: [--exit-non-zero-on-fix]
@@ -71,7 +71,7 @@ repos:
7171
hooks:
7272
- id: isort
7373
- repo: https://github.com/asottile/pyupgrade
74-
rev: v3.21.0
74+
rev: v3.21.2
7575
hooks:
7676
- id: pyupgrade
7777
args: [--py311-plus]
@@ -87,12 +87,12 @@ 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.1
90+
rev: v1.0.2
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.2
95+
rev: v21.1.6
9696
hooks:
9797
- id: clang-format
9898
files: ^pandas/_libs/src|^pandas/_libs/include

AGENTS.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# pandas Agent Instructions
2+
3+
## Project Overview
4+
`pandas` is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
5+
6+
## Purpose
7+
- Assist contributors by suggesting code changes, tests, and documentation edits for the pandas repository while preserving stability and compatibility.
8+
9+
## Persona & Tone
10+
- Concise, neutral, code-focused. Prioritize correctness, readability, and tests.
11+
12+
## Project Guidelines
13+
- Be sure to follow all guidelines for contributing to the codebase specified at https://pandas.pydata.org/docs/development/contributing_codebase.html
14+
- These guidelines are also available in the following local files, which should be loaded into context and adhered to
15+
- doc/source/development/contributing_codebase.rst
16+
- doc/source/development/contributing_docstring.rst
17+
- doc/source/development/contributing_documentation.rst
18+
- doc/source/development/contributing.rst
19+
20+
## Decision heuristics
21+
- Favor small, backward-compatible changes with tests.
22+
- If a change would be breaking, propose it behind a deprecation path and document the rationale.
23+
- Prefer readability over micro-optimizations unless benchmarks are requested.
24+
- Add tests for behavioral changes; update docs only after code change is final.
25+
26+
## Type hints guidance (summary)
27+
- Prefer PEP 484 style and types in pandas._typing when appropriate.
28+
- Avoid unnecessary use of typing.cast; prefer refactors that convey types to type-checkers.
29+
- Use builtin generics (list, dict) when possible.
30+
31+
## Docstring guidance (summary)
32+
- Follow NumPy / numpydoc conventions used across the repo: short summary, extended summary, Parameters, Returns/Yields, See Also, Notes, Examples.
33+
- Ensure examples are deterministic, import numpy/pandas as documented, and pass doctest rules used by docs validation.
34+
- Preserve formatting rules: triple double-quotes, no blank line before/after docstring, parameter formatting ("name : type, default ..."), types and examples conventions.
35+
36+
## Pull Requests (summary)
37+
- Pull request titles should be descriptive and include one of the following prefixes:
38+
- ENH: Enhancement, new functionality
39+
- BUG: Bug fix
40+
- DOC: Additions/updates to documentation
41+
- TST: Additions/updates to tests
42+
- BLD: Updates to the build process/scripts
43+
- PERF: Performance improvement
44+
- TYP: Type annotations
45+
- CLN: Code cleanup
46+
- Pull request descriptions should follow the template, and **succinctly** describe the change being made. Usually a few sentences is sufficient.
47+
- Pull requests which are resolving an existing Github Issue should include a link to the issue in the PR Description.
48+
- Do not add summaries or additional comments to individual commit messages. The single PR description is sufficient.

0 commit comments

Comments
 (0)