Skip to content

Commit be31b51

Browse files
committed
Merge branch 'main' of https://github.com/pandas-dev/pandas into depr_core_groupby
2 parents 765d99f + 589d97d commit be31b51

File tree

413 files changed

+22022
-17521
lines changed

Some content is hidden

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

413 files changed

+22022
-17521
lines changed

.circleci/config.yml

+5
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ jobs:
4949
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
5050
command: |
5151
pip3 install cibuildwheel==2.15.0
52+
# When this is a nightly wheel build, allow picking up NumPy 2.0 dev wheels:
53+
if [[ "$IS_SCHEDULE_DISPATCH" == "true" || "$IS_PUSH" != 'true' ]]; then
54+
export CIBW_ENVIRONMENT="PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
55+
fi
5256
cibuildwheel --prerelease-pythons --output-dir wheelhouse
57+
5358
environment:
5459
CIBW_BUILD: << parameters.cibw-build >>
5560

.github/workflows/unit-tests.yml

+8-4
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ jobs:
6969
env_file: actions-311.yaml
7070
pattern: "not slow and not network and not single_cpu"
7171
pandas_copy_on_write: "1"
72+
- name: "Copy-on-Write 3.11 (warnings)"
73+
env_file: actions-311.yaml
74+
pattern: "not slow and not network and not single_cpu"
75+
pandas_copy_on_write: "warn"
7276
- name: "Pypy"
7377
env_file: actions-pypy-39.yaml
7478
pattern: "not slow and not network and not single_cpu"
@@ -94,7 +98,7 @@ jobs:
9498
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
9599
concurrency:
96100
# https://github.community/t/concurrecy-not-work-for-push/183068/7
97-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}
101+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_copy_on_write || '' }}
98102
cancel-in-progress: true
99103

100104
services:
@@ -236,7 +240,7 @@ jobs:
236240
. ~/virtualenvs/pandas-dev/bin/activate
237241
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
238242
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
239-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.3" python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
243+
python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
240244
python -m pip install --no-cache-dir --no-build-isolation -e .
241245
python -m pip list --no-cache-dir
242246
export PANDAS_CI=1
@@ -274,7 +278,7 @@ jobs:
274278
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
275279
. ~/virtualenvs/pandas-dev/bin/activate
276280
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
277-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.3" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
281+
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
278282
python -m pip install --no-cache-dir --no-build-isolation -e .
279283
python -m pip list --no-cache-dir
280284
@@ -347,7 +351,7 @@ jobs:
347351
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.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
349353
python -m pip install versioneer[toml]
350-
python -m pip install python-dateutil pytz tzdata "cython<3.0.3" 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
351355
python -m pip install -ve . --no-build-isolation --no-index --no-deps
352356
python -m pip list
353357

.github/workflows/wheels.yml

+14-1
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,27 @@ jobs:
137137
shell: bash -el {0}
138138
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
139139

140-
- name: Build wheels
140+
- name: Build normal wheels
141+
if: ${{ (env.IS_SCHEDULE_DISPATCH != 'true' || env.IS_PUSH == 'true') }}
141142
uses: pypa/[email protected]
142143
with:
143144
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
144145
env:
145146
CIBW_PRERELEASE_PYTHONS: True
146147
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
147148

149+
- name: Build nightly wheels (with NumPy pre-release)
150+
if: ${{ (env.IS_SCHEDULE_DISPATCH == 'true' && env.IS_PUSH != 'true') }}
151+
uses: pypa/[email protected]
152+
with:
153+
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
154+
env:
155+
# The nightly wheels should be build witht he NumPy 2.0 pre-releases
156+
# which requires the additional URL.
157+
CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
158+
CIBW_PRERELEASE_PYTHONS: True
159+
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
160+
148161
- name: Set up Python
149162
uses: mamba-org/setup-micromamba@v1
150163
with:

.pre-commit-config.yaml

