Skip to content

Commit f988f0d

Browse files
committed
Merge branch 'main' of https://github.com/pandas-dev/pandas into arrow-to-csv
2 parents 8328120 + 232d84e commit f988f0d

File tree

539 files changed

+10529
-6602
lines changed

Some content is hidden

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

539 files changed

+10529
-6602
lines changed

.circleci/config.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ jobs:
4747
- run:
4848
name: Build aarch64 wheels
4949
command: |
50-
pip3 install cibuildwheel==2.12.1
51-
cibuildwheel --output-dir wheelhouse
50+
pip3 install cibuildwheel==2.14.1
51+
cibuildwheel --prerelease-pythons --output-dir wheelhouse
5252
environment:
5353
CIBW_BUILD: << parameters.cibw-build >>
5454

@@ -91,4 +91,5 @@ workflows:
9191
only: /^v.*/
9292
matrix:
9393
parameters:
94-
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]
94+
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
95+
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]#, "cp312-manylinux_aarch64"]

.circleci/setup_env.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ source activate pandas-dev
4848
# downstream CI jobs that may also build pandas from source.
4949
export PANDAS_CI=1
5050

51-
if pip list | grep -q ^pandas; then
51+
if pip show pandas 1>/dev/null; then
5252
echo
5353
echo "remove any installed pandas package w/o removing anything else"
54-
pip uninstall -y pandas || true
54+
pip uninstall -y pandas
5555
fi
5656

5757
echo "Install pandas"

.gitattributes

+68
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,71 @@
1414
*.xls binary
1515
*.xlsx binary
1616
pandas/_version.py export-subst
17+
18+
19+
*.bz2 export-ignore
20+
*.csv export-ignore
21+
*.data export-ignore
22+
*.dta export-ignore
23+
*.feather export-ignore
24+
*.tar export-ignore
25+
*.gz export-ignore
26+
*.h5 export-ignore
27+
*.html export-ignore
28+
*.json export-ignore
29+
*.jsonl export-ignore
30+
*.kml export-ignore
31+
*.msgpack export-ignore
32+
*.pdf export-ignore
33+
*.parquet export-ignore
34+
*.pickle export-ignore
35+
*.pkl export-ignore
36+
*.png export-ignore
37+
*.pptx export-ignore
38+
*.ods export-ignore
39+
*.odt export-ignore
40+
*.orc export-ignore
41+
*.sas7bdat export-ignore
42+
*.sav export-ignore
43+
*.so export-ignore
44+
*.txt export-ignore
45+
*.xls export-ignore
46+
*.xlsb export-ignore
47+
*.xlsm export-ignore
48+
*.xlsx export-ignore
49+
*.xpt export-ignore
50+
*.cpt export-ignore
51+
*.xml export-ignore
52+
*.xsl export-ignore
53+
*.xz export-ignore
54+
*.zip export-ignore
55+
*.zst export-ignore
56+
*~ export-ignore
57+
.DS_Store export-ignore
58+
.git* export-ignore
59+
60+
*.py[ocd] export-ignore
61+
*.pxi export-ignore
62+
63+
# Ignoring stuff from the top level
64+
.circleci export-ignore
65+
.github export-ignore
66+
asv_bench export-ignore
67+
ci export-ignore
68+
doc export-ignore
69+
gitpod export-ignore
70+
MANIFEST.in export-ignore
71+
scripts export-ignore
72+
typings export-ignore
73+
web export-ignore
74+
CITATION.cff export-ignore
75+
codecov.yml export-ignore
76+
Dockerfile export-ignore
77+
environment.yml export-ignore
78+
setup.py export-ignore
79+
80+
81+
# GH 39321
82+
# csv_dir_path fixture checks the existence of the directory
83+
# exclude the whole directory to avoid running related tests in sdist
84+
pandas/tests/io/parser/data export-ignore

.github/workflows/autoupdate-pre-commit-config.yml

-39
This file was deleted.

.github/workflows/code-checks.yml

+1-21
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,8 @@ env:
1717
permissions:
1818
contents: read
1919

20+
# pre-commit run by https://pre-commit.ci/
2021
jobs:
21-
pre_commit:
22-
name: pre-commit
23-
runs-on: ubuntu-22.04
24-
concurrency:
25-
# https://github.community/t/concurrecy-not-work-for-push/183068/7
26-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-pre-commit
27-
cancel-in-progress: true
28-
steps:
29-
- name: Checkout
30-
uses: actions/checkout@v3
31-
32-
- name: Install Python
33-
uses: actions/setup-python@v4
34-
with:
35-
python-version: '3.9'
36-
37-
- name: Run pre-commit
38-
uses: pre-commit/[email protected]
39-
with:
40-
extra_args: --verbose --all-files
41-
4222
docstring_typing_manual_hooks:
4323
name: Docstring validation, typing, and other manual pre-commit hooks
4424
runs-on: ubuntu-22.04

.github/workflows/unit-tests.yml

+16-13
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ jobs:
103103

104104
services:
105105
mysql:
106-
image: mysql
106+
image: mysql:8.0.33
107107
env:
108108
MYSQL_ALLOW_EMPTY_PASSWORD: yes
109109
MYSQL_DATABASE: pandas
@@ -116,8 +116,9 @@ jobs:
116116
- 3306:3306
117117

