Skip to content

Commit 4dd0aa8

Browse files
Merge remote-tracking branch 'upstream/main' into tst-str-2
2 parents d89766b + 9a015d1 commit 4dd0aa8

File tree

397 files changed

+9093
-4762
lines changed

Some content is hidden

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

397 files changed

+9093
-4762
lines changed

.circleci/config.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
if pip show pandas 1>/dev/null; then
3333
pip uninstall -y pandas
3434
fi
35-
python -m pip install --no-build-isolation -ve . --config-settings=setup-args="--werror"
35+
python -m pip install --no-build-isolation -ve . -Csetup-args="--werror"
3636
PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH
3737
sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
3838
ci/run_tests.sh
@@ -57,7 +57,7 @@ jobs:
5757
. ~/virtualenvs/pandas-dev/bin/activate
5858
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
5959
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
60-
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
60+
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
6161
python -m pip list --no-cache-dir
6262
export PANDAS_CI=1
6363
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
@@ -92,7 +92,13 @@ jobs:
9292
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
9393
command: |
9494
pip3 install cibuildwheel==2.20.0
95-
cibuildwheel --output-dir wheelhouse
95+
if [[ $CIBW_BUILD == cp313t* ]]; then
96+
# TODO: temporarily run 3.13 free threaded builds without build isolation
97+
# since we need pre-release cython
98+
CIBW_BUILD_FRONTEND="pip; args: --no-build-isolation" cibuildwheel --output-dir wheelhouse
99+
else
100+
cibuildwheel --output-dir wheelhouse
101+
fi
96102
97103
environment:
98104
CIBW_BUILD: << parameters.cibw-build >>
@@ -141,6 +147,10 @@ workflows:
141147
cibw-build: ["cp310-manylinux_aarch64",
142148
"cp311-manylinux_aarch64",
143149
"cp312-manylinux_aarch64",
150+
"cp313-manylinux_aarch64",
151+
"cp313t-manylinux_aarch64",
144152
"cp310-musllinux_aarch64",
145153
"cp311-musllinux_aarch64",
146-
"cp312-musllinux_aarch64",]
154+
"cp312-musllinux_aarch64",
155+
"cp313-musllinux_aarch64",
156+
"cp313t-musllinux_aarch64"]

.github/actions/build_pandas/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ runs:
2626
run: |
2727
if [[ ${{ inputs.editable }} == "true" ]]; then
2828
pip install -e . --no-build-isolation -v --no-deps \
29-
--config-settings=setup-args="--werror"
29+
-Csetup-args="--werror"
3030
else
3131
pip install . --no-build-isolation -v --no-deps \
32-
--config-settings=setup-args="--werror"
32+
-Csetup-args="--werror"
3333
fi
3434
shell: bash -el {0}

.github/workflows/code-checks.yml

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

1313
env:
1414
ENV_FILE: environment.yml

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

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

1515
env:
1616
ENV_FILE: environment.yml

.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.2.x
7+
- 2.3.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.2.x
11+
- 2.3.x
1212
types: [ labeled, opened, synchronize, reopened ]
1313

1414
permissions:
@@ -67,7 +67,7 @@ jobs:
6767
fetch-depth: 0
6868

6969
- name: Set up Python
70-
uses: mamba-org/setup-micromamba@v1
70+
uses: mamba-org/setup-micromamba@v2
7171
with:
7272
environment-name: recipe-test
7373
create-args: >-

