Skip to content

Commit a8a53d1

Browse files
committed
Merge branch 'main' into api-timedelta-unit
2 parents 3af431f + 39ac242 commit a8a53d1

File tree

122 files changed

+2982
-1289
lines changed

Some content is hidden

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

122 files changed

+2982
-1289
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
run: mv doc/build/html web/build/docs
9494

9595
- name: Save website as an artifact
96-
uses: actions/upload-artifact@v5
96+
uses: actions/upload-artifact@v6
9797
with:
9898
name: website
9999
path: web/build

.github/workflows/unit-tests.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
# Prevent the include jobs from overriding other jobs
3232
pattern: [""]
3333
pandas_future_infer_string: ["1"]
34+
pandas_future_python_scalars: ["0"]
3435
include:
3536
- name: "Downstream Compat"
3637
env_file: actions-313-downstream_compat.yaml
@@ -75,6 +76,10 @@ jobs:
7576
env_file: actions-313.yaml
7677
pandas_future_infer_string: "0"
7778
platform: ubuntu-24.04
79+
- name: "PANDAS_FUTURE_PYTHON_SCALARS=1"
80+
env_file: actions-313.yaml
81+
pandas_future_python_scalars: "1"
82+
platform: ubuntu-24.04
7883
- name: "Numpy Dev"
7984
env_file: actions-313-numpydev.yaml
8085
pattern: "not slow and not network and not single_cpu"
@@ -92,6 +97,7 @@ jobs:
9297
LC_ALL: ${{ matrix.lc_all || '' }}
9398
PANDAS_CI: '1'
9499
PANDAS_FUTURE_INFER_STRING: ${{ matrix.pandas_future_infer_string || '1' }}
100+
PANDAS_FUTURE_PYTHON_SCALARS: ${{ matrix.pandas_future_python_scalars || '0' }}
95101
TEST_ARGS: ${{ matrix.test_args || '' }}
96102
PYTEST_WORKERS: 'auto'
97103
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}

