Skip to content

Commit 0d8bae3

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fix-63040
2 parents 251ff22 + 49f4a94 commit 0d8bae3

File tree

424 files changed

+9863
-5276
lines changed

Some content is hidden

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

424 files changed

+9863
-5276
lines changed

.devcontainer.json

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

.gitattributes

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,12 @@ pandas/_version.py export-subst
6565
asv_bench export-ignore
6666
ci export-ignore
6767
doc export-ignore
68-
gitpod export-ignore
6968
MANIFEST.in export-ignore
7069
scripts/** export-ignore
7170
typings export-ignore
7271
web export-ignore
7372
CITATION.cff export-ignore
7473
codecov.yml export-ignore
75-
Dockerfile export-ignore
7674
environment.yml export-ignore
7775
setup.py export-ignore
7876

.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: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -131,33 +131,6 @@ jobs:
131131
asv machine --yes
132132
asv run --quick --dry-run --durations=30 --python=same --show-stderr
133133
134-
build_docker_dev_environment:
135-
name: Build Docker Dev Environment
136-
runs-on: ubuntu-24.04
137-
defaults:
138-
run:
139-
shell: bash -el {0}
140-
141-
concurrency:
142-
# https://github.community/t/concurrecy-not-work-for-push/183068/7
143-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-build_docker_dev_environment
144-
cancel-in-progress: true
145-
146-
steps:
147-
- name: Clean up dangling images
148-
run: docker image prune -f
149-
150-
- name: Checkout
151-
uses: actions/checkout@v5
152-
with:
153-
fetch-depth: 0
154-
155-
- name: Build image
156-
run: docker build --pull --no-cache --tag pandas-dev-env .
157-
158-
- name: Show environment
159-
run: docker run --rm pandas-dev-env python -c "import pandas as pd; print(pd.show_versions())"
160-
161134
requirements-dev-text-installable:
162135
name: Test install requirements-dev.txt
163136
runs-on: ubuntu-24.04

.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 & 5 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-2025]
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 }}
@@ -321,8 +320,7 @@ jobs:
321320
strategy:
322321
fail-fast: false
323322
matrix:
324-
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
325-
os: [ubuntu-24.04, macOS-13, macOS-14, windows-2025]
323+
os: [ubuntu-24.04, macos-15-intel, macos-15, windows-2025]
326324

327325
timeout-minutes: 90
328326

@@ -399,7 +397,7 @@ jobs:
399397
pyodide build
400398
401399
- name: Set up Node.js
402-
uses: actions/setup-node@v5
400+
uses: actions/setup-node@v6
403401
with:
404402
node-version: '20'
405403

.github/workflows/wheels.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
if: >-
4040
(github.event_name == 'schedule') ||
4141
github.event_name == 'workflow_dispatch' ||
42+
github.event_name == 'release' ||
4243
(github.event_name == 'pull_request' &&
4344
contains(github.event.pull_request.labels.*.name, 'Build')) ||
4445
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
@@ -64,7 +65,7 @@ jobs:
6465
python -m pip install build
6566
python -m build --sdist
6667
67-
- uses: actions/upload-artifact@v4
68+
- uses: actions/upload-artifact@v5
6869
with:
6970
name: sdist
7071
path: ./dist/*
@@ -84,6 +85,7 @@ jobs:
8485
if: >-
8586
(github.event_name == 'schedule') ||
8687
github.event_name == 'workflow_dispatch' ||
88+
github.event_name == 'release' ||
8789
(github.event_name == 'pull_request' &&
8890
contains(github.event.pull_request.labels.*.name, 'Build')) ||
8991
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
@@ -98,10 +100,9 @@ jobs:
98100
- [ubuntu-24.04, musllinux_x86_64]
99101
- [ubuntu-24.04-arm, manylinux_aarch64]
100102
- [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]
103+
- [macos-15-intel, macosx_x86_64]
104+
- [macos-15, macosx_arm64]
105+
- [windows-2025, win_amd64]
105106
- [windows-11-arm, win_arm64]
106107
python: [["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"], ["cp314", "3.14"], ["cp314t", "3.14"]]
107108
include:
@@ -139,7 +140,7 @@ jobs:
139140
# removes unnecessary files from the release
140141
- name: Download sdist (not macOS)
141142
#if: ${{ matrix.buildplat[1] != 'macosx_*' }}
142-
uses: actions/download-artifact@v5
143+
uses: actions/download-artifact@v6
143144
with:
144145
name: sdist
145146
path: ./dist
@@ -197,7 +198,7 @@ jobs:
197198
shell: bash -el {0}
198199
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done
199200

200-
- uses: actions/upload-artifact@v4
201+
- uses: actions/upload-artifact@v5
201202
with:
202203
name: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
203204
path: ./wheelhouse/*.whl
@@ -239,11 +240,11 @@ jobs:
239240

240241
steps:
241242
- name: Download all artefacts
242-
uses: actions/download-artifact@v5
243+
uses: actions/download-artifact@v6
243244
with:
244245
path: dist # everything lands in ./dist/**
245246

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

.gitpod.yml

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

.pre-commit-config.yaml

Lines changed: 5 additions & 5 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.13.3
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.17.0
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.1.0
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,7 +87,7 @@ 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"]

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)