Skip to content

Commit 457c7df

Browse files
committed
Merge commit 'bcd5d25ee1ec85b5b7e77c6febf196a1fb6bf265' into iso8601-duration-parsing-feature
2 parents 03533df + bcd5d25 commit 457c7df

File tree

588 files changed

+16658
-11353
lines changed

Some content is hidden

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

588 files changed

+16658
-11353
lines changed

.circleci/config.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2.1
33
jobs:
44
test-arm:
55
machine:
6-
image: ubuntu-2004:202101-01
6+
image: ubuntu-2004:2022.04.1
77
resource_class: arm.large
88
environment:
99
ENV_FILE: ci/deps/circle-38-arm64.yaml
@@ -23,7 +23,7 @@ jobs:
2323
cibw-build:
2424
type: string
2525
machine:
26-
image: ubuntu-2004:202101-01
26+
image: ubuntu-2004:2022.04.1
2727
resource_class: arm.large
2828
environment:
2929
ENV_FILE: ci/deps/circle-38-arm64.yaml
@@ -48,7 +48,7 @@ jobs:
4848
- run:
4949
name: Build aarch64 wheels
5050
command: |
51-
pip3 install cibuildwheel==2.9.0
51+
pip3 install cibuildwheel==2.12.1
5252
cibuildwheel --output-dir wheelhouse
5353
environment:
5454
CIBW_BUILD: << parameters.cibw-build >>
@@ -57,7 +57,7 @@ jobs:
5757
name: Install Anaconda Client & Upload Wheels
5858
command: |
5959
echo "Install Mambaforge"
60-
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-aarch64.sh"
60+
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-aarch64.sh"
6161
echo "Downloading $MAMBA_URL"
6262
wget -q $MAMBA_URL -O minimamba.sh
6363
chmod +x minimamba.sh

.circleci/setup_env.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash -e
22

33
echo "Install Mambaforge"
4-
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-aarch64.sh"
4+
MAMBA_URL="https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-aarch64.sh"
55
echo "Downloading $MAMBA_URL"
66
wget -q $MAMBA_URL -O minimamba.sh
77
chmod +x minimamba.sh

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

-11
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,9 @@ inputs:
99
extra-specs:
1010
description: Extra packages to install
1111
required: false
12-
pyarrow-version:
13-
description: If set, overrides the PyArrow version in the Conda environment to the given string.
14-
required: false
1512
runs:
1613
using: composite
1714
steps:
18-
- name: Set Arrow version in ${{ inputs.environment-file }} to ${{ inputs.pyarrow-version }}
19-
run: |
20-
grep -q ' - pyarrow' ${{ inputs.environment-file }}
21-
sed -i"" -e "s/ - pyarrow/ - pyarrow=${{ inputs.pyarrow-version }}/" ${{ inputs.environment-file }}
22-
cat ${{ inputs.environment-file }}
23-
shell: bash
24-
if: ${{ inputs.pyarrow-version }}
25-
2615
- name: Install ${{ inputs.environment-file }}
2716
uses: mamba-org/provision-with-micromamba@v12
2817
with:

.github/dependabot.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
labels:
8+
- "CI"
9+
- "Dependencies"

.github/workflows/32-bit-linux.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
. ~/virtualenvs/pandas-dev/bin/activate && \
4040
python -m pip install --no-deps -U pip wheel 'setuptools<60.0.0' && \
4141
python -m pip install versioneer[toml] && \
42-
python -m pip install cython numpy python-dateutil pytz pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.34.2 && \
42+
python -m pip install cython numpy python-dateutil pytz pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1 && \
4343
python setup.py build_ext -q -j$(nproc) && \
4444
python -m pip install --no-build-isolation --no-use-pep517 -e . && \
4545
python -m pip list && \

.github/workflows/assign.yml

-19
This file was deleted.

.github/workflows/code-checks.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
python-version: '3.9'
3636

3737
- name: Run pre-commit
38-
uses: pre-commit/action@v2.0.3
38+
uses: pre-commit/action@v3.0.0
3939
with:
4040
extra_args: --verbose --all-files
4141

@@ -93,7 +93,7 @@ jobs:
9393
if: ${{ steps.build.outcome == 'success' && always() }}
9494

9595
- name: Typing + pylint
96-
uses: pre-commit/action@v2.0.3
96+
uses: pre-commit/action@v3.0.0
9797
with:
9898
extra_args: --verbose --hook-stage manual --all-files
9999
if: ${{ steps.build.outcome == 'success' && always() }}

.github/workflows/asv-bot.yml renamed to .github/workflows/comment-commands.yml

+33-18
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,45 @@
1-
name: "ASV Bot"
2-
1+
name: Comment Commands
32
on:
4-
issue_comment: # Pull requests are issues
5-
types:
6-
- created
7-
8-
env:
9-
ENV_FILE: environment.yml
10-
COMMENT: ${{github.event.comment.body}}
3+
issue_comment:
4+
types: created
115

