Skip to content

Commit b956adc

Browse files
Merge remote-tracking branch 'upstream/main' into set-__module__-scalars
2 parents 7f00938 + feaa963 commit b956adc

File tree

791 files changed

+18156
-10097
lines changed

Some content is hidden

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

791 files changed

+18156
-10097
lines changed

.circleci/config.yml

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,26 @@ jobs:
1515
- checkout
1616
- run:
1717
name: Install Environment and Run Tests
18-
shell: /bin/bash -exuo pipefail
18+
shell: /bin/bash -exo pipefail
19+
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
1920
command: |
20-
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Mambaforge-24.3.0-0-Linux-aarch64.sh"
21-
wget -q $MAMBA_URL -O minimamba.sh
22-
chmod +x minimamba.sh
23-
MAMBA_DIR="$HOME/miniconda3"
24-
rm -rf $MAMBA_DIR
25-
./minimamba.sh -b -p $MAMBA_DIR
26-
export PATH=$MAMBA_DIR/bin:$PATH
21+
MINI_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Miniforge3-24.3.0-0-Linux-aarch64.sh"
22+
wget -q $MINI_URL -O Miniforge3.sh
23+
chmod +x Miniforge3.sh
24+
MINI_DIR="$HOME/miniconda3"
25+
rm -rf $MINI_DIR
26+
./Miniforge3.sh -b -p $MINI_DIR
27+
export PATH=$MINI_DIR/bin:$PATH
2728
conda info -a
2829
conda env create -q -n pandas-dev -f $ENV_FILE
2930
conda list -n pandas-dev
3031
source activate pandas-dev
3132
if pip show pandas 1>/dev/null; then
3233
pip uninstall -y pandas
3334
fi
34-
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"
3536
PATH=$HOME/miniconda3/envs/pandas-dev/bin:$HOME/miniconda3/condabin:$PATH
37+
sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
3638
ci/run_tests.sh
3739
test-linux-musl:
3840
docker:
@@ -54,8 +56,8 @@ jobs:
5456
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
5557
. ~/virtualenvs/pandas-dev/bin/activate
5658
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
57-
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
58-
python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup-args="--werror"
59+
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 . -Csetup-args="--werror"
5961
python -m pip list --no-cache-dir
6062
export PANDAS_CI=1
6163
python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
@@ -89,29 +91,30 @@ jobs:
8991
name: Build aarch64 wheels
9092
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
9193
command: |
92-
pip3 install cibuildwheel==2.18.1
93-
cibuildwheel --prerelease-pythons --output-dir wheelhouse
94+
pip3 install cibuildwheel==2.20.0
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
94102
95103
environment:
96104
CIBW_BUILD: << parameters.cibw-build >>
97105

98106
- run:
99107
name: Install Anaconda Client & Upload Wheels
108+
shell: /bin/bash -exo pipefail
100109
command: |
101-
echo "Install Mambaforge"
102-
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Mambaforge-24.3.0-0-Linux-aarch64.sh"
103-
echo "Downloading $MAMBA_URL"
104-
wget -q $MAMBA_URL -O minimamba.sh
105-
chmod +x minimamba.sh
106-
107-
MAMBA_DIR="$HOME/miniconda3"
108-
rm -rf $MAMBA_DIR
109-
./minimamba.sh -b -p $MAMBA_DIR
110-
111-
export PATH=$MAMBA_DIR/bin:$PATH
112-
113-
mamba install -y -c conda-forge anaconda-client
114-
110+
MINI_URL="https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Miniforge3-24.3.0-0-Linux-aarch64.sh"
111+
wget -q $MINI_URL -O Miniforge3.sh
112+
chmod +x Miniforge3.sh
113+
MINI_DIR="$HOME/miniconda3"
114+
rm -rf $MINI_DIR
115+
./Miniforge3.sh -b -p $MINI_DIR
116+
export PATH=$MINI_DIR/bin:$PATH
117+
conda install -y -c conda-forge anaconda-client
115118
source ci/upload_wheels.sh
116119
set_upload_vars
117120
upload_wheels
@@ -141,11 +144,13 @@ workflows:
141144
only: /^v.*/
142145
matrix:
143146
parameters:
144-
cibw-build: ["cp39-manylinux_aarch64",
145-
"cp310-manylinux_aarch64",
147+
cibw-build: ["cp310-manylinux_aarch64",
146148
"cp311-manylinux_aarch64",
147149
"cp312-manylinux_aarch64",
148-
"cp39-musllinux_aarch64",
150+
"cp313-manylinux_aarch64",
151+
"cp313t-manylinux_aarch64",
149152
"cp310-musllinux_aarch64",
150153
"cp311-musllinux_aarch64",
151-
"cp312-musllinux_aarch64",]
154+
"cp312-musllinux_aarch64",
155+
"cp313-musllinux_aarch64",
156+
"cp313t-musllinux_aarch64"]

