Skip to content

Commit 44f94d1

Browse files
committed
Merge remote-tracking branch 'upstream/main' into sphinx-fix
2 parents ddbd31a + 2547ff3 commit 44f94d1

File tree

422 files changed

+5777
-3203
lines changed

Some content is hidden

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

422 files changed

+5777
-3203
lines changed

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ body:
2626
label: Reproducible Example
2727
description: >
2828
Please follow [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) on how to
29-
provide a minimal, copy-pastable example.
29+
provide a minimal, copy-pastable example. Reports without reproducible examples will generally be closed
30+
until they are provided.
3031
placeholder: >
3132
import pandas as pd
3233

.github/ISSUE_TEMPLATE/documentation_improvement.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ body:
2828
attributes:
2929
label: Documentation problem
3030
description: >
31-
Please provide a description of what documentation you believe needs to be fixed/improved
31+
Please provide a description of what documentation you believe needs to be fixed/improved.
32+
Reports without a clear, actionable request will generally be closed.
3233
validations:
3334
required: true
3435
- type: textarea

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ body:
2121
attributes:
2222
label: Problem Description
2323
description: >
24-
Please describe what problem the feature would solve, e.g. "I wish I could use pandas to ..."
24+
Please describe what problem the feature would solve, e.g. "I wish I could use pandas to ...".
25+
Reports without a clear, actionable request will generally be closed.
2526
placeholder: >
2627
I wish I could use pandas to return a Series from a DataFrame when possible.
2728
validations:

