Skip to content

Commit 7e11605

Browse files
authored
Merge branch 'main' into enh-allow-for-insert-method-multi-with-oracle
2 parents 9bdbf8e + c8e7a98 commit 7e11605

File tree

310 files changed

+7930
-4442
lines changed

Some content is hidden

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

310 files changed

+7930
-4442
lines changed

.circleci/config.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
name: Build aarch64 wheels
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: |
51-
pip3 install cibuildwheel==2.14.1
51+
pip3 install cibuildwheel==2.15.0
5252
cibuildwheel --prerelease-pythons --output-dir wheelhouse
5353
environment:
5454
CIBW_BUILD: << parameters.cibw-build >>
@@ -92,5 +92,4 @@ workflows:
9292
only: /^v.*/
9393
matrix:
9494
parameters:
95-
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
96-
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64"]#, "cp312-manylinux_aarch64"]
95+
cibw-build: ["cp39-manylinux_aarch64", "cp310-manylinux_aarch64", "cp311-manylinux_aarch64", "cp312-manylinux_aarch64"]

.github/workflows/code-checks.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: Checkout
36-
uses: actions/checkout@v3
36+
uses: actions/checkout@v4
3737
with:
3838
fetch-depth: 0
3939

@@ -109,7 +109,7 @@ jobs:
109109

110110
steps:
111111
- name: Checkout
112-
uses: actions/checkout@v3
112+
uses: actions/checkout@v4
113113
with:
114114
fetch-depth: 0
115115

@@ -143,7 +143,7 @@ jobs:
143143
run: docker image prune -f
144144

145145
- name: Checkout
146-
uses: actions/checkout@v3
146+
uses: actions/checkout@v4
147147
with:
148148
fetch-depth: 0
149149

@@ -164,7 +164,7 @@ jobs:
164164

165165
steps:
166166
- name: Checkout
167-
uses: actions/checkout@v3
167+
uses: actions/checkout@v4
168168
with:
169169
fetch-depth: 0
170170

.github/workflows/codeql.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- python
2828

2929
steps:
30-
- uses: actions/checkout@v3
30+
- uses: actions/checkout@v4
3131
- uses: github/codeql-action/init@v2
3232
with:
3333
languages: ${{ matrix.language }}

.github/workflows/comment-commands.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151

5252
steps:
5353
- name: Checkout
54-
uses: actions/checkout@v3
54+
uses: actions/checkout@v4
5555
with:
5656
fetch-depth: 0
5757

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
steps:
3838
- name: Checkout
39-
uses: actions/checkout@v3
39+
uses: actions/checkout@v4
4040
with:
4141
fetch-depth: 0
4242

.github/workflows/package-checks.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
runs-on: ubuntu-22.04
2525
strategy:
2626
matrix:
27-
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output_formatting", "clipboard", "compression", "consortium-standard", "all"]
27+
extra: ["test", "performance", "computation", "fss", "aws", "gcp", "excel", "parquet", "feather", "hdf5", "spss", "postgresql", "mysql", "sql-other", "html", "xml", "plot", "output-formatting", "clipboard", "compression", "consortium-standard", "all"]
2828
fail-fast: false
2929
name: Install Extras - ${{ matrix.extra }}
3030
concurrency:
@@ -34,7 +34,7 @@ jobs:
3434

3535
steps:
3636
- name: Checkout
37-
uses: actions/checkout@v3
37+
uses: actions/checkout@v4
3838
with:
3939
fetch-depth: 0
4040

@@ -62,7 +62,7 @@ jobs:
6262
cancel-in-progress: true
6363
steps:
6464
- name: Checkout
65-
uses: actions/checkout@v3
65+
uses: actions/checkout@v4
6666
with:
6767
fetch-depth: 0
6868

.github/workflows/unit-tests.yml

+11-9
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ jobs:
136136

137137
steps:
138138
- name: Checkout
139-
uses: actions/checkout@v3
139+
uses: actions/checkout@v4
140140
with:
141141
fetch-depth: 0
142142

@@ -194,7 +194,7 @@ jobs:
194194

195195
steps:
196196
- name: Checkout
197-
uses: actions/checkout@v3
197+
uses: actions/checkout@v4
198198
with:
199199
fetch-depth: 0
200200

