Skip to content

Commit a8b8637

Browse files
committed
Resolving merge conflict
2 parents ac2c2b5 + b51c38a commit a8b8637

File tree

155 files changed

+1338
-5601
lines changed

Some content is hidden

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

155 files changed

+1338
-5601
lines changed

.github/workflows/comment-commands.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ jobs:
2424
concurrency:
2525
group: ${{ github.actor }}-preview-docs
2626
steps:
27-
- run: |
28-
if curl --output /dev/null --silent --head --fail "https://pandas.pydata.org/preview/${{ github.event.issue.number }}/"; then
29-
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"body": "Website preview of this PR available at: https://pandas.pydata.org/preview/${{ github.event.issue.number }}/"}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments
30-
else
31-
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"body": "No preview found for PR #${{ github.event.issue.number }}. Did the docs build complete?"}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments
32-
fi
27+
- uses: pandas-dev/[email protected]
28+
with:
29+
previewer-server: "https://pandas.pydata.org/preview"
30+
artifact-job: "Doc Build and Upload"
3331
asv_run:
3432
runs-on: ubuntu-22.04
3533
# TODO: Support more benchmarking options later, against different branches, against self, etc

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,3 @@ jobs:
9090
name: website
9191
path: web/build
9292
retention-days: 14
93-
94-
- name: Trigger web/doc preview
95-
run: curl -X POST https://pandas.pydata.org/preview/submit/$RUN_ID/$PR_ID/
96-
env:
97-
RUN_ID: ${{ github.run_id }}
98-
PR_ID: ${{ github.event.pull_request.number }}
99-
if: github.event_name == 'pull_request'

.github/workflows/unit-tests.yml

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,6 @@ jobs:
7373
env_file: actions-312.yaml
7474
pattern: "not slow and not network and not single_cpu"
7575
pandas_copy_on_write: "1"
76-
- name: "Copy-on-Write 3.11 (warnings)"
77-
env_file: actions-311.yaml
78-
pattern: "not slow and not network and not single_cpu"
79-
pandas_copy_on_write: "warn"
80-
- name: "Copy-on-Write 3.10 (warnings)"
81-
env_file: actions-310.yaml
82-
pattern: "not slow and not network and not single_cpu"
83-
pandas_copy_on_write: "warn"
84-
- name: "Copy-on-Write 3.9 (warnings)"
85-
env_file: actions-39.yaml
86-
pattern: "not slow and not network and not single_cpu"
87-
pandas_copy_on_write: "warn"
8876
- name: "Pypy"
8977
env_file: actions-pypy-39.yaml
9078
pattern: "not slow and not network and not single_cpu"
@@ -214,7 +202,8 @@ jobs:
214202
timeout-minutes: 90
215203
strategy:
216204
matrix:
217-
os: [macos-latest, windows-latest]
205+
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
206+
os: [macos-13, macos-14, windows-latest]
218207
env_file: [actions-39.yaml, actions-310.yaml, actions-311.yaml, actions-312.yaml]
219208
fail-fast: false
220209
runs-on: ${{ matrix.os }}
@@ -227,8 +216,7 @@ jobs:
227216
PANDAS_CI: 1
228217
PYTEST_TARGET: pandas
229218
PATTERN: "not slow and not db and not network and not single_cpu"
230-
# GH 47443: PYTEST_WORKERS > 0 crashes Windows builds with memory related errors
231-
PYTEST_WORKERS: ${{ matrix.os == 'macos-latest' && 'auto' || '0' }}
219+
PYTEST_WORKERS: 'auto'
232220

233221
steps:
234222
- name: Checkout
@@ -354,7 +342,8 @@ jobs:
354342
strategy:
355343
fail-fast: false
356344
matrix:
357-
os: [ubuntu-22.04, macOS-latest, windows-latest]
345+
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
346+
os: [ubuntu-22.04, macOS-13, macOS-14, windows-latest]
358347

359348
timeout-minutes: 90
360349

.github/workflows/wheels.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ jobs:
9494
buildplat:
9595
- [ubuntu-22.04, manylinux_x86_64]
9696
- [ubuntu-22.04, musllinux_x86_64]
97-
- [macos-12, macosx_*]
97+
- [macos-12, macosx_x86_64]
98+
# Note: M1 images on Github Actions start from macOS 14
99+
- [macos-14, macosx_arm64]
98100
- [windows-2022, win_amd64]
99101
# TODO: support PyPy?
100102
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"]]
@@ -128,7 +130,7 @@ jobs:
128130
# Python version used to build sdist doesn't matter
129131
# wheel will be built from sdist with the correct version
130132
- name: Unzip sdist (macOS)
131-
if: ${{ matrix.buildplat[1] == 'macosx_*' }}
133+
if: ${{ startsWith(matrix.buildplat[1], 'macosx') }}
132134
run: |
133135
tar -xzf ./dist/${{ env.sdist_name }} -C ./dist
134136
@@ -139,18 +141,18 @@ jobs:
139141

140142
- name: Build normal wheels
141143
if: ${{ (env.IS_SCHEDULE_DISPATCH != 'true' || env.IS_PUSH == 'true') }}
142-
uses: pypa/[email protected].4
144+
uses: pypa/[email protected].5
143145
with:
144-
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
146+
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
145147
env:
146148
CIBW_PRERELEASE_PYTHONS: True
147149
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
148150

