Skip to content

Commit bda7031

Browse files
Merge branch 'main' into round
2 parents 70ebf5a + 0e2277b commit bda7031

File tree

820 files changed

+39074
-27308
lines changed

Some content is hidden

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

820 files changed

+39074
-27308
lines changed

.circleci/config.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,13 @@ jobs:
4848
name: Build aarch64 wheels
4949
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
5050
command: |
51-
pip3 install cibuildwheel==2.14.1
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
5256
cibuildwheel --prerelease-pythons --output-dir wheelhouse
57+
5358
environment:
5459
CIBW_BUILD: << parameters.cibw-build >>
5560

@@ -92,5 +97,4 @@ workflows:
9297
only: /^v.*/
9398
matrix:
9499
parameters:
95-
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
96-
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]#, "cp312-manylinux_aarch64"]
100+
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64", "cp312-manylinux_aarch64"]

.github/actions/build_pandas/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ runs:
2525
- name: Build Pandas
2626
run: |
2727
if [[ ${{ inputs.editable }} == "true" ]]; then
28-
pip install -e . --no-build-isolation -v
28+
pip install -e . --no-build-isolation -v --no-deps
2929
else
30-
pip install . --no-build-isolation -v
30+
pip install . --no-build-isolation -v --no-deps
3131
fi
3232
shell: bash -el {0}

.github/workflows/code-checks.yml

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

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

@@ -109,7 +109,7 @@ jobs:
109109

110110
steps:
111111
- name: Checkout
112-
uses: actions/checkout@v3
112+
uses: actions/checkout@v4
113113
with:
114114
fetch-depth: 0
115115

@@ -124,7 +124,7 @@ jobs:
124124
run: |
125125
cd asv_bench
126126
asv machine --yes
127-
asv run --quick --dry-run --durations=30 --python=same
127+
asv run --quick --dry-run --durations=30 --python=same --show-stderr
128128
129129
build_docker_dev_environment:
130130
name: Build Docker Dev Environment
@@ -143,7 +143,7 @@ jobs:
143143
run: docker image prune -f
144144

145145
- name: Checkout
146-
uses: actions/checkout@v3
146+
uses: actions/checkout@v4
147147
with:
148148
fetch-depth: 0
149149

@@ -164,7 +164,7 @@ jobs:
164164

165165
steps:
166166
- name: Checkout
167-
uses: actions/checkout@v3
167+
uses: actions/checkout@v4
168168
with:
169169
fetch-depth: 0
170170

.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 }}

.github/workflows/comment-commands.yml

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

5252
steps:
5353
- name: Checkout
54-
uses: actions/checkout@v3
54+
uses: actions/checkout@v4
5555
with:
5656
fetch-depth: 0
5757

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

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

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

@@ -67,7 +67,7 @@ jobs:
6767
run: cp doc/cheatsheet/Pandas_Cheat_Sheet* web/build/
6868

6969
- name: Upload web
70-
run: rsync -az --delete --exclude='pandas-docs' --exclude='docs' web/build/ web@${{ secrets.server_ip }}:/var/www/html
70+
run: rsync -az --delete --exclude='pandas-docs' --exclude='docs' --exclude='benchmarks' web/build/ web@${{ secrets.server_ip }}:/var/www/html
7171
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
7272

7373
- name: Upload dev docs

.github/workflows/package-checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
runs-on: ubuntu-22.04
2525
strategy:
2626
matrix:
27-
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output_formatting", "clipboard", "compression", "consortium-standard", "all"]
27+
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output-formatting", "clipboard", "compression", "consortium-standard", "all"]
2828
fail-fast: false
2929
name: Install Extras - ${{ matrix.extra }}
3030
concurrency:
@@ -34,7 +34,7 @@ jobs:
3434

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

@@ -62,7 +62,7 @@ jobs:
6262
cancel-in-progress: true
6363
steps:
6464
- name: Checkout
65-
uses: actions/checkout@v3
65+
uses: actions/checkout@v4
6666
with:
6767
fetch-depth: 0
6868

.github/workflows/unit-tests.yml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ jobs:
6969
env_file: actions-311.yaml
7070
pattern: "not slow and not network and not single_cpu"
7171
pandas_copy_on_write: "1"
72+
- name: "Copy-on-Write 3.11 (warnings)"
73+
env_file: actions-311.yaml
74+
pattern: "not slow and not network and not single_cpu"
75+
pandas_copy_on_write: "warn"
7276
- name: "Pypy"
7377
env_file: actions-pypy-39.yaml
7478
pattern: "not slow and not network and not single_cpu"
@@ -94,7 +98,7 @@ jobs:
9498
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
9599
concurrency:
96100
# https://github.community/t/concurrecy-not-work-for-push/183068/7
97-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}
101+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_copy_on_write || '' }}
98102
cancel-in-progress: true
99103

100104
services:
@@ -136,7 +140,7 @@ jobs:
136140

137141
steps:
138142
- name: Checkout
139-
uses: actions/checkout@v3
143+
uses: actions/checkout@v4
140144
with:
141145
fetch-depth: 0
142146

@@ -194,7 +198,7 @@ jobs:
194198

