Skip to content

Commit 589b2a3

Browse files
Merge remote-tracking branch 'upstream/main' into cow-index-shallow-copy
2 parents dff37fe + 1d56672 commit 589b2a3

File tree

1,308 files changed

+79150
-52246
lines changed

Some content is hidden

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

1,308 files changed

+79150
-52246
lines changed

.circleci/config.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,15 @@ jobs:
4646
fi
4747
- run:
4848
name: Build aarch64 wheels
49+
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
4950
command: |
50-
pip3 install cibuildwheel==2.12.1
51-
cibuildwheel --output-dir wheelhouse
51+
pip3 install cibuildwheel==2.15.0
52+
# When this is a nightly wheel build, allow picking up NumPy 2.0 dev wheels:
53+
if [[ "$IS_SCHEDULE_DISPATCH" == "true" || "$IS_PUSH" != 'true' ]]; then
54+
export CIBW_ENVIRONMENT="PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
55+
fi
56+
cibuildwheel --prerelease-pythons --output-dir wheelhouse
57+
5258
environment:
5359
CIBW_BUILD: << parameters.cibw-build >>
5460

@@ -91,4 +97,4 @@ workflows:
9197
only: /^v.*/
9298
matrix:
9399
parameters:
94-
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]
100+
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64", "cp312-manylinux_aarch64"]

.circleci/setup_env.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ source activate pandas-dev
4848
# downstream CI jobs that may also build pandas from source.
4949
export PANDAS_CI=1
5050

51-
if pip list | grep -q ^pandas; then
51+
if pip show pandas 1>/dev/null; then
5252
echo
5353
echo "remove any installed pandas package w/o removing anything else"
54-
pip uninstall -y pandas || true
54+
pip uninstall -y pandas
5555
fi
5656

5757
echo "Install pandas"

.gitattributes

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,71 @@
1414
*.xls binary
1515
*.xlsx binary
1616
pandas/_version.py export-subst
17+
18+
19+
*.bz2 export-ignore
20+
*.csv export-ignore
21+
*.data export-ignore
22+
*.dta export-ignore
23+
*.feather export-ignore
24+
*.tar export-ignore
25+
*.gz export-ignore
26+
*.h5 export-ignore
27+
*.html export-ignore
28+
*.json export-ignore
29+
*.jsonl export-ignore
30+
*.kml export-ignore
31+
*.msgpack export-ignore
32+
*.pdf export-ignore
33+
*.parquet export-ignore
34+
*.pickle export-ignore
35+
*.pkl export-ignore
36+
*.png export-ignore
37+
*.pptx export-ignore
38+
*.ods export-ignore
39+
*.odt export-ignore
40+
*.orc export-ignore
41+
*.sas7bdat export-ignore
42+
*.sav export-ignore
43+
*.so export-ignore
44+
*.txt export-ignore
45+
*.xls export-ignore
46+
*.xlsb export-ignore
47+
*.xlsm export-ignore
48+
*.xlsx export-ignore
49+
*.xpt export-ignore
50+
*.cpt export-ignore
51+
*.xml export-ignore
52+
*.xsl export-ignore
53+
*.xz export-ignore
54+
*.zip export-ignore
55+
*.zst export-ignore
56+
*~ export-ignore
57+
.DS_Store export-ignore
58+
.git* export-ignore
59+
60+
*.py[ocd] export-ignore
61+
*.pxi export-ignore
62+
63+
# Ignoring stuff from the top level
64+
.circleci export-ignore
65+
.github export-ignore
66+
asv_bench export-ignore
67+
ci export-ignore
68+
doc export-ignore
69+
gitpod export-ignore
70+
MANIFEST.in export-ignore
71+
scripts export-ignore
72+
typings export-ignore
73+
web export-ignore
74+
CITATION.cff export-ignore
75+
codecov.yml export-ignore
76+
Dockerfile export-ignore
77+
environment.yml export-ignore
78+
setup.py export-ignore
79+
80+
81+
# GH 39321
82+
# csv_dir_path fixture checks the existence of the directory
83+
# exclude the whole directory to avoid running related tests in sdist
84+
pandas/tests/io/parser/data export-ignore

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ web/ @datapythonista
99

1010
# docs
1111
doc/cheatsheet @Dr-Irv
12+
doc/source/development @noatamir
1213

1314
# pandas
1415
pandas/_libs/ @WillAyd

.github/actions/build_pandas/action.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,21 @@ runs:
1212
run: |
1313
micromamba info
1414
micromamba list
15+
pip list --pre
16+
shell: bash -el {0}
17+
18+
- name: Uninstall existing Pandas installation
19+
run: |
20+
if pip show pandas 1>/dev/null; then
21+
pip uninstall -y pandas
22+
fi
1523
shell: bash -el {0}
1624