+7-13
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,6 @@ repos:
7070
- id: fix-encoding-pragma
7171
args: [--remove]
7272
- id: trailing-whitespace
73-
- repo: https://github.com/cpplint/cpplint
74-
rev: 1.6.1
75-
hooks:
76-
- id: cpplint
77-
exclude: ^pandas/_libs/include/pandas/vendored/klib
78-
args: [
79-
--quiet,
80-
'--extensions=c,h',
81-
'--headers=h',
82-
--recursive,
83-
--linelength=88,
84-
'--filter=-readability/casting,-runtime/int,-build/include_subdir,-readability/fn_size'
85-
]
8673
- repo: https://github.com/pylint-dev/pylint
8774
rev: v3.0.0b0
8875
hooks:
@@ -127,6 +114,13 @@ repos:
127114
rev: v0.6.8
128115
hooks:
129116
- id: sphinx-lint
117+
- repo: https://github.com/pre-commit/mirrors-clang-format
118+
rev: ea59a72
119+
hooks:
120+
- id: clang-format
121+
files: ^pandas/_libs/src|^pandas/_libs/include
122+
args: [-i]
123+
types_or: [c, c++]
130124
- repo: local
131125
hooks:
132126
- id: pyright

asv_bench/benchmarks/groupby.py

+4
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@
7373
"ffill",
7474
"first",
7575
"head",
76+
"idxmax",
77+
"idxmin",
7678
"last",
7779
"median",
7880
"nunique",
@@ -588,6 +590,8 @@ class GroupByCythonAgg:
588590
"prod",
589591
"min",
590592
"max",
593+
"idxmin",
594+
"idxmax",
591595
"mean",
592596
"median",
593597
"var",

ci/deps/actions-310.yaml

+30-28
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ dependencies:
66

77
# build dependencies
88
- versioneer[toml]
9-
- cython>=0.29.33, <3.0.3
9+
- cython>=0.29.33
1010
- meson[ninja]=1.2.1
1111
- meson-python=0.13.1
1212

@@ -24,39 +24,41 @@ dependencies:
2424
- pytz
2525

2626
# optional dependencies
27-
- beautifulsoup4>=4.11.1
28-
- blosc>=1.21.0
29-
- bottleneck>=1.3.4
30-
- fastparquet>=0.8.1
31-
- fsspec>=2022.05.0
27+
- beautifulsoup4>=4.11.2
28+
- blosc>=1.21.3
29+
- bottleneck>=1.3.6
30+
- fastparquet>=2022.12.0
31+
- fsspec>=2022.11.0
3232
- html5lib>=1.1
3333
- hypothesis>=6.46.1
34-
- gcsfs>=2022.05.0
34+
- gcsfs>=2022.11.0
3535
- jinja2>=3.1.2
36-
- lxml>=4.8.0
37-
- matplotlib>=3.6.1, <3.8
38-
- numba>=0.55.2
39-
- numexpr>=2.8.0
36+
- lxml>=4.9.2
37+
- matplotlib>=3.6.3, <3.8
38+
- numba>=0.56.4
39+
- numexpr>=2.8.4
4040
- odfpy>=1.4.1
41-
- qtpy>=2.2.0
42-
- openpyxl>=3.0.10
43-
- pandas-gbq>=0.17.5
44-
- psycopg2>=2.9.3
45-
- pyarrow>=7.0.0
41+
- qtpy>=2.3.0
42+
- openpyxl>=3.1.0
43+
# Doesn't install well with pyarrow
44+
# https://github.com/pandas-dev/pandas/issues/55525
45+
# - pandas-gbq>=0.19.0
46+
- psycopg2>=2.9.6
47+
- pyarrow>=10.0.1
4648
- pymysql>=1.0.2
47-
- pyreadstat>=1.1.5
48-
- pytables>=3.7.0
49+
- pyreadstat>=1.2.0
50+
- pytables>=3.8.0
4951
- python-calamine>=0.1.6
50-
- pyxlsb>=1.0.9
51-
- s3fs>=2022.05.0
52-
- scipy>=1.8.1
53-
- sqlalchemy>=1.4.36
54-
- tabulate>=0.8.10
55-
- xarray>=2022.03.0
52+
- pyxlsb>=1.0.10
53+
- s3fs>=2022.11.0
54+
- scipy>=1.10.0
55+
- sqlalchemy>=2.0.0
56+
- tabulate>=0.9.0
57+
- xarray>=2022.12.0
5658
- xlrd>=2.0.1
57-
- xlsxwriter>=3.0.3
58-
- zstandard>=0.17.0
59+
- xlsxwriter>=3.0.5
60+
- zstandard>=0.19.0
5961

6062
- pip:
61-
- pyqt5>=5.15.6
62-
- tzdata>=2022.1
63+
- pyqt5>=5.15.8
64+
- tzdata>=2022.7

ci/deps/actions-311-downstream_compat.yaml

+30-28
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependencies:
77

