Skip to content

Commit a946317

Browse files
authored
Merge branch 'pandas-dev:main' into main
2 parents 449313e + 066a4f7 commit a946317

Some content is hidden

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

45 files changed

+2956
-1820
lines changed

.github/workflows/broken-linkcheck.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/cache-cleanup-daily.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
cleanup:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-24.04
1010
if: github.repository_owner == 'pandas-dev'
1111
permissions:
1212
actions: write

.github/workflows/cache-cleanup.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66

77
jobs:
88
cleanup:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-24.04
10+
if: github.repository_owner == 'pandas-dev'
1011
steps:
1112
- name: Clean Cache
1213
run: |

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ jobs:
2828

2929
steps:
3030
- uses: actions/checkout@v5
31-
- uses: github/codeql-action/init@v3
31+
- uses: github/codeql-action/init@v4
3232
with:
3333
languages: ${{ matrix.language }}
34-
- uses: github/codeql-action/autobuild@v3
35-
- uses: github/codeql-action/analyze@v3
34+
- uses: github/codeql-action/autobuild@v4
35+
- uses: github/codeql-action/analyze@v4

.github/workflows/comment-commands.yml

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -19,64 +19,3 @@ jobs:
1919
with:
2020
previewer-server: "https://pandas.pydata.org/preview"
2121
artifact-job: "Doc Build and Upload"
22-
asv_run:
23-
runs-on: ubuntu-24.04
24-
# TODO: Support more benchmarking options later, against different branches, against self, etc
25-
if: github.event.issue.pull_request && startsWith(github.event.comment.body, '@github-actions benchmark')
26-
defaults:
27-
run:
28-
shell: bash -el {0}
29-
env:
30-
ENV_FILE: environment.yml
31-
COMMENT: ${{github.event.comment.body}}
32-
33-
concurrency:
34-
# Set concurrency to prevent abuse(full runs are ~5.5 hours !!!)
35-
# each user can only run one concurrent benchmark bot at a time
36-
# We don't cancel in progress jobs, but if you want to benchmark multiple PRs, you're gonna have
37-
# to wait
38-
group: ${{ github.actor }}-asv
39-
cancel-in-progress: false
40-
41-
steps:
42-
- name: Checkout
43-
uses: actions/checkout@v5
44-
with:
45-
fetch-depth: 0
46-
47-
# Although asv sets up its own env, deps are still needed
48-
# during discovery process
49-
- name: Set up Conda
50-
uses: ./.github/actions/setup-conda
51-
52-
- name: Run benchmarks
53-
id: bench
54-
continue-on-error: true # asv will exit code 1 for regressions
55-
run: |
56-
# extracting the regex, see https://stackoverflow.com/a/36798723
57-
REGEX=$(echo "$COMMENT" | sed -n "s/^.*-b\s*\(\S*\).*$/\1/p")
58-
cd asv_bench
59-
asv check -E existing
60-
git remote add upstream https://github.com/pandas-dev/pandas.git
61-
git fetch upstream
62-
asv machine --yes
63-
asv continuous -f 1.1 -b $REGEX upstream/main HEAD
64-
echo 'BENCH_OUTPUT<<EOF' >> $GITHUB_ENV
65-
asv compare -f 1.1 upstream/main HEAD >> $GITHUB_ENV
66-
echo 'EOF' >> $GITHUB_ENV
67-
echo "REGEX=$REGEX" >> $GITHUB_ENV
68-
69-
- uses: actions/github-script@v8
70-
env:
71-
BENCH_OUTPUT: ${{env.BENCH_OUTPUT}}
72-
REGEX: ${{env.REGEX}}
73-
with:
74-
script: |
75-
const ENV_VARS = process.env
76-
const run_url = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
77-
github.rest.issues.createComment({
78-
issue_number: context.issue.number,
79-
owner: context.repo.owner,
80-
repo: context.repo.repo,
81-
body: '\nBenchmarks completed. View runner logs here.' + run_url + '\nRegex used: '+ 'regex ' + ENV_VARS["REGEX"] + '\n' + ENV_VARS["BENCH_OUTPUT"]
82-
})