126
permissions:
137
contents: read
8+
issues: write
9+
pull-requests: write
1410

1511
jobs:
16-
autotune:
17-
permissions:
18-
contents: read
19-
issues: write
20-
pull-requests: write
21-
name: "Run benchmarks"
22-
# TODO: Support more benchmarking options later, against different branches, against self, etc
23-
if: startsWith(github.event.comment.body, '@github-actions benchmark')
12+
issue_assign:
13+
runs-on: ubuntu-22.04
14+
if: (!github.event.issue.pull_request) && github.event.comment.body == 'take'
15+
concurrency:
16+
group: ${{ github.actor }}-issue-assign
17+
steps:
18+
run: |
19+
echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
20+
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees
21+
preview_docs:
2422
runs-on: ubuntu-22.04
23+
if: github.event.issue.pull_request && github.event.comment.body == '/preview'
24+
concurrency:
25+
group: ${{ github.actor }}-preview-docs
26+
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
33+
asv_run:
34+
runs-on: ubuntu-22.04
35+
# TODO: Support more benchmarking options later, against different branches, against self, etc
36+
if: github.event.issue.pull_request && startsWith(github.event.comment.body, '@github-actions benchmark')
2537
defaults:
2638
run:
2739
shell: bash -el {0}
40+
env:
41+
ENV_FILE: environment.yml
42+
COMMENT: ${{github.event.comment.body}}
2843

2944
concurrency:
3045
# Set concurrency to prevent abuse(full runs are ~5.5 hours !!!)
@@ -47,7 +62,7 @@ jobs:
4762

4863
- name: Run benchmarks
4964
id: bench
50-
continue-on-error: true # This is a fake failure, asv will exit code 1 for regressions
65+
continue-on-error: true # asv will exit code 1 for regressions
5166
run: |
5267
# extracting the regex, see https://stackoverflow.com/a/36798723
5368
REGEX=$(echo "$COMMENT" | sed -n "s/^.*-b\s*\(\S*\).*$/\1/p")

.github/workflows/macos-windows.yml

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ jobs:
5252
uses: ./.github/actions/setup-conda
5353
with:
5454
environment-file: ci/deps/${{ matrix.env_file }}
55-
pyarrow-version: ${{ matrix.os == 'macos-latest' && '9' || '' }}
5655

5756
- name: Build Pandas
5857
uses: ./.github/actions/build_pandas

.github/workflows/package-checks.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
runs-on: ubuntu-22.04
2121
strategy:
2222
matrix:
23-
extra: ["test", "performance", "timezone", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output_formatting", "clipboard", "compression", "all"]
23+
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output_formatting", "clipboard", "compression", "all"]
2424
fail-fast: false
2525
name: Install Extras - ${{ matrix.extra }}
2626
concurrency:

.github/workflows/preview-docs.yml

-22
This file was deleted.

.github/workflows/python-dev.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy
8080
python -m pip install git+https://github.com/nedbat/coveragepy.git
8181
python -m pip install versioneer[toml]
82-
python -m pip install python-dateutil pytz cython hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
82+
python -m pip install python-dateutil pytz cython hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
8383
python -m pip list
8484
8585
- name: Build Pandas

.github/workflows/sdist.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ jobs:
8181
run: |
8282
case "${{matrix.python-version}}" in
8383
3.8)
84-
pip install numpy==1.20.3 ;;
84+
pip install numpy==1.21.6 ;;
8585
3.9)
86-
pip install numpy==1.20.3 ;;
86+
pip install numpy==1.21.6 ;;
8787
3.10)
88-
pip install numpy==1.21.2 ;;
88+
pip install numpy==1.21.6 ;;
8989
3.11)
9090
pip install numpy==1.23.2 ;;
9191
esac

.github/workflows/stale-pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
pull-requests: write
1414
runs-on: ubuntu-22.04
1515
steps:
16-
- uses: actions/stale@v4
16+
- uses: actions/stale@v8
1717
with:
1818
repo-token: ${{ secrets.GITHUB_TOKEN }}
1919
stale-pr-message: "This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this."

.github/workflows/ubuntu.yml