.github/workflows/wheels.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
4646
runs-on: ubuntu-24.04
4747
env:
48+
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
4849
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
4950
outputs:
5051
sdist_file: ${{ steps.save-path.outputs.sdist_name }}
@@ -64,7 +65,7 @@ jobs:
6465
python -m pip install build
6566
python -m build --sdist
6667
67-
- uses: actions/upload-artifact@v5
68+
- uses: actions/upload-artifact@v6
6869
with:
6970
name: sdist
7071
path: ./dist/*
@@ -117,6 +118,7 @@ jobs:
117118
python: ["cp313t", "3.13"]
118119

119120
env:
121+
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
120122
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
121123
steps:
122124
- name: Checkout pandas
@@ -138,7 +140,7 @@ jobs:
138140
# removes unnecessary files from the release
139141
- name: Download sdist (not macOS)
140142
#if: ${{ matrix.buildplat[1] != 'macosx_*' }}
141-
uses: actions/download-artifact@v6
143+
uses: actions/download-artifact@v7
142144
with:
143145
name: sdist
144146
path: ./dist
@@ -196,17 +198,24 @@ jobs:
196198
shell: bash -el {0}
197199
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done
198200

199-
- uses: actions/upload-artifact@v5
201+
- uses: actions/upload-artifact@v6
200202
with:
201203
name: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
202204
path: ./wheelhouse/*.whl
203205

204206
- name: Upload wheels & sdist
205-
if: ${{ success() && env.IS_SCHEDULE_DISPATCH == 'true' }}
206-
uses: scientific-python/upload-nightly-action@0.6.2
207-
with:
208-
artifacts_path: dist
209-
anaconda_nightly_upload_token: ${{secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN}}
207+
if: ${{ success() && (env.IS_SCHEDULE_DISPATCH == 'true' || env.IS_PUSH == 'true') }}
208+
shell: bash -el {0}
209+
env:
210+
PANDAS_NIGHTLY_UPLOAD_TOKEN: ${{ secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN }}
211+
# trigger an upload to
212+
# https://anaconda.org/scientific-python-nightly-wheels/pandas
213+
# for cron jobs or "Run workflow" (restricted to main branch).
214+
# The tokens were originally generated at anaconda.org
215+
run: |
216+
source ci/upload_wheels.sh
217+
set_upload_vars
218+
upload_wheels
210219
211220
publish:
212221
if: >
@@ -228,11 +237,11 @@ jobs:
228237

229238
steps:
230239
- name: Download all artefacts
231-
uses: actions/download-artifact@v6
240+
uses: actions/download-artifact@v7
232241
with:
233242
path: dist # everything lands in ./dist/**
234243

235-
# TODO: This step can be probably be achieved by actions/download-artifact@v6
244+
# TODO: This step can be probably be achieved by actions/download-artifact@v7
236245
# by specifying merge-multiple: true, and a glob pattern
237246
- name: Collect files
238247
run: |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ details, see the commit logs at https://github.com/pandas-dev/pandas.
115115
## Dependencies
116116
- [NumPy - Adds support for large, multi-dimensional arrays, matrices and high-level mathematical functions to operate on these arrays](https://www.numpy.org)
117117
- [python-dateutil - Provides powerful extensions to the standard datetime module](https://dateutil.readthedocs.io/en/stable/index.html)
118-
- [tzdata - Provides an IANA time zone database](https://tzdata.readthedocs.io/en/latest/)
118+
- [tzdata - Provides an IANA time zone database](https://tzdata.readthedocs.io/en/latest/) (Only required on Windows/Emscripten)
119119

120120
See the [full installation instructions](https://pandas.pydata.org/pandas-docs/stable/install.html#dependencies) for minimum supported versions of required, recommended and optional dependencies.
121121

ci/code_checks.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
7979
-i "pandas.api.typing.DataFrameGroupBy.plot PR02" \
8080
-i "pandas.api.typing.SeriesGroupBy.plot PR02" \
8181
-i "pandas.api.typing.Resampler.quantile PR01,PR07" \
82+
-i "pandas.StringDtype.storage SA01" \
83+
-i "pandas.StringDtype.na_value SA01" \
8284
-i "pandas.tseries.offsets.BDay PR02,SA01" \
8385
-i "pandas.tseries.offsets.BHalfYearBegin.is_on_offset GL08" \
8486
-i "pandas.tseries.offsets.BHalfYearBegin.n GL08" \

ci/upload_wheels.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
# Modified from numpy's https://github.com/numpy/numpy/blob/main/tools/wheels/upload_wheels.sh
3+
4+
set_upload_vars() {
5+
echo "IS_SCHEDULE_DISPATCH is $IS_SCHEDULE_DISPATCH"
6+
if [[ "$IS_SCHEDULE_DISPATCH" == "true" ]]; then
7+
echo scheduled or dispatched event
8+
export ANACONDA_ORG="scientific-python-nightly-wheels"
9+
export TOKEN="$PANDAS_NIGHTLY_UPLOAD_TOKEN"
10+
export ANACONDA_UPLOAD="true"
11+
else
12+
echo non-dispatch event
13+
export ANACONDA_UPLOAD="false"
14+
fi
15+
}
16+
upload_wheels() {
17+
echo "${PWD}"
18+
if [[ ${ANACONDA_UPLOAD} == true ]]; then
19+
if [ -z "${TOKEN}" ]; then
20+
echo no token set, not uploading
21+
else
22+
# sdists are located under dist folder when built through setup.py
23+
if compgen -G "./dist/*.gz"; then
24+
echo "Found sdist"
25+
anaconda -q -t "${TOKEN}" upload --skip -u "${ANACONDA_ORG}" ./dist/*.gz
26+
echo "Uploaded sdist"
27+
fi
28+
if compgen -G "./wheelhouse/*.whl"; then
29+
echo "Found wheel"
30+
anaconda -q -t "${TOKEN}" upload --skip -u "${ANACONDA_ORG}" ./wheelhouse/*.whl
31+
echo "Uploaded wheel"
32+
fi
33+
echo "PyPI-style index: https://pypi.anaconda.org/$ANACONDA_ORG/simple"
34+
fi
35+
fi
36+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Announcement: pandas 3.0.0 release candidate ready for testing! Read more <a href="https://pandas.pydata.org/community/blog/pandas-3.0-release-candidate.html">in the blog post</a>

0 commit comments

Comments
 (0)