.github/ISSUE_TEMPLATE/performance_issue.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ body:
2525
description: >
2626
Please provide a minimal, copy-pastable example that quantifies
2727
[slow runtime](https://docs.python.org/3/library/timeit.html) or
28-
[memory](https://pypi.org/project/memory-profiler/) issues.
28+
[memory](https://pypi.org/project/memory-profiler/) issues. Reports
29+
without reproducible examples will generally be closed
30+
until they are provided.
2931
validations:
3032
required: true
3133
- type: textarea

.github/workflows/code-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ jobs:
177177
id: setup_python
178178
uses: actions/setup-python@v5
179179
with:
180-
python-version: '3.10'
180+
python-version: '3.11'
181181
cache: 'pip'
182182
cache-dependency-path: 'requirements-dev.txt'
183183

.github/workflows/package-checks.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
id: setup_python
4343
uses: actions/setup-python@v5
4444
with:
45-
python-version: '3.10'
45+
python-version: '3.11'
4646

4747
- name: Pip install with extra
4848
run: |
@@ -51,14 +51,10 @@ jobs:
5151
conda_forge_recipe:
5252
if: ${{ github.event.label.name == 'Build' || contains(github.event.pull_request.labels.*.name, 'Build') || github.event_name == 'push'}}
5353
runs-on: ubuntu-24.04
54-
strategy:
55-
matrix:
56-
python-version: ['3.10', '3.11']
57-
fail-fast: false
58-
name: Test Conda Forge Recipe - Python ${{ matrix.python-version }}
54+
name: Test Conda Forge Recipe
5955
concurrency:
6056
# https://github.community/t/concurrecy-not-work-for-push/183068/7
61-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-conda-forge-recipe-${{ matrix.python-version }}
57+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-conda-forge-recipe
6258
cancel-in-progress: true
6359
steps:
6460
- name: Checkout
@@ -71,7 +67,7 @@ jobs:
7167
with:
7268
environment-name: recipe-test
7369
create-args: >-
74-
python=${{ matrix.python-version }}
70+
python=3.11
7571
boa
7672
conda-verify
7773
cache-downloads: true

.github/workflows/unit-tests.yml

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,30 @@ jobs:
2727
strategy:
2828
matrix:
2929
platform: [ubuntu-24.04, ubuntu-24.04-arm]
30-
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml]
30+
env_file: [actions-311.yaml, actions-312.yaml, actions-313.yaml]
3131
# Prevent the include jobs from overriding other jobs
3232
pattern: [""]
33-
pandas_future_infer_string: ["0"]
33+
pandas_future_infer_string: ["1"]
3434
include:
3535
- name: "Downstream Compat"
36-
env_file: actions-311-downstream_compat.yaml
36+
env_file: actions-313-downstream_compat.yaml
3737
pattern: "not slow and not network and not single_cpu"
3838
pytest_target: "pandas/tests/test_downstream.py"
3939
platform: ubuntu-24.04
4040
- name: "Minimum Versions"
41-
env_file: actions-310-minimum_versions.yaml
41+
env_file: actions-311-minimum_versions.yaml
4242
pattern: "not slow and not network and not single_cpu"
4343
platform: ubuntu-24.04
4444
- name: "Freethreading"
4545
env_file: actions-313-freethreading.yaml
4646
pattern: "not slow and not network and not single_cpu"
4747
platform: ubuntu-24.04
48+
- name: "Without PyArrow"
49+
env_file: actions-312.yaml
50+
pattern: "not slow and not network and not single_cpu"
51+
platform: ubuntu-24.04
4852
- name: "Locale: it_IT"
49-
env_file: actions-311.yaml
53+
env_file: actions-313.yaml
5054
pattern: "not slow and not network and not single_cpu"
5155
extra_apt: "language-pack-it"
5256
# Use the utf8 version as the default, it has no bad side-effect.
@@ -57,7 +61,7 @@ jobs:
5761
extra_loc: "it_IT"
5862
platform: ubuntu-24.04
5963
- name: "Locale: zh_CN"
60-
env_file: actions-311.yaml
64+
env_file: actions-313.yaml
6165
pattern: "not slow and not network and not single_cpu"
6266
extra_apt: "language-pack-zh-hans"
6367
# Use the utf8 version as the default, it has no bad side-effect.
@@ -67,28 +71,18 @@ jobs:
6771
# It will be temporarily activated during tests with locale.setlocale
6872
extra_loc: "zh_CN"
6973
platform: ubuntu-24.04
70-
- name: "Future infer strings"
71-
env_file: actions-312.yaml
72-
pandas_future_infer_string: "1"
73-
platform: ubuntu-24.04
74-
- name: "Future infer strings (without pyarrow)"
75-
env_file: actions-311.yaml
76-
pandas_future_infer_string: "1"
77-
platform: ubuntu-24.04
78-
- name: "Pypy"
79-
env_file: actions-pypy-39.yaml
80-
pattern: "not slow and not network and not single_cpu"
81-
test_args: "--max-worker-restart 0"
74+
- name: "PANDAS_FUTURE_INFER_STRING=0"
75+
env_file: actions-313.yaml
76+
pandas_future_infer_string: "0"
8277
platform: ubuntu-24.04
8378
- name: "Numpy Dev"
84-
env_file: actions-311-numpydev.yaml
79+
env_file: actions-313-numpydev.yaml
8580
pattern: "not slow and not network and not single_cpu"
8681
test_args: "-W error::DeprecationWarning -W error::FutureWarning"
8782
platform: ubuntu-24.04
8883
- name: "Pyarrow Nightly"
89-
env_file: actions-311-pyarrownightly.yaml
84+
env_file: actions-313-pyarrownightly.yaml
9085
pattern: "not slow and not network and not single_cpu"
91-
pandas_future_infer_string: "1"
9286
platform: ubuntu-24.04
9387
fail-fast: false
9488
name: ${{ matrix.name || format('{0} {1}', matrix.platform, matrix.env_file) }}
@@ -97,13 +91,13 @@ jobs:
9791
LANG: ${{ matrix.lang || 'C.UTF-8' }}
9892
LC_ALL: ${{ matrix.lc_all || '' }}
9993
PANDAS_CI: '1'
100-
PANDAS_FUTURE_INFER_STRING: ${{ matrix.pandas_future_infer_string || '0' }}
94+
PANDAS_FUTURE_INFER_STRING: ${{ matrix.pandas_future_infer_string || '1' }}
10195
TEST_ARGS: ${{ matrix.test_args || '' }}
10296
PYTEST_WORKERS: 'auto'
10397
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
10498
# Clipboard tests
10599
QT_QPA_PLATFORM: offscreen
106-
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
100+
REMOVE_PYARROW: ${{ matrix.name == 'Without PyArrow' && '1' || '0' }}
107101
concurrency:
108102
# https://github.community/t/concurrecy-not-work-for-push/183068/7
109103
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 }}
@@ -140,9 +134,6 @@ jobs:
140134