@@ -230,11 +230,13 @@ jobs:
230230
git -c user.email="[email protected]" merge --no-commit my_ref_name
231231
fi
232232
- name: Build environment and Run Tests
233+
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
233234
run: |
234235
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
235236
. ~/virtualenvs/pandas-dev/bin/activate
236-
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.0.1 meson-python==0.13.1
237-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.1" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
237+
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
238+
python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"
239+
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
238240
python -m pip install --no-cache-dir --no-build-isolation -e .
239241
python -m pip list --no-cache-dir
240242
export PANDAS_CI=1
@@ -271,8 +273,8 @@ jobs:
271273
run: |
272274
/opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
273275
. ~/virtualenvs/pandas-dev/bin/activate
274-
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.0.1
275-
python -m pip install --no-cache-dir versioneer[toml] "cython<3.0.1" numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
276+
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 numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1
276278
python -m pip install --no-cache-dir --no-build-isolation -e .
277279
python -m pip list --no-cache-dir
278280
@@ -330,7 +332,7 @@ jobs:
330332
PYTEST_TARGET: pandas
331333

332334
steps:
333-
- uses: actions/checkout@v3
335+
- uses: actions/checkout@v4
334336
with:
335337
fetch-depth: 0
336338

@@ -342,10 +344,10 @@ jobs:
342344
- name: Build Environment
343345
run: |
344346
python --version
345-
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.0.1 meson-python==0.13.1
347+
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
346348
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
347349
python -m pip install versioneer[toml]
348-
python -m pip install python-dateutil pytz tzdata "cython<3.0.1" hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17
350+
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
349351
python -m pip install -ve . --no-build-isolation --no-index
350352
python -m pip list
351353

.github/workflows/wheels.yml

+12-10
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
sdist_file: ${{ steps.save-path.outputs.sdist_name }}
4949
steps:
5050
- name: Checkout pandas
51-
uses: actions/checkout@v3
51+
uses: actions/checkout@v4
5252
with:
5353
fetch-depth: 0
5454

@@ -97,14 +97,13 @@ jobs:
9797
- [macos-12, macosx_*]
9898
- [windows-2022, win_amd64]
9999
# TODO: support PyPy?
100-
# TODO: Enable Python 3.12 wheels when numpy releases a version that supports Python 3.12
101-
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"]]#, ["cp312", "3.12"]]
100+
python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"]]
102101
env:
103102
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
104103
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
105104
steps:
106105
- name: Checkout pandas
107-
uses: actions/checkout@v3
106+
uses: actions/checkout@v4
108107
with:
109108
fetch-depth: 0
110109

@@ -139,7 +138,7 @@ jobs:
139138
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
140139

141140
- name: Build wheels
142-
uses: pypa/cibuildwheel@v2.15.0
141+
uses: pypa/cibuildwheel@v2.16.0
143142
with:
144143
package-dir: ./dist/${{ matrix.buildplat[1] == 'macosx_*' && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
145144
env:
@@ -150,8 +149,10 @@ jobs:
150149
uses: mamba-org/setup-micromamba@v1
151150
with:
152151
environment-name: wheel-env
152+
# Use a fixed Python, since we might have an unreleased Python not
153+
# yet present on conda-forge
153154
create-args: >-
154-
python=${{ matrix.python[1] }}
155+
python=3.11
155156
anaconda-client
156157
wheel
157158
cache-downloads: true
@@ -167,12 +168,13 @@ jobs:
167168
shell: pwsh
168169
run: |
169170
$TST_CMD = @"
170-
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;
171-
python -m pip install --find-links=pandas\wheelhouse --no-index pandas;
171+
python -m pip install hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-asyncio>=0.17;
172+
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
172173
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`\"\"])`';
173174
"@
174-
docker pull python:${{ matrix.python[1] }}-windowsservercore
175-
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] }}-windowsservercore powershell -Command $TST_CMD
175+
# add rc to the end of the image name if the Python version is unreleased
176+
docker pull python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }}
177+
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }} powershell -Command $TST_CMD
176178
177179
- uses: actions/upload-artifact@v3
178180
with:

.pre-commit-config.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ ci:
2020
repos:
2121
- repo: https://github.com/hauntsaninja/black-pre-commit-mirror
2222
# black compiled with mypyc
23-
rev: 23.7.0
23+
rev: 23.9.1
2424
hooks:
2525
- id: black
2626
- repo: https://github.com/astral-sh/ruff-pre-commit
27-
rev: v0.0.285
27+
rev: v0.0.291
2828
hooks:
2929
- id: ruff
3030
args: [--exit-non-zero-on-fix]
@@ -34,7 +34,7 @@ repos:
3434
alias: ruff-selected-autofixes
3535
args: [--select, "ANN001,ANN204", --fix-only, --exit-non-zero-on-fix]
3636
- repo: https://github.com/jendrikseipp/vulture
37-
rev: 'v2.7'
37+
rev: 'v2.9.1'
3838
hooks:
3939
- id: vulture
4040
entry: python scripts/run_vulture.py
@@ -84,7 +84,7 @@ repos:
8484
'--filter=-readability/casting,-runtime/int,-build/include_subdir,-readability/fn_size'
8585
]
8686
- repo: https://github.com/pylint-dev/pylint
87-
rev: v3.0.0a6
87+
rev: v3.0.0a7
8888
hooks:
8989
- id: pylint
9090
stages: [manual]
@@ -107,7 +107,7 @@ repos:
107107
hooks:
108108
- id: isort
109109
- repo: https://github.com/asottile/pyupgrade
110-
rev: v3.10.1
110+
rev: v3.13.0
111111
hooks:
112112
- id: pyupgrade
113113
args: [--py39-plus]
@@ -124,7 +124,7 @@ repos:
124124
types: [text] # overwrite types: [rst]
125125
types_or: [python, rst]
126126
- repo: https://github.com/sphinx-contrib/sphinx-lint
127-
rev: v0.6.7
127+
rev: v0.6.8
128128
hooks:
129129
- id: sphinx-lint
130130
- repo: local