.devcontainer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
// Use 'settings' to set *default* container specific settings.json values on container create.
99
// You can edit these settings after create using File > Preferences > Settings > Remote.
1010
"settings": {
11-
"terminal.integrated.shell.linux": "/bin/bash",
1211
"python.pythonPath": "/usr/local/bin/python",
1312
"python.formatting.provider": "black",
1413
"python.linting.enabled": true,

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ ci export-ignore
6868
doc export-ignore
6969
gitpod export-ignore
7070
MANIFEST.in export-ignore
71-
scripts export-ignore
71+
scripts/** export-ignore
7272
typings export-ignore
7373
web export-ignore
7474
CITATION.cff export-ignore
@@ -82,3 +82,7 @@ setup.py export-ignore
8282
# csv_dir_path fixture checks the existence of the directory
8383
# exclude the whole directory to avoid running related tests in sdist
8484
pandas/tests/io/parser/data export-ignore
85+
86+
# Include cibw script in sdist since it's needed for building wheels
87+
scripts/cibw_before_build.sh -export-ignore
88+
scripts/cibw_before_test.sh -export-ignore

.github/actions/build_pandas/action.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@ inputs:
44
editable:
55
description: Whether to build pandas in editable mode (default true)
66
default: true
7-
meson_args:
8-
description: Extra flags to pass to meson
9-
required: false
10-
cflags_adds:
11-
description: Items to append to the CFLAGS variable
12-
required: false
137
runs:
148
using: composite
159
steps:
@@ -30,12 +24,11 @@ runs:
3024

3125
- name: Build Pandas
3226
run: |
33-
export CFLAGS="$CFLAGS ${{ inputs.cflags_adds }}"
3427
if [[ ${{ inputs.editable }} == "true" ]]; then
35-
pip install -e . --no-build-isolation -v --no-deps ${{ inputs.meson_args }} \
36-
--config-settings=setup-args="--werror"
28+
pip install -e . --no-build-isolation -v --no-deps \
29+
-Csetup-args="--werror"
3730
else
38-
pip install . --no-build-isolation -v --no-deps ${{ inputs.meson_args }} \
39-
--config-settings=setup-args="--werror"
31+
pip install . --no-build-isolation -v --no-deps \
32+
-Csetup-args="--werror"
4033
fi
4134
shell: bash -el {0}

.github/actions/run-tests/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ runs:
77
shell: bash -el {0}
88

99
- name: Publish test results
10-
uses: actions/upload-artifact@v3
10+
uses: actions/upload-artifact@v4
1111
with:
1212
name: Test results
1313
path: test-data.xml
1414
if: failure()
1515

1616
- name: Upload coverage to Codecov
17-
uses: codecov/codecov-action@v3
17+
uses: codecov/codecov-action@v4
1818
with:
1919
flags: unittests
2020
name: codecov-pandas

.github/actions/setup-conda/action.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ runs:
1414
condarc-file: ci/.condarc
1515
cache-environment: true
1616
cache-downloads: true
17+
18+
- name: Uninstall pyarrow
19+
if: ${{ env.REMOVE_PYARROW == '1' }}
20+
run: |
21+
micromamba remove -y pyarrow
22+
shell: bash -el {0}

.github/workflows/code-checks.yml

Lines changed: 7 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
@@ -51,6 +51,11 @@ jobs:
5151
# TODO: The doctests have to be run first right now, since the Cython doctests only work
5252
# with pandas installed in non-editable mode
5353
# This can be removed once pytest-cython doesn't require C extensions to be installed inplace
54+
55+
- name: Extra installs
56+
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
57+
run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
58+
5459
- name: Run doctests
5560
run: cd ci && ./code_checks.sh doctests
5661
if: ${{ steps.build.outcome == 'success' && always() }}

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

Lines changed: 6 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
@@ -46,6 +46,10 @@ jobs:
4646
- name: Build Pandas
4747
uses: ./.github/actions/build_pandas
4848

49+
- name: Extra installs
50+
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
51+
run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
52+
4953
- name: Test website
5054
run: python -m pytest web/
5155

.github/workflows/package-checks.yml

Lines changed: 4 additions & 4 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:
@@ -53,7 +53,7 @@ jobs:
5353
runs-on: ubuntu-22.04
5454
strategy:
5555
matrix:
56-
python-version: ['3.9', '3.10', '3.11']
56+
python-version: ['3.10', '3.11']
5757
fail-fast: false
5858
name: Test Conda Forge Recipe - Python ${{ matrix.python-version }}
5959
concurrency:
@@ -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: >-

0 commit comments

Comments
 (0)