.github/workflows/unit-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ jobs:
182182
strategy:
183183
matrix:
184184
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
185-
os: [macos-13, macos-14, windows-latest]
185+
os: [macos-13, macos-14, windows-2025]
186186
env_file: [actions-311.yaml, actions-312.yaml, actions-313.yaml]
187187
fail-fast: false
188188
runs-on: ${{ matrix.os }}
@@ -322,7 +322,7 @@ jobs:
322322
fail-fast: false
323323
matrix:
324324
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
325-
os: [ubuntu-24.04, macOS-13, macOS-14, windows-latest]
325+
os: [ubuntu-24.04, macOS-13, macOS-14, windows-2025]
326326

327327
timeout-minutes: 90
328328

.github/workflows/wheels.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ jobs:
162162
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
163163

164164
- name: Build wheels
165-
uses: pypa/[email protected].0
165+
uses: pypa/[email protected].1
166166
with:
167167
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
168168
env:
@@ -229,7 +229,7 @@ jobs:
229229
- build_sdist
230230
- build_wheels
231231

232-
runs-on: ubuntu-latest
232+
runs-on: ubuntu-24.04
233233

234234
environment:
235235
name: pypi
@@ -243,6 +243,8 @@ jobs:
243243
with:
244244
path: dist # everything lands in ./dist/**
245245

246+
# TODO: This step can be probably be achieved by actions/download-artifact@v5
247+
# by specifying merge-multiple: true, and a glob pattern
246248
- name: Collect files
247249
run: |
248250
mkdir -p upload

ci/deps/actions-311.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ dependencies:
4444
- psycopg2>=2.9.10
4545
- pyarrow>=13.0.0
4646
- pyiceberg>=0.8.1
47+
- pydantic<2.12.0 # TMP pin to avoid pyiceberg/pydantic issues
4748
- pymysql>=1.1.1
4849
- pyreadstat>=1.2.8
4950
- pytables>=3.10.1

ci/deps/actions-312.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ dependencies:
4444
- psycopg2>=2.9.10
4545
- pyarrow>=13.0.0
4646
- pyiceberg>=0.8.1
47+
- pydantic<2.12.0 # TMP pin to avoid pyiceberg/pydantic issues
4748
- pymysql>=1.1.1
4849
- pyreadstat>=1.2.8
4950
- pytables>=3.10.1

doc/source/whatsnew/v3.0.0.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,7 @@ Other Deprecations
716716
- Deprecated using ``epoch`` date format in :meth:`DataFrame.to_json` and :meth:`Series.to_json`, use ``iso`` instead. (:issue:`57063`)
717717
- Deprecated allowing ``fill_value`` that cannot be held in the original dtype (excepting NA values for integer and bool dtypes) in :meth:`Series.unstack` and :meth:`DataFrame.unstack` (:issue:`12189`, :issue:`53868`)
718718
- Deprecated allowing ``fill_value`` that cannot be held in the original dtype (excepting NA values for integer and bool dtypes) in :meth:`Series.shift` and :meth:`DataFrame.shift` (:issue:`53802`)
719+
- Deprecated option "future.no_silent_downcasting", as it is no longer used. In a future version accessing this option will raise (:issue:`59502`)
719720
- Deprecated slicing on a :class:`Series` or :class:`DataFrame` with a :class:`DatetimeIndex` using a ``datetime.date`` object, explicitly cast to :class:`Timestamp` instead (:issue:`35830`)
720721

721722
.. ---------------------------------------------------------------------------
@@ -1017,8 +1018,8 @@ Strings
10171018
Interval
10181019
^^^^^^^^
10191020
- :meth:`Index.is_monotonic_decreasing`, :meth:`Index.is_monotonic_increasing`, and :meth:`Index.is_unique` could incorrectly be ``False`` for an ``Index`` created from a slice of another ``Index``. (:issue:`57911`)
1021+
- Bug in :class:`Index`, :class:`Series`, :class:`DataFrame` constructors when given a sequence of :class:`Interval` subclass objects casting them to :class:`Interval` (:issue:`46945`)
10201022
- Bug in :func:`interval_range` where start and end numeric types were always cast to 64 bit (:issue:`57268`)
1021-
-
10221023

10231024
Indexing
10241025
^^^^^^^^

0 commit comments

Comments
 (0)