Skip to content

Commit 09e686b

Browse files
authored
Merge branch 'main' into PR02-fix
2 parents 546527d + 54caaaa commit 09e686b

File tree

273 files changed

+13799
-6417
lines changed

Some content is hidden

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

273 files changed

+13799
-6417
lines changed

.github/actions/build_pandas/action.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ inputs:
66
default: true
77
werror:
88
description: Enable werror flag for build
9-
# TMP disable werror until we fix all warnings with more recent meson
10-
default: false
9+
default: true
1110
runs:
1211
using: composite
1312
steps:

.github/workflows/code-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.3.x
7+
- 3.0.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.3.x
11+
- 3.0.x
1212

1313
env:
1414
ENV_FILE: environment.yml

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.3.x
7+
- 3.0.x
88
tags:
99
- '*'
1010
pull_request:
1111
branches:
1212
- main
13-
- 2.3.x
13+
- 3.0.x
1414
workflow_dispatch:
1515
inputs:
1616
version:

.github/workflows/package-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.3.x
7+
- 3.0.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.3.x
11+
- 3.0.x
1212
types: [ labeled, opened, synchronize, reopened ]
1313

1414
permissions:

.github/workflows/unit-tests.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
push:
55
branches:
66
- main
7-
- 2.3.x
7+
- 3.0.x
88
pull_request:
99
branches:
1010
- main
11-
- 2.3.x
11+
- 3.0.x
1212
paths-ignore:
1313
- "doc/**"
1414
- "web/**"
@@ -166,10 +166,11 @@ jobs:
166166
- name: Build Pandas
167167
id: build
168168
uses: ./.github/actions/build_pandas
169-
# TMP disable werror until we fix all warnings with more recent meson
170-
# with:
171-
# # xref https://github.com/cython/cython/issues/6870
172-
# werror: ${{ matrix.name != 'Freethreading' }}
169+
with:
170+
# python3.14t/cpython/pyatomic_gcc.h:63:10:
171+
# error: ‘__atomic_fetch_add_8’
172+
# writing 8 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
173+
werror: ${{ matrix.name != 'Freethreading' }}
173174

174175
- name: Test (not single_cpu)
175176
uses: ./.github/actions/run-tests
@@ -242,14 +243,12 @@ jobs:
242243
fi
243244
- name: Build environment and Run Tests
244245
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
245-
# Note: Pinned to Cython 3.0.10 to avoid numerical instability in 32-bit environments
246-
# https://github.com/pandas-dev/pandas/pull/61423
247246
run: |
248247
/opt/python/cp313-cp313/bin/python -m venv ~/virtualenvs/pandas-dev
249248
. ~/virtualenvs/pandas-dev/bin/activate
250249
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
251250
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
252-
python -m pip install --no-cache-dir versioneer[toml] cython==3.0.10 python-dateutil pytest>=8.3.4 pytest-xdist>=3.6.1 hypothesis>=6.116.0
251+
python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytest>=8.3.4 pytest-xdist>=3.6.1 hypothesis>=6.116.0
253252
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
254253
python -m pip list --no-cache-dir
255254
PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml

asv_bench/benchmarks/categoricals.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def setup(self):
2929
self.datetimes_with_nat = self.datetimes.copy()
3030
self.datetimes_with_nat.iloc[-1] = pd.NaT
3131

32-
self.values_some_nan = list(np.tile(self.categories + [np.nan], N))
32+
self.values_some_nan = list(np.tile([*self.categories, np.nan], N))
3333
self.values_all_nan = [np.nan] * len(self.values)
3434
self.values_all_int8 = np.ones(N, "int8")
3535
self.categorical = pd.Categorical(self.values, self.categories)

asv_bench/benchmarks/ctors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ def list_of_lists(arr):
3939

4040

4141
def list_of_tuples_with_none(arr):
42-
return [(i, -i) for i in arr][:-1] + [None]
42+
return [*[(i, -i) for i in arr][:-1], None]
4343

4444

4545
def list_of_lists_with_none(arr):
46-
return [[i, -i] for i in arr][:-1] + [None]
46+
return [*[[i, -i] for i in arr][:-1], None]
4747