+23-33
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ jobs:
2626
strategy:
2727
matrix:
2828
env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml, actions-311.yaml]
29-
pattern: ["not single_cpu", "single_cpu"]
30-
pyarrow_version: ["8", "9", "10"]
31-
pandas_ci: [1]
29+
# Prevent the include jobs from overriding other jobs
30+
pattern: [""]
3231
include:
3332
- name: "Downstream Compat"
3433
env_file: actions-38-downstream_compat.yaml
@@ -61,10 +60,6 @@ jobs:
6160
env_file: actions-310.yaml
6261
pattern: "not slow and not network and not single_cpu"
6362
pandas_copy_on_write: "1"
64-
- name: "Data Manager"
65-
env_file: actions-38.yaml
66-
pattern: "not slow and not network and not single_cpu"
67-
pandas_data_manager: "array"
6863
- name: "Pypy"
6964
env_file: actions-pypy-38.yaml
7065
pattern: "not slow and not network and not single_cpu"
@@ -75,40 +70,26 @@ jobs:
7570
test_args: "-W error::DeprecationWarning -W error::FutureWarning"
7671
# TODO(cython3): Re-enable once next-beta(after beta 1) comes out
7772
# There are some warnings failing the build with -werror
78-
pandas_ci: 0
79-
exclude:
80-
- env_file: actions-38.yaml
81-
pyarrow_version: "8"
82-
- env_file: actions-38.yaml
83-
pyarrow_version: "9"
84-
- env_file: actions-39.yaml
85-
pyarrow_version: "8"
86-
- env_file: actions-39.yaml
87-
pyarrow_version: "9"
88-
- env_file: actions-310.yaml
89-
pyarrow_version: "8"
90-
- env_file: actions-310.yaml
91-
pyarrow_version: "9"
73+
pandas_ci: "0"
74+
- name: "Pyarrow Nightly"
75+
env_file: actions-311-pyarrownightly.yaml
76+
pattern: "not slow and not network and not single_cpu"
9277
fail-fast: false
93-
name: ${{ matrix.name || format('{0} pyarrow={1} {2}', matrix.env_file, matrix.pyarrow_version, matrix.pattern) }}
78+
name: ${{ matrix.name || matrix.env_file }}
9479
env:
9580
ENV_FILE: ci/deps/${{ matrix.env_file }}
9681
PATTERN: ${{ matrix.pattern }}
9782
EXTRA_APT: ${{ matrix.extra_apt || '' }}
9883
LANG: ${{ matrix.lang || '' }}
9984
LC_ALL: ${{ matrix.lc_all || '' }}
100-
PANDAS_DATA_MANAGER: ${{ matrix.pandas_data_manager || 'block' }}
10185
PANDAS_COPY_ON_WRITE: ${{ matrix.pandas_copy_on_write || '0' }}
102-
PANDAS_CI: ${{ matrix.pandas_ci }}
86+
PANDAS_CI: ${{ matrix.pandas_ci || '1' }}
10387
TEST_ARGS: ${{ matrix.test_args || '' }}
104-
PYTEST_WORKERS: ${{ contains(matrix.pattern, 'not single_cpu') && 'auto' || '1' }}
88+
PYTEST_WORKERS: 'auto'
10589
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
106-
IS_PYPY: ${{ contains(matrix.env_file, 'pypy') }}
107-
# TODO: re-enable coverage on pypy, its slow
108-
COVERAGE: ${{ !contains(matrix.env_file, 'pypy') }}
10990
concurrency:
11091
# https://github.community/t/concurrecy-not-work-for-push/183068/7
111-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.pyarrow_version || '' }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_data_manager || '' }}
92+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}
11293
cancel-in-progress: true
11394

11495
services:
@@ -167,12 +148,21 @@ jobs:
167148
uses: ./.github/actions/setup-conda
168149
with:
169150
environment-file: ${{ env.ENV_FILE }}
170-
pyarrow-version: ${{ matrix.pyarrow_version }}
171151

172152
- name: Build Pandas
153+
id: build
173154
uses: ./.github/actions/build_pandas
174155

175-
- name: Test
156+
- name: Test (not single_cpu)
157+
uses: ./.github/actions/run-tests
158+
if: ${{ matrix.name != 'Pypy' }}
159+
env:
160+
# Set pattern to not single_cpu if not already set
161+
PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }}
162+
163+
- name: Test (single_cpu)
176164
uses: ./.github/actions/run-tests
177-
# TODO: Don't continue on error for PyPy
178-
continue-on-error: ${{ env.IS_PYPY == 'true' }}
165+
env:
166+
PATTERN: 'single_cpu'
167+
PYTEST_WORKERS: 1
168+
if: ${{ matrix.pattern == '' && (always() && steps.build.outcome == 'success')}}

.github/workflows/wheels.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
fetch-depth: 0
7272

7373
- name: Build wheels
74-
uses: pypa/cibuildwheel@v2.9.0
74+
uses: pypa/cibuildwheel@v2.12.1
7575
env:
7676
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
7777

@@ -170,7 +170,7 @@ jobs:
170170
# (1. Generate sdist 2. Build wheels from sdist)
171171
# This tests the sdists, and saves some build time
172172
python -m pip install dist/*.gz
173-
pip install hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17
173+
pip install hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17
174174
cd .. # Not a good idea to test within the src tree
175175
python -c "import pandas; print(pandas.__version__);
176176
pandas.test(extra_args=['-m not clipboard and not single_cpu and not slow and not network and not db', '-n 2']);

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ dist
5353
# type checkers
5454
pandas/py.typed
5555

56+
# pyenv
57+
.python-version
58+
5659
# tox testing tool
5760
.tox
5861
# rope

0 commit comments

Comments
 (0)