141135
moto:
142136
image: motoserver/moto:5.0.27
143-
env:
144-
AWS_ACCESS_KEY_ID: foobar_key
145-
AWS_SECRET_ACCESS_KEY: foobar_secret
146137
ports:
147138
- 5000:5000
148139

@@ -172,12 +163,9 @@ jobs:
172163
with:
173164
# xref https://github.com/cython/cython/issues/6870
174165
werror: ${{ matrix.name != 'Freethreading' }}
175-
# TODO: Re-enable once Pypy has Pypy 3.10 on conda-forge
176-
if: ${{ matrix.name != 'Pypy' }}
177166

178167
- name: Test (not single_cpu)
179168
uses: ./.github/actions/run-tests
180-
if: ${{ matrix.name != 'Pypy' }}
181169
env:
182170
# Set pattern to not single_cpu if not already set
183171
PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }}
@@ -195,7 +183,7 @@ jobs:
195183
matrix:
196184
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
197185
os: [macos-13, macos-14, windows-latest]
198-
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml]
186+
env_file: [actions-311.yaml, actions-312.yaml, actions-313.yaml]
199187
fail-fast: false
200188
runs-on: ${{ matrix.os }}
201189
name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }}

.github/workflows/wheels.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ jobs:
101101
- [macos-14, macosx_arm64]
102102
- [windows-2022, win_amd64]
103103
- [windows-11-arm, win_arm64]
104-
# TODO: support PyPy?
105-
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
104+
python: [["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
106105
include:
107106
# Build Pyodide wheels and upload them to Anaconda.org
108107
# NOTE: this job is similar to the one in unit-tests.yml except for the fact
@@ -111,8 +110,6 @@ jobs:
111110
python: ["cp312", "3.12"]
112111
cibw_build_frontend: 'build'
113112
exclude:
114-
- buildplat: [windows-11-arm, win_arm64]
115-
python: ["cp310", "3.10"]
116113
# BackendUnavailable: Cannot import 'mesonpy'
117114
- buildplat: [windows-11-arm, win_arm64]
118115
python: ["cp313t", "3.13"]
@@ -163,7 +160,7 @@ jobs:
163160
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
164161

165162
- name: Build wheels
166-
uses: pypa/cibuildwheel@v2.23.3
163+
uses: pypa/cibuildwheel@v3.1.3
167164
with:
168165
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
169166
env:
@@ -192,7 +189,7 @@ jobs:
192189
# installing wheel here because micromamba step was skipped
193190
if: matrix.buildplat[1] == 'win_arm64'
194191
shell: bash -el {0}
195-
run: python -m pip install wheel
192+
run: python -m pip install wheel anaconda-client
196193

197194
- name: Validate wheel RECORD
198195
shell: bash -el {0}

.pre-commit-config.yaml

Lines changed: 7 additions & 8 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.11.12
22+
rev: v0.12.7
2323
hooks:
2424
- id: ruff
2525
args: [--exit-non-zero-on-fix]
@@ -45,9 +45,8 @@ repos:
4545
hooks:
4646
- id: codespell
4747
types_or: [python, rst, markdown, cython, c]
48-
additional_dependencies: [tomli]
4948
- repo: https://github.com/MarcoGorelli/cython-lint
50-
rev: v0.16.6
49+
rev: v0.16.7
5150
hooks:
5251
- id: cython-lint
5352
- id: double-quote-cython-strings
@@ -77,7 +76,7 @@ repos:
7776
rev: v3.20.0
7877
hooks:
7978
- id: pyupgrade
80-
args: [--py310-plus]
79+
args: [--py311-plus]
8180
- repo: https://github.com/pre-commit/pygrep-hooks
8281
rev: v1.10.0
8382
hooks:
@@ -95,14 +94,14 @@ repos:
9594
- id: sphinx-lint
9695
args: ["--enable", "all", "--disable", "line-too-long"]
9796
- repo: https://github.com/pre-commit/mirrors-clang-format
98-
rev: v20.1.5
97+
rev: v20.1.8
9998
hooks:
10099
- id: clang-format
101100
files: ^pandas/_libs/src|^pandas/_libs/include
102101
args: [-i]
103102
types_or: [c, c++]
104103
- repo: https://github.com/trim21/pre-commit-mirror-meson
105-
rev: v1.8.1
104+
rev: v1.8.3
106105
hooks:
107106
- id: meson-fmt
108107
args: ['--inplace']
@@ -235,7 +234,7 @@ repos:
235234
entry: python scripts/generate_pip_deps_from_conda.py
236235
files: ^(environment.yml|requirements-dev.txt)$
237236
pass_filenames: false
238-
additional_dependencies: [tomli, pyyaml]
237+
additional_dependencies: [pyyaml]
239238
- id: title-capitalization
240239
name: Validate correct capitalization among titles in documentation
241240
entry: python scripts/validate_rst_title_capitalization.py
@@ -290,7 +289,7 @@ repos:
290289
entry: python -m scripts.validate_min_versions_in_sync
291290
language: python
292291
files: ^(ci/deps/actions-.*-minimum_versions\.yaml|pandas/compat/_optional\.py)$
293-
additional_dependencies: [tomli, pyyaml]
292+
additional_dependencies: [pyyaml]
294293
pass_filenames: false
295294
- id: validate-errors-locations
296295
name: Validate errors locations

AUTHORS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ About the Copyright Holders
77
led by Wes McKinney. AQR released the source under this license in 2009.
88
* Copyright (c) 2011-2012, Lambda Foundry, Inc.
99

10-
Wes is now an employee of Lambda Foundry, and remains the pandas project
10+
Wes became an employee of Lambda Foundry, and remained the pandas project
1111
lead.
1212
* Copyright (c) 2011-2012, PyData Development Team
1313

1414
The PyData Development Team is the collection of developers of the PyData
15-
project. This includes all of the PyData sub-projects, including pandas. The
15+
project. This includes all of the PyData sub-projects, such as pandas. The
1616
core team that coordinates development on GitHub can be found here:
1717
https://github.com/pydata.
1818

@@ -23,11 +23,11 @@ Our Copyright Policy
2323

2424
PyData uses a shared copyright model. Each contributor maintains copyright
2525
over their contributions to PyData. However, it is important to note that
26-
these contributions are typically only changes to the repositories. Thus,
26+
these contributions are typically limited to changes to the repositories. Thus,
2727
the PyData source code, in its entirety, is not the copyright of any single
2828
person or institution. Instead, it is the collective copyright of the
2929
entire PyData Development Team. If individual contributors want to maintain
30-
a record of what changes/contributions they have specific copyright on,
30+
a record of the specific changes or contributions they hold copyright to,
3131
they should indicate their copyright in the commit message of the change
3232
when they commit the change to one of the PyData repositories.
3333

@@ -50,7 +50,7 @@ Other licenses can be found in the LICENSES directory.
5050
License
5151
=======
5252

53-
pandas is distributed under a 3-clause ("Simplified" or "New") BSD
53+
pandas is distributed under the 3-clause ("Simplified" or "New") BSD
5454
license. Parts of NumPy, SciPy, numpydoc, bottleneck, which all have
55-
BSD-compatible licenses, are included. Their licenses follow the pandas
55+
BSD-compatible licenses, are included. Their licenses are compatible with the pandas
5656
license.

0 commit comments

Comments
 (0)