Skip to content

Commit f901c2f

Browse files
committed
Merge branch 'main' into daydst2
2 parents e77e2d3 + 2b67593 commit f901c2f

File tree

700 files changed

+31070
-22387
lines changed

Some content is hidden

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

700 files changed

+31070
-22387
lines changed

.circleci/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ jobs:
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: |
5151
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

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

.github/workflows/unit-tests.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ defaults:
2323
jobs:
2424
ubuntu:
2525
runs-on: ubuntu-22.04
26-
timeout-minutes: 180
26+
timeout-minutes: 90
2727
strategy:
2828
matrix:
2929
env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml]
@@ -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:
@@ -173,7 +177,7 @@ jobs:
173177
if: ${{ matrix.pattern == '' && (always() && steps.build.outcome == 'success')}}
174178

175179
macos-windows:
176-
timeout-minutes: 180
180+
timeout-minutes: 90
177181
strategy:
178182
matrix:
179183
os: [macos-latest, windows-latest]
@@ -236,7 +240,7 @@ jobs:
236240
. ~/virtualenvs/pandas-dev/bin/activate
237241
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
238242
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
239-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.3" python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
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
240244
python -m pip install --no-cache-dir --no-build-isolation -e .
241245
python -m pip list --no-cache-dir
242246
export PANDAS_CI=1
@@ -274,7 +278,7 @@ jobs:
274278
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
275279
. ~/virtualenvs/pandas-dev/bin/activate
276280
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
277-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.3" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.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
278282
python -m pip install --no-cache-dir --no-build-isolation -e .
279283
python -m pip list --no-cache-dir
280284
@@ -318,7 +322,7 @@ jobs:
318322
matrix:
319323
os: [ubuntu-22.04, macOS-latest, windows-latest]
320324

321-
timeout-minutes: 180
325+
timeout-minutes: 90
322326

323327
concurrency:
324328
#https://github.community/t/concurrecy-not-work-for-push/183068/7
@@ -347,7 +351,7 @@ jobs:
347351
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
348352
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
349353
python -m pip install versioneer[toml]
350-
python -m pip install python-dateutil pytz tzdata "cython<3.0.3" hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
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
351355
python -m pip install -ve . --no-build-isolation --no-index --no-deps
352356
python -m pip list
353357

.github/workflows/wheels.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,27 @@ jobs:
137137
shell: bash -el {0}
138138
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
139139

140-
- name: Build wheels
140+
- name: Build normal wheels
141+
if: ${{ (env.IS_SCHEDULE_DISPATCH != 'true' || env.IS_PUSH == 'true') }}
141142
uses: pypa/[email protected]
142143
with:
143144
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
144145
env:
145146
CIBW_PRERELEASE_PYTHONS: True
146147
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
147148

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+
148161
- name: Set up Python
149162
uses: mamba-org/setup-micromamba@v1
150163
with:
@@ -168,7 +181,7 @@ jobs:
168181
shell: pwsh
169182
run: |
170183
$TST_CMD = @"
171-
python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17;
184+
python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0;
172185
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
173186
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`\"\"])`';
174187
"@

.pre-commit-config.yaml

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ ci:
2020
repos:
2121
- repo: https://github.com/hauntsaninja/black-pre-commit-mirror
2222
# black compiled with mypyc
23-
rev: 23.9.1
23+
rev: 23.10.1
2424
hooks:
2525
- id: black
2626
- repo: https://github.com/astral-sh/ruff-pre-commit
27-
rev: v0.0.291
27+
rev: v0.1.4
2828
hooks:
2929
- id: ruff
3030
args: [--exit-non-zero-on-fix]
@@ -34,14 +34,14 @@ repos:
3434
alias: ruff-selected-autofixes
3535
args: [--select, "ANN001,ANN204", --fix-only, --exit-non-zero-on-fix]
3636
- repo: https://github.com/jendrikseipp/vulture
37-
rev: 'v2.9.1'
37+
rev: 'v2.10'
3838
hooks:
3939
- id: vulture
4040
entry: python scripts/run_vulture.py
4141
pass_filenames: true
4242
require_serial: false
4343
- repo: https://github.com/codespell-project/codespell
44-
rev: v2.2.5
44+
rev: v2.2.6
4545
hooks:
4646
- id: codespell
4747
types_or: [python, rst, markdown, cython, c]
@@ -52,7 +52,7 @@ repos:
5252
- id: cython-lint
5353
- id: double-quote-cython-strings
5454
- repo: https://github.com/pre-commit/pre-commit-hooks
55-
rev: v4.4.0
55+
rev: v4.5.0
5656
hooks:
5757
- id: check-ast
5858
- id: check-case-conflict
@@ -70,21 +70,8 @@ repos:
7070
- id: fix-encoding-pragma
7171
args: [--remove]
7272
- id: trailing-whitespace
73-
- repo: https://github.com/cpplint/cpplint
74-
rev: 1.6.1
75-
hooks:
76-
- id: cpplint
77-
exclude: ^pandas/_libs/include/pandas/vendored/klib
78-
args: [
79-
--quiet,
80-
'--extensions=c,h',
81-
'--headers=h',
82-
--recursive,
83-
--linelength=88,
84-
'--filter=-readability/casting,-runtime/int,-build/include_subdir,-readability/fn_size'
85-
]
8673
- repo: https://github.com/pylint-dev/pylint
87-
rev: v3.0.0b0
74+
rev: v3.0.1
8875
hooks:
8976
- id: pylint
9077
stages: [manual]
@@ -107,7 +94,7 @@ repos:
10794
hooks:
10895
- id: isort
10996
- repo: https://github.com/asottile/pyupgrade
110-
rev: v3.13.0
97+
rev: v3.15.0
11198
hooks:
11299
- id: pyupgrade
113100
args: [--py39-plus]
@@ -124,9 +111,16 @@ repos:
124111
types: [text] # overwrite types: [rst]
125112
types_or: [python, rst]
126113
- repo: https://github.com/sphinx-contrib/sphinx-lint
127-
rev: v0.6.8
114+
rev: v0.8.1
128115
hooks:
129116
- id: sphinx-lint
117+
- repo: https://github.com/pre-commit/mirrors-clang-format
118+
rev: v17.0.4
119+
hooks:
120+
- id: clang-format
121+
files: ^pandas/_libs/src|^pandas/_libs/include
122+
args: [-i]
123+
types_or: [c, c++]
130124
- repo: local
131125
hooks:
132126
- id: pyright

asv_bench/asv.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
// pip (with all the conda available packages installed first,
4242
// followed by the pip installed packages).
4343
"matrix": {
44-
"Cython": ["0.29.33"],
44+
"Cython": ["3.0.5"],
4545
"matplotlib": [],
4646
"sqlalchemy": [],
4747
"scipy": [],

0 commit comments

Comments
 (0)