Skip to content

Commit 1f2ef68

Browse files
authored
Merge branch 'main' into dev/to_excel
2 parents 4a7994f + b033ca9 commit 1f2ef68

File tree

588 files changed

+12920
-9711
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

+12920
-9711
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
image: ubuntu-2004:2022.04.1
77
resource_class: arm.large
88
environment:
9-
ENV_FILE: ci/deps/circle-38-arm64.yaml
9+
ENV_FILE: ci/deps/circle-39-arm64.yaml
1010
PYTEST_WORKERS: auto
1111
PATTERN: "not single_cpu and not slow and not network and not clipboard and not arm_slow and not db"
1212
PYTEST_TARGET: "pandas"
@@ -92,4 +92,4 @@ workflows:
9292
only: /^v.*/
9393
matrix:
9494
parameters:
95-
cibw-build: ["cp38-manylinux_aarch64", "cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]
95+
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]

.circleci/setup_env.sh

+1-4
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,7 @@ if pip list | grep -q ^pandas; then
5454
pip uninstall -y pandas || true
5555
fi
5656

57-
echo "Build extensions"
58-
python setup.py build_ext -q -j4
59-
6057
echo "Install pandas"
61-
python -m pip install --no-build-isolation --no-use-pep517 -e .
58+
python -m pip install --no-build-isolation -ve .
6259

6360
echo "done"

.github/actions/build_pandas/action.yml

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: Build pandas
22
description: Rebuilds the C extensions and installs pandas
3+
inputs:
4+
editable:
5+
description: Whether to build pandas in editable mode (default true)
6+
default: true
37
runs:
48
using: composite
59
steps:
@@ -12,9 +16,9 @@ runs:
1216

1317
- name: Build Pandas
1418
run: |
15-
python setup.py build_ext -j $N_JOBS
16-
python -m pip install -e . --no-build-isolation --no-use-pep517 --no-index
19+
if [[ ${{ inputs.editable }} == "true" ]]; then
20+
pip install -e . --no-build-isolation -v
21+
else
22+
pip install . --no-build-isolation -v
23+
fi
1724
shell: bash -el {0}
18-
env:
19-
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
20-
N_JOBS: ${{ runner.os == 'macOS' && 3 || 2 }}

.github/actions/run-tests/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ runs:
77
shell: bash -el {0}
88

99
- name: Publish test results
10-
uses: actions/upload-artifact@v2
10+
uses: actions/upload-artifact@v3
1111
with:
1212
name: Test results
1313
path: test-data.xml
@@ -19,7 +19,7 @@ runs:
1919
if: failure()
2020

2121
- name: Upload coverage to Codecov
22-
uses: codecov/codecov-action@v2
22+
uses: codecov/codecov-action@v3
2323
with:
2424
flags: unittests
2525
name: codecov-pandas

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

+3-12
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,14 @@ inputs:
33
environment-file:
44
description: Conda environment file to use.
55
default: environment.yml
6-
environment-name:
7-
description: Name to use for the Conda environment
8-
default: test
9-
extra-specs:
10-
description: Extra packages to install
11-
required: false
126
runs:
137
using: composite
148
steps:
159
- name: Install ${{ inputs.environment-file }}
16-
uses: mamba-org/provision-with-micromamba@v12
10+
uses: mamba-org/setup-micromamba@v1
1711
with:
1812
environment-file: ${{ inputs.environment-file }}
19-
environment-name: ${{ inputs.environment-name }}
20-
extra-specs: ${{ inputs.extra-specs }}
21-
channels: conda-forge
22-
channel-priority: 'strict'
13+
environment-name: test
2314
condarc-file: ci/condarc.yml
24-
cache-env: true
15+
cache-environment: true
2516
cache-downloads: true

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

-58
This file was deleted.

.github/workflows/assign.yml

-19
This file was deleted.

.github/workflows/code-checks.yml

+17-5
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,24 @@ jobs:
6363
- name: Build Pandas
6464
id: build
6565
uses: ./.github/actions/build_pandas
66+
with:
67+
editable: false
6668

6769
# The following checks are independent of each other and should still be run if one fails
70+
71+
# TODO: The doctests have to be run first right now, since the Cython doctests only work
72+
# with pandas installed in non-editable mode
73+
# This can be removed once pytest-cython doesn't require C extensions to be installed inplace
74+
- name: Run doctests
75+
run: cd ci && ./code_checks.sh doctests
76+
if: ${{ steps.build.outcome == 'success' && always() }}
77+
78+
- name: Install pandas in editable mode
79+
id: build-editable
80+
uses: ./.github/actions/build_pandas
81+
with:
82+
editable: true
83+
6884
- name: Check for no warnings when building single-page docs
6985
run: ci/code_checks.sh single-docs
7086
if: ${{ steps.build.outcome == 'success' && always() }}
@@ -73,10 +89,6 @@ jobs:
7389
run: ci/code_checks.sh code
7490
if: ${{ steps.build.outcome == 'success' && always() }}
7591

76-
- name: Run doctests
77-
run: ci/code_checks.sh doctests
78-
if: ${{ steps.build.outcome == 'success' && always() }}
79-
8092
- name: Run docstring validation
8193
run: ci/code_checks.sh docstrings
8294
if: ${{ steps.build.outcome == 'success' && always() }}
@@ -179,7 +191,7 @@ jobs:
179191
id: setup_python
180192
uses: actions/setup-python@v4
181193
with:
182-
python-version: '3.8'
194+
python-version: '3.10'
183195
cache: 'pip'
184196
cache-dependency-path: 'requirements-dev.txt'
185197

.github/workflows/codeql.yml

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
actions: read
1919
contents: read
2020
security-events: write
21+
if: github.repository_owner == 'pandas-dev'
2122

2223
strategy:
2324
fail-fast: false

.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

-60
This file was deleted.

0 commit comments

Comments
 (0)