.github/workflows/unit-tests.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.2.x
7+
- 2.3.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.2.x
11+
- 2.3.x
1212
paths-ignore:
1313
- "doc/**"
1414
- "web/**"
@@ -86,7 +86,6 @@ jobs:
8686
TEST_ARGS: ${{ matrix.test_args || '' }}
8787
PYTEST_WORKERS: 'auto'
8888
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
89-
NPY_PROMOTION_STATE: ${{ matrix.env_file == 'actions-311-numpydev.yaml' && 'weak' || 'legacy' }}
9089
# Clipboard tests
9190
QT_QPA_PLATFORM: offscreen
9291
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
@@ -235,9 +234,9 @@ jobs:
235234
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
236235
. ~/virtualenvs/pandas-dev/bin/activate
237236
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
238-
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
237+
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
239238
python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
240-
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
239+
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
241240
python -m pip list --no-cache-dir
242241
export PANDAS_CI=1
243242
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
@@ -275,7 +274,7 @@ jobs:
275274
. ~/virtualenvs/pandas-dev/bin/activate
276275
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
277276
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
278-
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
277+
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
279278
python -m pip list --no-cache-dir
280279
281280
- name: Run Tests
@@ -349,7 +348,7 @@ jobs:
349348
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
350349
python -m pip install versioneer[toml]
351350
python -m pip install python-dateutil tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
352-
python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror"
351+
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
353352
python -m pip list
354353
355354
- name: Run Tests
@@ -380,7 +379,7 @@ jobs:
380379
fetch-depth: 0
381380

382381
- name: Set up Python Free-threading Version
383-
uses: deadsnakes/action@v3.1.0
382+
uses: deadsnakes/action@v3.2.0
384383
with:
385384
python-version: 3.13-dev
386385
nogil: true
@@ -392,7 +391,7 @@ jobs:
392391
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython
393392
python -m pip install versioneer[toml]
394393
python -m pip install python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
395-
python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror"
394+
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
396395
python -m pip list
397396
398397
- name: Run Tests

.github/workflows/wheels.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,7 @@ jobs:
102102
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
103103
include:
104104
# TODO: Remove this plus installing build deps in cibw_before_build.sh
105-
# and test deps in cibw_before_test.sh after pandas can be built with a released NumPy/Cython
106-
- python: ["cp313", "3.13"]
107-
cibw_build_frontend: 'pip; args: --no-build-isolation'
105+
# after pandas can be built with a released NumPy/Cython
108106
- python: ["cp313t", "3.13"]
109107
cibw_build_frontend: 'pip; args: --no-build-isolation'
110108
# Build Pyodide wheels and upload them to Anaconda.org
@@ -158,7 +156,7 @@ jobs:
158156
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
159157