149151
- name: Build nightly wheels (with NumPy pre-release)
150152
if: ${{ (env.IS_SCHEDULE_DISPATCH == 'true' && env.IS_PUSH != 'true') }}
151-
uses: pypa/[email protected].4
153+
uses: pypa/[email protected].5
152154
with:
153-
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
155+
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
154156
env:
155157
# The nightly wheels should be build witht he NumPy 2.0 pre-releases
156158
# which requires the additional URL.
@@ -183,15 +185,15 @@ jobs:
183185
$TST_CMD = @"
184186
python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0;
185187
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
186-
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`\"\"])`';
188+
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`\"])`';
187189
"@
188190
# add rc to the end of the image name if the Python version is unreleased
189191
docker pull python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }}
190192
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
191193
192194
- uses: actions/upload-artifact@v4
193195
with:
194-
name: ${{ matrix.python[0] }}-${{ startsWith(matrix.buildplat[1], 'macosx') && 'macosx' || matrix.buildplat[1] }}
196+
name: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
195197
path: ./wheelhouse/*.whl
196198

197199
- name: Upload wheels & sdist

.pre-commit-config.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ repos:
101101
- repo: https://github.com/pre-commit/pygrep-hooks
102102
rev: v1.10.0
103103
hooks:
104-
- id: python-check-blanket-noqa
105-
- id: python-check-blanket-type-ignore
106104
- id: rst-backticks
107105
- id: rst-directive-colons
108106
types: [text] # overwrite types: [rst]

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": ["3.0.5"],
44+
"Cython": ["3.0"],
4545
"matplotlib": [],
4646
"sqlalchemy": [],
4747
"scipy": [],

asv_bench/benchmarks/algos/isin.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def setup(self, dtype):
5959
elif dtype in ["str", "string[python]", "string[pyarrow]"]:
6060
try:
6161
self.series = Series(
62-
Index([f"i-{i}" for i in range(N)], dtype=object), dtype=dtype
62+
Index([f"i-{i}" for i in range(N)], dtype=object)._values,
63+
dtype=dtype,
6364
)
6465
except ImportError as err:
6566
raise NotImplementedError from err

asv_bench/benchmarks/frame_methods.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,8 +593,6 @@ def setup(self):
593593
N = 10000
594594
# this is the worst case, where every column has NaNs.
595595
arr = np.random.randn(N, 100)
596-
# NB: we need to set values in array, not in df.values, otherwise
597-
# the benchmark will be misleading for ArrayManager
598596
arr[::2] = np.nan
599597

600598
self.df = DataFrame(arr)

asv_bench/benchmarks/strings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ class Dtypes:
1919
def setup(self, dtype):
2020
try:
2121
self.s = Series(
22-
Index([f"i-{i}" for i in range(10000)], dtype=object), dtype=dtype
22+
Index([f"i-{i}" for i in range(10000)], dtype=object)._values,
23+
dtype=dtype,
2324
)
2425
except ImportError as err:
2526
raise NotImplementedError from err

ci/code_checks.sh

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
9393
pandas.TimedeltaIndex.ceil\
9494
pandas.PeriodIndex\
9595
pandas.PeriodIndex.strftime\
96-
pandas.Series.clip\
9796
pandas.Series.rename_axis\
9897
pandas.Series.dt.to_period\
9998
pandas.Series.dt.tz_localize\
@@ -115,7 +114,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
115114
pandas.Series.plot.barh\
116115
pandas.Series.plot.line\
117116
pandas.Series.plot.pie\
118-
pandas.DataFrame.clip\
119117
pandas.DataFrame.plot\
120118
pandas.DataFrame.plot.bar\
121119
pandas.DataFrame.plot.barh\
@@ -171,20 +169,14 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
171169
pandas.Interval\
172170
pandas.Grouper\
173171
pandas.core.groupby.SeriesGroupBy.apply\
174-
pandas.core.groupby.SeriesGroupBy.transform\
175-
pandas.core.groupby.DataFrameGroupBy.transform\
176172
pandas.core.groupby.DataFrameGroupBy.nth\
177173
pandas.core.groupby.DataFrameGroupBy.rolling\
178-
pandas.core.groupby.SeriesGroupBy.idxmax\
179-
pandas.core.groupby.SeriesGroupBy.idxmin\
180174
pandas.core.groupby.SeriesGroupBy.nth\
181175
pandas.core.groupby.SeriesGroupBy.rolling\
182176
pandas.core.groupby.DataFrameGroupBy.hist\
183177
pandas.core.groupby.DataFrameGroupBy.plot\
184-
pandas.core.groupby.SeriesGroupBy.plot\
185-
pandas.core.window.rolling.Rolling.quantile\
186-
pandas.core.window.expanding.Expanding.quantile\
187-
pandas.api.extensions.ExtensionArray.argsort # There should be no backslash in the final line, please keep this comment in the last ignored function
178+
pandas.core.groupby.DataFrameGroupBy.corrwith\
179+
pandas.core.groupby.SeriesGroupBy.plot # There should be no backslash in the final line, please keep this comment in the last ignored function
188180
RET=$(($RET + $?)) ; echo $MSG "DONE"
189181

190182
fi

0 commit comments

Comments
 (0)