4848

4949
class SeriesConstructors:

asv_bench/benchmarks/hash_functions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ class Unique:
4444
param_names = ["dtype"]
4545

4646
def setup(self, dtype):
47-
self.ser = pd.Series(([1, pd.NA, 2] + list(range(100_000))) * 3, dtype=dtype)
48-
self.ser_unique = pd.Series(list(range(300_000)) + [pd.NA], dtype=dtype)
47+
self.ser = pd.Series(([1, pd.NA, 2, *range(100000)]) * 3, dtype=dtype)
48+
self.ser_unique = pd.Series([*range(300000), pd.NA], dtype=dtype)
4949

5050
def time_unique_with_duplicates(self, exponent):
5151
pd.unique(self.ser)
@@ -62,7 +62,7 @@ class NumericSeriesIndexing:
6262
param_names = ["dtype", "N"]
6363

6464
def setup(self, dtype, N):
65-
vals = np.array(list(range(55)) + [54] + list(range(55, N - 1)), dtype=dtype)
65+
vals = np.array([*range(55), 54, *range(55, N - 1)], dtype=dtype)
6666
indices = pd.Index(vals)
6767
self.data = pd.Series(np.arange(N), index=indices)
6868

@@ -79,7 +79,7 @@ class NumericSeriesIndexingShuffled:
7979
param_names = ["dtype", "N"]
8080

8181
def setup(self, dtype, N):
82-
vals = np.array(list(range(55)) + [54] + list(range(55, N - 1)), dtype=dtype)
82+
vals = np.array([*range(55), 54, *range(55, N - 1)], dtype=dtype)
8383
np.random.shuffle(vals)
8484
indices = pd.Index(vals)
8585
self.data = pd.Series(np.arange(N), index=indices)

asv_bench/benchmarks/indexing.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def setup(self, dtype, index_structure):
3636
indices = {
3737
"unique_monotonic_inc": Index(range(N), dtype=dtype),
3838
"nonunique_monotonic_inc": Index(
39-
list(range(55)) + [54] + list(range(55, N - 1)), dtype=dtype
39+
[*list(range(55)), 54, *list(range(55, N - 1))], dtype=dtype
4040
),
4141
}
4242
self.data = Series(np.random.rand(N), index=indices[index_structure])
@@ -85,7 +85,7 @@ def time_loc_slice(self, index, index_structure):
8585

8686
class NumericMaskedIndexing:
8787
monotonic_list = list(range(10**6))
88-
non_monotonic_list = list(range(50)) + [54, 53, 52, 51] + list(range(55, 10**6 - 1))
88+
non_monotonic_list = [*list(range(50)), 54, 53, 52, 51, *list(range(55, 10**6 - 1))]
8989

9090
params = [
9191
("Int64", "UInt64", "Float64"),
@@ -197,7 +197,7 @@ def setup(self, dtype, index_structure):
197197
indices = {
198198
"unique_monotonic_inc": Index(range(N), dtype=dtype),
199199
"nonunique_monotonic_inc": Index(
200-
list(range(55)) + [54] + list(range(55, N - 1)), dtype=dtype
200+
[*list(range(55)), 54, *list(range(55, N - 1))], dtype=dtype
201201
),
202202
}
203203
self.idx_dupe = np.array(range(30)) * 99
@@ -452,7 +452,7 @@ def setup(self, unique_cols):
452452
if not unique_cols:
453453
# GH#33032 single-row lookups with non-unique columns were
454454
# 15x slower than with unique columns
455-
df.columns = ["A", "A"] + list(df.columns[2:])
455+
df.columns = ["A", "A", *list(df.columns[2:])]
456456

457457
self.df = df
458458

asv_bench/benchmarks/multiindex_object.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ class Unique:
328328

329329
def setup(self, dtype_val):
330330
level = Series(
331-
[1, 2, dtype_val[1], dtype_val[1]] + list(range(1_000_000)),
331+
[1, 2, dtype_val[1], dtype_val[1], *list(range(1000000))],
332332
dtype=dtype_val[0],
333333
)
334334
self.midx = MultiIndex.from_arrays([level, level])

0 commit comments

Comments
 (0)