195199
steps:
196200
- name: Checkout
197-
uses: actions/checkout@v3
201+
uses: actions/checkout@v4
198202
with:
199203
fetch-depth: 0
200204

@@ -230,11 +234,13 @@ jobs:
230234
git -c user.email="[email protected]" merge --no-commit my_ref_name
231235
fi
232236
- name: Build environment and Run Tests
237+
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
233238
run: |
234239
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
235240
. ~/virtualenvs/pandas-dev/bin/activate
236-
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.0.1 meson-python==0.13.1
237-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.1" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
241+
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
242+
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
243+
python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
238244
python -m pip install --no-cache-dir --no-build-isolation -e .
239245
python -m pip list --no-cache-dir
240246
export PANDAS_CI=1
@@ -271,8 +277,8 @@ jobs:
271277
run: |
272278
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
273279
. ~/virtualenvs/pandas-dev/bin/activate
274-
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.0.1
275-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.1" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
280+
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
281+
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 hypothesis>=6.46.1
276282
python -m pip install --no-cache-dir --no-build-isolation -e .
277283
python -m pip list --no-cache-dir
278284
@@ -330,7 +336,7 @@ jobs:
330336
PYTEST_TARGET: pandas
331337

332338
steps:
333-
- uses: actions/checkout@v3
339+
- uses: actions/checkout@v4
334340
with:
335341
fetch-depth: 0
336342

@@ -342,11 +348,11 @@ jobs:
342348
- name: Build Environment
343349
run: |
344350
python --version
345-
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.0.1 meson-python==0.13.1
351+
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
346352
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
347353
python -m pip install versioneer[toml]
348-
python -m pip install python-dateutil pytz tzdata "cython<3.0.1" hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
349-
python -m pip install -ve . --no-build-isolation --no-index
354+
python -m pip install python-dateutil pytz tzdata cython hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov
355+
python -m pip install -ve . --no-build-isolation --no-index --no-deps
350356
python -m pip list
351357
352358
- name: Run Tests

.github/workflows/wheels.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
sdist_file: ${{ steps.save-path.outputs.sdist_name }}
4949
steps:
5050
- name: Checkout pandas
51-
uses: actions/checkout@v3
51+
uses: actions/checkout@v4
5252
with:
5353
fetch-depth: 0
5454

@@ -97,14 +97,13 @@ jobs:
9797
- [macos-12, macosx_*]
9898
- [windows-2022, win_amd64]
9999
# TODO: support PyPy?
100-
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
101-
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"]]#, ["cp312", "3.12"]]
100+
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"]]
102101
env:
103102
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
104103
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
105104
steps:
106105
- name: Checkout pandas
107-
uses: actions/checkout@v3
106+
uses: actions/checkout@v4
108107
with:
109108
fetch-depth: 0
110109

@@ -138,20 +137,35 @@ jobs:
138137
shell: bash -el {0}
139138
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
140139

141-
- name: Build wheels
142-
uses: pypa/[email protected]
140+
- name: Build normal wheels
141+
if: ${{ (env.IS_SCHEDULE_DISPATCH != 'true' || env.IS_PUSH == 'true') }}
142+
uses: pypa/[email protected]
143143
with:
144144
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
145145
env:
146146
CIBW_PRERELEASE_PYTHONS: True
147147
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
148148

149+
- name: Build nightly wheels (with NumPy pre-release)
150+
if: ${{ (env.IS_SCHEDULE_DISPATCH == 'true' && env.IS_PUSH != 'true') }}
151+
uses: pypa/[email protected]
152+
with:
153+
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
154+
env:
155+
# The nightly wheels should be build witht he NumPy 2.0 pre-releases
156+
# which requires the additional URL.
157+
CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
158+
CIBW_PRERELEASE_PYTHONS: True
159+
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
160+
149161
- name: Set up Python
150162
uses: mamba-org/setup-micromamba@v1
151163
with:
152164
environment-name: wheel-env
165+
# Use a fixed Python, since we might have an unreleased Python not
166+
# yet present on conda-forge
153167
create-args: >-
154-
python=${{ matrix.python[1] }}
168+
python=3.11
155169
anaconda-client
156170
wheel
157171
cache-downloads: true
@@ -167,12 +181,13 @@ jobs:
167181
shell: pwsh
168182
run: |
169183
$TST_CMD = @"
170-
python -m pip install pytz six numpy python-dateutil tzdata>=2022.1 hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17;
171-
python -m pip install --find-links=pandas\wheelhouse --no-index pandas;
184+
python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0;
185+
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
172186
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`\"\"])`';
173187
"@
174-
docker pull python:${{ matrix.python[1] }}-windowsservercore
175-
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] }}-windowsservercore powershell -Command $TST_CMD
188+
# add rc to the end of the image name if the Python version is unreleased
189+
docker pull python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }}
190+
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }} powershell -Command $TST_CMD
176191
177192
- uses: actions/upload-artifact@v3
178193
with:

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
.mesonpy-native-file.ini
4040
MANIFEST
4141
compile_commands.json
42-
debug
42+
.debug
4343

4444
# Python files #
4545
################

0 commit comments

Comments
 (0)