88
# build dependencies
99
- versioneer[toml]
10-
- cython>=0.29.33, <3.0.3
10+
- cython>=0.29.33
1111
- meson[ninja]=1.2.1
1212
- meson-python=0.13.1
1313

@@ -25,38 +25,40 @@ dependencies:
2525
- pytz
2626

2727
# optional dependencies
28-
- beautifulsoup4>=4.11.1
29-
- blosc>=1.21.0
30-
- bottleneck>=1.3.4
31-
- fastparquet>=0.8.1
32-
- fsspec>=2022.05.0
28+
- beautifulsoup4>=4.11.2
29+
- blosc>=1.21.3
30+
- bottleneck>=1.3.6
31+
- fastparquet>=2022.12.0
32+
- fsspec>=2022.11.0
3333
- html5lib>=1.1
3434
- hypothesis>=6.46.1
35-
- gcsfs>=2022.05.0
35+
- gcsfs>=2022.11.0
3636
- jinja2>=3.1.2
37-
- lxml>=4.8.0
38-
- matplotlib>=3.6.1, <3.8
39-
- numba>=0.55.2
40-
- numexpr>=2.8.0
37+
- lxml>=4.9.2
38+
- matplotlib>=3.6.3, <3.8
39+
- numba>=0.56.4
40+
- numexpr>=2.8.4
4141
- odfpy>=1.4.1
42-
- qtpy>=2.2.0
43-
- openpyxl>=3.0.10
44-
- pandas-gbq>=0.17.5
45-
- psycopg2>=2.9.3
46-
- pyarrow>=7.0.0
42+
- qtpy>=2.3.0
43+
- openpyxl>=3.1.0
44+
# Doesn't install well with pyarrow
45+
# https://github.com/pandas-dev/pandas/issues/55525
46+
# - pandas-gbq>=0.19.0
47+
- psycopg2>=2.9.6
48+
- pyarrow>=10.0.1
4749
- pymysql>=1.0.2
48-
- pyreadstat>=1.1.5
49-
- pytables>=3.7.0
50+
- pyreadstat>=1.2.0
51+
- pytables>=3.8.0
5052
- python-calamine>=0.1.6
51-
- pyxlsb>=1.0.9
52-
- s3fs>=2022.05.0
53-
- scipy>=1.8.1
54-
- sqlalchemy>=1.4.36
55-
- tabulate>=0.8.10
56-
- xarray>=2022.03.0
53+
- pyxlsb>=1.0.10
54+
- s3fs>=2022.11.0
55+
- scipy>=1.10.0
56+
- sqlalchemy>=2.0.0
57+
- tabulate>=0.9.0
58+
- xarray>=2022.12.0
5759
- xlrd>=2.0.1
58-
- xlsxwriter>=3.0.3
59-
- zstandard>=0.17.0
60+
- xlsxwriter>=3.0.5
61+
- zstandard>=0.19.0
6062

6163
# downstream packages
6264
- botocore
@@ -73,5 +75,5 @@ dependencies:
7375
- py
7476
- pip:
7577
- dataframe-api-compat>=0.1.7
76-
- pyqt5>=5.15.6
77-
- tzdata>=2022.1
78+
- pyqt5>=5.15.8
79+
- tzdata>=2022.7

ci/deps/actions-311-numpydev.yaml

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies:
88
- versioneer[toml]
99
- meson[ninja]=1.2.1
1010
- meson-python=0.13.1
11-
- cython>=0.29.33, <3.0.3
11+
- cython>=0.29.33
1212

1313
# test dependencies
1414
- pytest>=7.3.2
@@ -29,5 +29,4 @@ dependencies:
2929
- "--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
3030
- "--pre"
3131
- "numpy"
32-
- "scipy"
33-
- "tzdata>=2022.1"
32+
- "tzdata>=2022.7"

ci/deps/actions-311-pyarrownightly.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependencies:
77
# build dependencies
88
- versioneer[toml]
99
- meson[ninja]=1.2.1
10-
- cython>=0.29.33, <3.0.3
10+
- cython>=0.29.33
1111
- meson-python=0.13.1
1212

1313
# test dependencies
@@ -24,7 +24,7 @@ dependencies:
2424
- pip
2525

2626
- pip:
27-
- "tzdata>=2022.1"
27+
- "tzdata>=2022.7"
2828
- "--extra-index-url https://pypi.fury.io/arrow-nightlies/"
2929
- "--prefer-binary"
3030
- "--pre"

0 commit comments

Comments
 (0)