1725
- name: Build Pandas
1826
run: |
1927
if [[ ${{ inputs.editable }} == "true" ]]; then
20-
pip install -e . --no-build-isolation -v
28+
pip install -e . --no-build-isolation -v --no-deps
2129
else
22-
pip install . --no-build-isolation -v
30+
pip install . --no-build-isolation -v --no-deps
2331
fi
2432
shell: bash -el {0}

.github/workflows/autoupdate-pre-commit-config.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Linkcheck
2+
on:
3+
schedule:
4+
# Run monthly on the 1st day of the month
5+
- cron: '0 0 1 * *'
6+
pull_request:
7+
paths:
8+
- ".github/workflows/broken-linkcheck.yml"
9+
- "doc/make.py"
10+
jobs:
11+
linkcheck:
12+
runs-on: ubuntu-latest
13+
defaults:
14+
run:
15+
shell: bash -el {0}
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Set up Conda
24+
uses: ./.github/actions/setup-conda
25+
26+
- name: Build Pandas
27+
uses: ./.github/actions/build_pandas
28+
29+
- name: Run linkcheck script
30+
working-directory: ./doc
31+
run: |
32+
set -o pipefail
33+
python make.py linkcheck | tee linkcheck.txt
34+
35+
- name: Display broken links
36+
if: failure()
37+
working-directory: ./doc
38+
run: grep broken linkcheck.txt
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Purge caches once a week
2+
on:
3+
schedule:
4+
# 4:10 UTC on Sunday
5+
- cron: "10 4 * * 0"
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
if: github.repository_owner == 'pandas-dev'
11+
permissions:
12+
actions: write
13+
steps:
14+
- name: Clean Cache
15+
run: |
16+
gh extension install actions/gh-actions-cache
17+
18+
REPO=${{ github.repository }}
19+
20+
echo "Fetching list of cache key"
21+
allCaches=$(gh actions-cache list -L 100 -R $REPO | cut -f 1 )
22+
23+
## Setting this to not fail the workflow while deleting cache keys.
24+
set +e
25+
echo "Deleting caches..."
26+
for cacheKey in $allCaches
27+
do
28+
gh actions-cache delete $cacheKey -R $REPO --confirm
29+
done
30+
echo "Done"
31+
env:
32+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/code-checks.yml

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

1313
env:
1414
ENV_FILE: environment.yml
@@ -17,28 +17,8 @@ env:
1717
permissions:
1818
contents: read
1919

20+
# pre-commit run by https://pre-commit.ci/
2021
jobs:
21-
pre_commit:
22-
name: pre-commit
23-
runs-on: ubuntu-22.04
24-
concurrency:
25-
# https://github.community/t/concurrecy-not-work-for-push/183068/7
26-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-pre-commit
27-
cancel-in-progress: true
28-
steps:
29-
- name: Checkout
30-
uses: actions/checkout@v3
31-
32-
- name: Install Python
33-
uses: actions/setup-python@v4
34-
with:
35-
python-version: '3.9'
36-
37-
- name: Run pre-commit
38-
uses: pre-commit/action@v3.0.0
39-
with:
40-
extra_args: --verbose --all-files
41-
4222
docstring_typing_manual_hooks:
4323
name: Docstring validation, typing, and other manual pre-commit hooks
4424
runs-on: ubuntu-22.04
@@ -53,7 +33,7 @@ jobs:
5333

5434
steps:
5535
- name: Checkout
56-
uses: actions/checkout@v3
36+
uses: actions/checkout@v4
5737
with:
5838
fetch-depth: 0
5939

@@ -129,7 +109,7 @@ jobs:
129109

130110
steps:
131111
- name: Checkout
132-
uses: actions/checkout@v3
112+
uses: actions/checkout@v4
133113
with:
134114
fetch-depth: 0
135115

@@ -144,7 +124,7 @@ jobs:
144124
run: |
145125
cd asv_bench
146126
asv machine --yes
147-
asv run --quick --dry-run --strict --durations=30 --python=same
127+
asv run --quick --dry-run --durations=30 --python=same --show-stderr
148128
149129
build_docker_dev_environment:
150130
name: Build Docker Dev Environment
@@ -163,7 +143,7 @@ jobs:
163143
run: docker image prune -f
164144

165145
- name: Checkout
166-
uses: actions/checkout@v3
146+
uses: actions/checkout@v4
167147
with:
168148
fetch-depth: 0
169149

@@ -184,7 +164,7 @@ jobs:
184164

185165
steps:
186166
- name: Checkout
187-
uses: actions/checkout@v3
167+
uses: actions/checkout@v4
188168
with:
189169
fetch-depth: 0
190170

.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@v3
30+
- uses: actions/checkout@v4
3131
- uses: github/codeql-action/init@v2
3232
with:
3333
languages: ${{ matrix.language }}

0 commit comments

Comments
 (0)