118118
postgres:
119-
image: postgres
119+
image: postgres:13
120120
env:
121+
PGUSER: postgres
121122
POSTGRES_USER: postgres
122123
POSTGRES_PASSWORD: postgres
123124
POSTGRES_DB: pandas
@@ -130,7 +131,7 @@ jobs:
130131
- 5432:5432
131132

132133
moto:
133-
image: motoserver/moto:4.1.12
134+
image: motoserver/moto:4.1.13
134135
env:
135136
AWS_ACCESS_KEY_ID: foobar_key
136137
AWS_SECRET_ACCESS_KEY: foobar_secret
@@ -237,7 +238,7 @@ jobs:
237238
run: |
238239
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
239240
. ~/virtualenvs/pandas-dev/bin/activate
240-
python -m pip install -U pip wheel setuptools meson[ninja]==1.0.1 meson-python==0.13.1
241+
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.0.1 meson-python==0.13.1
241242
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
242243
python -m pip install --no-cache-dir --no-build-isolation -e .
243244
python -m pip list --no-cache-dir
@@ -275,7 +276,7 @@ jobs:
275276
run: |
276277
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
277278
. ~/virtualenvs/pandas-dev/bin/activate
278-
python -m pip install -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.0.1
279+
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.0.1
279280
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
280281
python -m pip install --no-cache-dir --no-build-isolation -e .
281282
python -m pip list --no-cache-dir
@@ -310,12 +311,16 @@ jobs:
310311
# To freeze this file, uncomment out the ``if: false`` condition, and migrate the jobs
311312
# to the corresponding posix/windows-macos/sdist etc. workflows.
312313
# Feel free to modify this comment as necessary.
313-
if: false # Uncomment this to freeze the workflow, comment it to unfreeze
314+
#if: false # Uncomment this to freeze the workflow, comment it to unfreeze
314315
runs-on: ${{ matrix.os }}
315316
strategy:
316317
fail-fast: false
317318
matrix:
318-
os: [ubuntu-22.04, macOS-latest, windows-latest]
319+
# TODO: Disable macOS for now, Github Actions bug where python is not
320+
# symlinked correctly to 3.12
321+
# xref https://github.com/actions/setup-python/issues/701
322+
#os: [ubuntu-22.04, macOS-latest, windows-latest]
323+
os: [ubuntu-22.04, windows-latest]
319324

320325
timeout-minutes: 180
321326

@@ -328,7 +333,6 @@ jobs:
328333
PYTEST_WORKERS: "auto"
329334
PANDAS_CI: 1
330335
PATTERN: "not slow and not network and not clipboard and not single_cpu"
331-
COVERAGE: true
332336
PYTEST_TARGET: pandas
333337

334338
steps:
@@ -339,21 +343,20 @@ jobs:
339343
- name: Set up Python Dev Version
340344
uses: actions/setup-python@v4
341345
with:
342-
python-version: '3.11-dev'
346+
python-version: '3.12-dev'
343347

344348
- name: Install dependencies
345349
run: |
346350
python --version
347-
python -m pip install --upgrade pip setuptools wheel
351+
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.0.1 meson-python==0.13.1
348352
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
349-
python -m pip install git+https://github.com/nedbat/coveragepy.git
350353
python -m pip install versioneer[toml]
351-
python -m pip install python-dateutil pytz cython hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
354+
python -m pip install python-dateutil pytz tzdata cython hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
352355
python -m pip list
353356
354357
- name: Build Pandas
355358
run: |
356-
python -m pip install -e . --no-build-isolation --no-index
359+
python -m pip install -ve . --no-build-isolation --no-index
357360
358361
- name: Build Version
359362
run: |

.github/workflows/wheels.yml

+8-4
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ jobs:
9393
- [macos-12, macosx_*]
9494
- [windows-2022, win_amd64]
9595
# TODO: support PyPy?
96-
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"]]
96+
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
97+
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"]]#, ["cp312", "3.12"]]
9798
env:
9899
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
99100
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
@@ -103,6 +104,8 @@ jobs:
103104
with:
104105
fetch-depth: 0
105106

107+
# We need to build wheels from the sdist since the sdist
108+
# removes unnecessary files from the release
106109
- name: Download sdist
107110
uses: actions/download-artifact@v3
108111
with:
@@ -114,9 +117,10 @@ jobs:
114117
# TODO: Build wheels from sdist again
115118
# There's some sort of weird race condition?
116119
# within Github that makes the sdist be missing files
117-
#with:
118-
# package-dir: ./dist/${{ needs.build_sdist.outputs.sdist_file }}
120+
with:
121+
package-dir: ./dist/${{ needs.build_sdist.outputs.sdist_file }}
119122
env:
123+
CIBW_PRERELEASE_PYTHONS: True
120124
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
121125

122126
- name: Set up Python
@@ -142,7 +146,7 @@ jobs:
142146
$TST_CMD = @"
143147
python -m pip install pytz six numpy python-dateutil tzdata>=2022.1 hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17;
144148
python -m pip install --find-links=pandas\wheelhouse --no-index pandas;
145-
python -c `'import pandas as pd; pd.test()`';
149+
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`\"\"])`';
146150
"@
147151
docker pull python:${{ matrix.python[1] }}-windowsservercore
148152
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] }}-windowsservercore powershell -Command $TST_CMD

.libcst.codemod.yaml

-18
This file was deleted.

0 commit comments

Comments
 (0)