asv_bench/benchmarks/array.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def time_setitem(self, multiple_chunks):
9090
self.array[i] = "foo"
9191

9292
def time_setitem_list(self, multiple_chunks):
93-
indexer = list(range(0, 50)) + list(range(-1000, 0, 50))
93+
indexer = list(range(50)) + list(range(-1000, 0, 50))
9494
self.array[indexer] = ["foo"] * len(indexer)
9595

9696
def time_setitem_slice(self, multiple_chunks):

asv_bench/benchmarks/groupby.py

+17
Original file line numberDiff line numberDiff line change
@@ -841,6 +841,23 @@ def time_groupby_sum_multiindex(self):
841841
self.df.groupby(level=[0, 1]).sum()
842842

843843

844+
class SumTimeDelta:
845+
# GH 20660
846+
def setup(self):
847+
N = 10**4
848+
self.df = DataFrame(
849+
np.random.randint(1000, 100000, (N, 100)),
850+
index=np.random.randint(200, size=(N,)),
851+
).astype("timedelta64[ns]")
852+
self.df_int = self.df.copy().astype("int64")
853+
854+
def time_groupby_sum_timedelta(self):
855+
self.df.groupby(lambda x: x).sum()
856+
857+
def time_groupby_sum_int(self):
858+
self.df_int.groupby(lambda x: x).sum()
859+
860+
844861
class Transform:
845862
def setup(self):
846863
n1 = 400

asv_bench/benchmarks/join_merge.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -360,14 +360,14 @@ class MergeCategoricals:
360360
def setup(self):
361361
self.left_object = DataFrame(
362362
{
363-
"X": np.random.choice(range(0, 10), size=(10000,)),
363+
"X": np.random.choice(range(10), size=(10000,)),
364364
"Y": np.random.choice(["one", "two", "three"], size=(10000,)),
365365
}
366366
)
367367

368368
self.right_object = DataFrame(
369369
{
370-
"X": np.random.choice(range(0, 10), size=(10000,)),
370+
"X": np.random.choice(range(10), size=(10000,)),
371371
"Z": np.random.choice(["jjj", "kkk", "sss"], size=(10000,)),
372372
}
373373
)

ci/deps/actions-310.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ dependencies:
66

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

1313
# test dependencies
@@ -34,7 +34,7 @@ dependencies:
3434
- gcsfs>=2022.05.0
3535
- jinja2>=3.1.2
3636
- lxml>=4.8.0
37-
- matplotlib>=3.6.1
37+
- matplotlib>=3.6.1, <3.8
3838
- numba>=0.55.2
3939
- numexpr>=2.8.0
4040
- odfpy>=1.4.1
@@ -46,6 +46,7 @@ dependencies:
4646
- pymysql>=1.0.2
4747
- pyreadstat>=1.1.5
4848
- pytables>=3.7.0
49+
- python-calamine>=0.1.6
4950
- pyxlsb>=1.0.9
5051
- s3fs>=2022.05.0
5152
- scipy>=1.8.1

ci/deps/actions-311-downstream_compat.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ dependencies:
77

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

1414
# test dependencies
@@ -35,7 +35,7 @@ dependencies:
3535
- gcsfs>=2022.05.0
3636
- jinja2>=3.1.2
3737
- lxml>=4.8.0
38-
- matplotlib>=3.6.1
38+
- matplotlib>=3.6.1, <3.8
3939
- numba>=0.55.2
4040
- numexpr>=2.8.0
4141
- odfpy>=1.4.1
@@ -47,6 +47,7 @@ dependencies:
4747
- pymysql>=1.0.2
4848
- pyreadstat>=1.1.5
4949
- pytables>=3.7.0
50+
- python-calamine>=0.1.6
5051
- pyxlsb>=1.0.9
5152
- s3fs>=2022.05.0
5253
- scipy>=1.8.1

0 commit comments

Comments
 (0)