160158
- name: Build wheels
161-
uses: pypa/cibuildwheel@v2.20.0
159+
uses: pypa/cibuildwheel@v2.21.3
162160
with:
163161
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
164162
env:
@@ -167,7 +165,7 @@ jobs:
167165
CIBW_PLATFORM: ${{ matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide' || 'auto' }}
168166

169167
- name: Set up Python
170-
uses: mamba-org/setup-micromamba@v1
168+
uses: mamba-org/setup-micromamba@v2
171169
with:
172170
environment-name: wheel-env
173171
# Use a fixed Python, since we might have an unreleased Python not
@@ -187,11 +185,9 @@ jobs:
187185
- name: Test Windows Wheels
188186
if: ${{ matrix.buildplat[1] == 'win_amd64' }}
189187
shell: pwsh
190-
# TODO: Remove NumPy nightly install when there's a 3.13 wheel on PyPI
191188
run: |
192189
$TST_CMD = @"
193190
python -m pip install hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0;
194-
${{ matrix.python[1] == '3.13' && 'python -m pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy;' }}
195191
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
196192
python -c `'import pandas as pd; pd.test(extra_args=[`\"--no-strict-data-files`\", `\"-m not clipboard and not single_cpu and not slow and not network and not db`\"])`';
197193
"@

.gitpod.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ tasks:
1313
mkdir -p .vscode
1414
cp gitpod/settings.json .vscode/settings.json
1515
git fetch --tags
16-
python -m pip install -ve . --no-build-isolation --config-settings editable-verbose=true
16+
python -m pip install -ve . --no-build-isolation -Ceditable-verbose=true
1717
pre-commit install --install-hooks
1818
command: |
19-
python -m pip install -ve . --no-build-isolation --config-settings editable-verbose=true
19+
python -m pip install -ve . --no-build-isolation -Ceditable-verbose=true
2020
echo "✨ Pre-build complete! You can close this terminal ✨ "
2121
2222
# --------------------------------------------------------

.pre-commit-config.yaml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ minimum_pre_commit_version: 2.15.0
22
exclude: ^LICENSES/|\.(html|csv|svg)$
33
# reserve "manual" for relatively slow hooks which we still want to run in CI
44
default_stages: [
5-
commit,
6-
merge-commit,
7-
push,
5+
pre-commit,
6+
pre-merge-commit,
7+
pre-push,
88
prepare-commit-msg,
99
commit-msg,
1010
post-checkout,
@@ -19,10 +19,11 @@ ci:
1919
skip: [pyright, mypy]
2020
repos:
2121
- repo: https://github.com/astral-sh/ruff-pre-commit
22-
rev: v0.5.0
22+
rev: v0.6.9
2323
hooks:
2424
- id: ruff
2525
args: [--exit-non-zero-on-fix]
26+
exclude: ^pandas/tests/frame/test_query_eval.py
2627
- id: ruff
2728
# TODO: remove autofixe-only rules when they are checked by ruff
2829
name: ruff-selected-autofixes
@@ -31,9 +32,9 @@ repos:
3132
exclude: ^pandas/tests
3233
args: [--select, "ANN001,ANN2", --fix-only, --exit-non-zero-on-fix]
3334
- id: ruff-format
34-
exclude: ^scripts
35+
exclude: ^scripts|^pandas/tests/frame/test_query_eval.py
3536
- repo: https://github.com/jendrikseipp/vulture
36-
rev: 'v2.11'
37+
rev: 'v2.13'
3738
hooks:
3839
- id: vulture
3940
entry: python scripts/run_vulture.py
@@ -51,7 +52,7 @@ repos:
5152
- id: cython-lint
5253
- id: double-quote-cython-strings
5354
- repo: https://github.com/pre-commit/pre-commit-hooks
54-
rev: v4.6.0
55+
rev: v5.0.0
5556
hooks:
5657
- id: check-case-conflict
5758
- id: check-toml
@@ -73,7 +74,7 @@ repos:
7374
hooks:
7475
- id: isort
7576
- repo: https://github.com/asottile/pyupgrade
76-
rev: v3.16.0
77+
rev: v3.17.0
7778
hooks:
7879
- id: pyupgrade
7980
args: [--py310-plus]
@@ -85,15 +86,16 @@ repos:
8586
types: [text] # overwrite types: [rst]
8687
types_or: [python, rst]
8788
- id: rst-inline-touching-normal
89+
exclude: ^pandas/tests/frame/test_query_eval.py
8890
types: [text] # overwrite types: [rst]
8991
types_or: [python, rst]
9092
- repo: https://github.com/sphinx-contrib/sphinx-lint
91-
rev: v0.9.1
93+
rev: v1.0.0
9294
hooks:
9395
- id: sphinx-lint
9496
args: ["--enable", "all", "--disable", "line-too-long"]
9597
- repo: https://github.com/pre-commit/mirrors-clang-format
96-
rev: v18.1.8
98+
rev: v19.1.1
9799
hooks:
98100
- id: clang-format
99101
files: ^pandas/_libs/src|^pandas/_libs/include
@@ -110,7 +112,7 @@ repos:
110112
types: [python]
111113
stages: [manual]
112114
additional_dependencies: &pyright_dependencies
113-
115+
114116
- id: pyright
115117
# note: assumes python env is setup and activated
116118
name: pyright reportGeneralTypeIssues

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,3 @@ graft pandas/_libs/include
6565

6666
# Include cibw script in sdist since it's needed for building wheels
6767
include scripts/cibw_before_build.sh
68-
include scripts/cibw_before_test.sh

0 commit comments

Comments
 (0)