Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
434 commits
Select commit Hold shift + click to select a range
458b809
Remove deprecated raw string example from read_json doctest
vyasr Mar 10, 2026
5862bab
Merge pull request #21726 from vyasr/fix/update-doctests-pandas3
mroeschke Mar 10, 2026
bad3fee
Fix string udf failures (#21727)
galipremsagar Mar 10, 2026
e255c2d
Merge
galipremsagar Mar 10, 2026
68ac095
Fix join bug that shows up in index.difference
galipremsagar Mar 10, 2026
6fdcf91
Merge pull request #21734 from rapidsai/main
AyodeAwe Mar 10, 2026
599042f
Merge pull request #21733 from galipremsagar/Index_difference
mroeschke Mar 10, 2026
0cf74b2
Fix all binops failures (#21738)
galipremsagar Mar 10, 2026
bb57df7
Use reduction_axis for dataframes (#21743)
vyasr Mar 10, 2026
5b9a76d
Fix `astype(category)` for empty column scenarios (#21741)
galipremsagar Mar 10, 2026
36fc4e4
Merge pull request #21755 from rapidsai/main
AyodeAwe Mar 11, 2026
aac5da8
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 11, 2026
8928276
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 11, 2026
04fbe23
Fix all udf pytests (#21731)
galipremsagar Mar 12, 2026
d5ab5ab
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 12, 2026
d16cfc2
Merge
galipremsagar Mar 12, 2026
4ae3fec
Fix all explode failures (#21766)
galipremsagar Mar 12, 2026
4eaeff1
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 13, 2026
33f11cc
Merge
galipremsagar Mar 16, 2026
1da1f5e
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 16, 2026
6d80219
Make copy-on-write the default for pandas3 (#21801)
vyasr Mar 16, 2026
f022d9e
Merge pull request #21819 from rapidsai/main
AyodeAwe Mar 17, 2026
434bbcf
Fix all pytest failures in `test_apply.py` (#21835)
galipremsagar Mar 18, 2026
d660639
Fix pandas failures in fillna tests (#21830)
galipremsagar Mar 18, 2026
5abcdc6
Update test_attributes for new better cudf/pandas alignment (#21833)
vyasr Mar 18, 2026
22ee867
Merge
galipremsagar Mar 18, 2026
9b3d56d
Fix orc pytest failures (#21847)
galipremsagar Mar 19, 2026
4a71eb9
Fix failures in `rolling` pytests (#21846)
galipremsagar Mar 19, 2026
4bac3db
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 19, 2026
9e44de3
Fix all `Series.astype` bugs (#21860)
galipremsagar Mar 20, 2026
869f243
Merge pull request #21866 from rapidsai/main
AyodeAwe Mar 20, 2026
fe26e4c
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 20, 2026
af5676e
Merge pull request #21870 from rapidsai/main
AyodeAwe Mar 20, 2026
6a293da
Merge pull request #21883 from rapidsai/main
AyodeAwe Mar 21, 2026
d0d297b
Fix numpy `ufunc` return type (#21876)
galipremsagar Mar 23, 2026
5662316
Fix multiple repr issues in `cudf` with `pandas-3.0` (#21778)
galipremsagar Mar 23, 2026
3d67215
Use arrow type to fix test issue (#21878)
vyasr Mar 23, 2026
bc44a6f
Remove now unnecessary env var flags (#21877)
vyasr Mar 23, 2026
90c7dd8
Fix dtype issues in `test_between.py` (#21887)
galipremsagar Mar 23, 2026
e67983f
Fix `isin` test failures (#21886)
galipremsagar Mar 23, 2026
c4a525c
Merge pull request #21888 from rapidsai/main
AyodeAwe Mar 23, 2026
512e88a
Fix `string.to_pandas` for `nullable` & `arrow_type` cases (#21890)
galipremsagar Mar 23, 2026
75b936f
Fix `concat` & `union` bugs (#21889)
galipremsagar Mar 23, 2026
4e75d5d
Fix type inconsistencies in `diff` pytests (#21893)
galipremsagar Mar 24, 2026
186d507
Merge
galipremsagar Mar 24, 2026
3637dbe
Merge pull request #21906 from rapidsai/main
AyodeAwe Mar 24, 2026
da8bac9
Merge pull request #21926 from rapidsai/main
AyodeAwe Mar 25, 2026
76c4b96
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 25, 2026
e8cca4b
Merge pull request #21933 from rapidsai/main
AyodeAwe Mar 25, 2026
86c4657
Fix all `test_iloc.py` failures (#21872)
galipremsagar Mar 25, 2026
994cbe9
Fix all failures in `test_constructors.py` (#21905)
galipremsagar Mar 25, 2026
d0c29ad
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 25, 2026
fc01eda
Fix `replace` API & pytests (#21938)
galipremsagar Mar 25, 2026
beea5a2
Merge pull request #21943 from rapidsai/main
AyodeAwe Mar 30, 2026
2c8bd86
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Mar 30, 2026
d2dfd5d
Merge pull request #21952 from rapidsai/main
AyodeAwe Mar 30, 2026
da84d94
Fix all string related failures (#21939)
galipremsagar Mar 31, 2026
466faa4
Merge
galipremsagar Mar 31, 2026
6692021
Merge pull request #21969 from rapidsai/main
AyodeAwe Mar 31, 2026
175d119
Merge pull request #21978 from rapidsai/main
AyodeAwe Apr 1, 2026
cabe6b5
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 1, 2026
4f3a597
Fix `info` pytests (#21981)
galipremsagar Apr 1, 2026
9131e20
Update `loc` pytests (#21983)
galipremsagar Apr 1, 2026
99c4f0d
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 1, 2026
72c7b8f
Fix Parquet pytest failures (#21967)
galipremsagar Apr 1, 2026
3421a39
Fix reduction test failures (#21986)
galipremsagar Apr 1, 2026
ef8c3d7
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 2, 2026
9e5d5c4
Merge pull request #21994 from rapidsai/main
AyodeAwe Apr 2, 2026
992f23d
Switch default time resolutions for `DatetimeIndex` & `TimedeltaIndex…
galipremsagar Apr 2, 2026
18c1bcf
Fix `add_prefix` & `add_suffix` pytests (#22000)
galipremsagar Apr 2, 2026
8eff653
Fix all json test failures (#21998)
galipremsagar Apr 2, 2026
973b2c6
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 2, 2026
98d4403
Bump latest pandas to 3.0.2 (#21987)
mroeschke Apr 2, 2026
f921e9c
Merge
galipremsagar Apr 6, 2026
494c5d2
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 6, 2026
b5744c5
Fix runtime warnings in `apply` pytests (#22017)
galipremsagar Apr 6, 2026
c988b0e
Fix string column `to_arrow` to generate large strings when needed (#…
galipremsagar Apr 6, 2026
f160ae0
Fix type inconsistencies in pytests (#22016)
galipremsagar Apr 6, 2026
ebf228e
Fix `replace` pytest (#22019)
galipremsagar Apr 6, 2026
b916f7d
Fix parquet metadata failures in pytests (#22020)
galipremsagar Apr 6, 2026
7dde637
Merge pull request #22021 from rapidsai/main
AyodeAwe Apr 6, 2026
6548e4d
Fix `copy-on-write` failures related to `astype` (#22022)
galipremsagar Apr 6, 2026
f5877b6
Fix `str` reductions to match pandas3 (#22026)
galipremsagar Apr 6, 2026
c8f435e
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 7, 2026
c8fbbb0
Merge
galipremsagar Apr 7, 2026
3585a76
Merge pull request #22034 from rapidsai/main
AyodeAwe Apr 7, 2026
df256ec
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 7, 2026
383814f
Fix `right-join` column ordering (#22002)
galipremsagar Apr 7, 2026
690dd1d
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 7, 2026
aeebafe
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 8, 2026
7676277
Merge pull request #22067 from rapidsai/main
AyodeAwe Apr 8, 2026
45a481e
[pandas3] Fix test_categorical_series_with_nan_repr for pandas 3 nan_…
galipremsagar Apr 8, 2026
8f3af47
[pandas3] Fix test_diff_many_dtypes for boolean Series diff null repr…
galipremsagar Apr 8, 2026
fd32f8b
[pandas3] Fix test_timedelta_astype_unicode_dtype_pandas_compat for p…
galipremsagar Apr 8, 2026
9104f7a
[pandas3] Fix test_categorical_empty: update categories dtype asserti…
galipremsagar Apr 8, 2026
48627a9
[pandas3] Fix test_rename_shallow_copy: use np.shares_memory instead …
galipremsagar Apr 8, 2026
9dcf4b4
[pandas3] Fix test_groupby_pct_change_empty_columns for pandas 3 dtyp…
galipremsagar Apr 8, 2026
2600bfa
[pandas3] Fix two regressions in Series.describe() (#22058)
galipremsagar Apr 8, 2026
74621be
Merge pull request #22076 from rapidsai/main
AyodeAwe Apr 9, 2026
53c32ca
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 9, 2026
a63f4c6
[pandas3] Fix typo in str.cat error message match string: ndarrary → …
galipremsagar Apr 9, 2026
c0ee482
[pandas3] Fix test_alltypes_plain_avro timestamp conversion for panda…
galipremsagar Apr 9, 2026
0ccc82d
[pandas3] Add _CachedAccessor to replace removed pandas.core.accessor…
galipremsagar Apr 9, 2026
e8470cd
Update memory usage test (#22080)
galipremsagar Apr 9, 2026
22faef0
Fix parquet list comparison (#22081)
galipremsagar Apr 9, 2026
cbb011b
[pandas3] Fix float-category NaN handling in CategoricalColumn.to_pan…
galipremsagar Apr 9, 2026
6327f9f
Skip pandas failure cases in `ewm` (#22082)
galipremsagar Apr 9, 2026
5f92d45
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 9, 2026
2e9cf00
Merge pull request #22095 from rapidsai/main
AyodeAwe Apr 10, 2026
48b3559
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 10, 2026
389464d
Fix `sort_values` when `return_indexer=True` (#22098)
galipremsagar Apr 10, 2026
bda713b
Merge pull request #22104 from rapidsai/main
AyodeAwe Apr 10, 2026
41df161
Fix pandas 3 compatibility bugs in index, groupby, and dask_cudf test…
galipremsagar Apr 10, 2026
36d12af
Merge pull request #22120 from rapidsai/main
AyodeAwe Apr 13, 2026
c5c1c37
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 14, 2026
36dba03
Fix `cudf.pandas` pytest failures (#22137)
galipremsagar Apr 14, 2026
993356c
Avoid pytz in test_holidays_within_dates (#22139)
mroeschke Apr 14, 2026
ad87382
Make `cudf.pandas` pandas tests able to run (#22140)
galipremsagar Apr 15, 2026
80e4e94
Merge pull request #22155 from rapidsai/main
AyodeAwe Apr 15, 2026
9b9631b
Test different pandas option in test_options_mode for pandas 3 (#22160)
mroeschke Apr 15, 2026
963313a
Pass writable numpy array to pytorch third party test with pandas 3 (…
mroeschke Apr 15, 2026
dffe5c2
Fix `12k` pandas test suite failures (#22158)
galipremsagar Apr 15, 2026
7c8e3e0
Drop all xpassing tests in pandas-3 (#22163)
galipremsagar Apr 16, 2026
e85c699
Merge pull request #22170 from rapidsai/main
AyodeAwe Apr 16, 2026
589603a
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 16, 2026
15c06e9
Merge pull request #22175 from rapidsai/main
AyodeAwe Apr 16, 2026
bf9bc2c
Allow SeriesApplyKernel to support pd.StringDtype in pandas 3 (#22177)
mroeschke Apr 16, 2026
7d98f64
Fix `datetime` & `timedelta` failures in pandas test suite (#22174)
galipremsagar Apr 16, 2026
79e5d69
Fix return types for `rank` (#22180)
galipremsagar Apr 16, 2026
0c564c2
Merge pull request #22190 from rapidsai/main
AyodeAwe Apr 17, 2026
436407b
Merge pull request #22197 from rapidsai/main
AyodeAwe Apr 17, 2026
e888621
Fix custreamz tests for pandas 3 (#22195)
mroeschke Apr 17, 2026
22b9521
Fix some DatetimeIndex doctests for pandas 3 (#22198)
mroeschke Apr 17, 2026
dde1a99
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 17, 2026
e1ad60e
Adjust pylibcudf test_read_csv_parse_options for pandas 3 large strin…
mroeschke Apr 17, 2026
4e52332
Merge pull request #22208 from rapidsai/main
AyodeAwe Apr 20, 2026
78f6208
Fix more misc cuDF unit tests for pandas 3 (#22201)
mroeschke Apr 20, 2026
54a0739
Fix cudf interval test for pandas 3 and numpy < 2 (#22205)
mroeschke Apr 20, 2026
7c8119d
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 20, 2026
447cb94
Disable csv tests temporarily & fix dask_cudf failure (#22203)
galipremsagar Apr 20, 2026
6f5a421
Remove unnecessary older pandas checks in pandas 3 (#22215)
mroeschke Apr 20, 2026
89dec07
Fix regression in `eval` frame fetching (#22221)
galipremsagar Apr 20, 2026
74d9bc1
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 21, 2026
377613f
Merge pull request #22238 from rapidsai/main
AyodeAwe Apr 21, 2026
f9980a0
Merge
galipremsagar Apr 22, 2026
27b3989
Change pandas links from version/2.3.3 to stable (#22218)
mroeschke Apr 22, 2026
1f7033d
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 22, 2026
39bb12b
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 23, 2026
3ed12a2
Merge
galipremsagar Apr 23, 2026
0cc2c8c
Move skippable pandas tests in run-pandas-test.sh to conftest-patch.p…
mroeschke Apr 23, 2026
430cc67
Remove pandas tests that no longer exist (#22262)
galipremsagar Apr 23, 2026
f4e0d34
Fix setitem dtype validation, NaT column inference, and boolean-dtype…
galipremsagar Apr 23, 2026
d645739
Propagate writes to internal or private properties to slow objects on…
galipremsagar Apr 23, 2026
67cf17f
Fix cudf.pandas view semantics across fast/slow conversions and add _…
galipremsagar Apr 23, 2026
632c252
Implement `Flags` in `cudf` (#22225)
galipremsagar Apr 23, 2026
c2d3e7d
Merge pull request #22286 from rapidsai/main
AyodeAwe Apr 24, 2026
9793dca
Consolidate all pandas test skips to new NODEIDS_TO_SKIP dictionary (…
mroeschke Apr 24, 2026
ba19c3b
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 24, 2026
7416968
Merge pull request #22300 from rapidsai/main
AyodeAwe Apr 26, 2026
88291bb
Fix cudf.pandas pickle round-trips for proxy classes, DatetimeTZ colu…
galipremsagar Apr 27, 2026
bc6396a
Merge pull request #22309 from rapidsai/main
AyodeAwe Apr 27, 2026
b84a5fc
Drop passing tests from `conftest-patch.py` (#22298)
galipremsagar Apr 27, 2026
3274b30
Add proxy types for missing offsets (#22314)
galipremsagar Apr 28, 2026
c4dc2b9
Consolidate all pandas test to NODEIDS_THAT_FAIL dictionary (#22311)
mroeschke Apr 28, 2026
3620aa3
Merge
galipremsagar Apr 28, 2026
29e5a3b
Merge pull request #22320 from rapidsai/main
AyodeAwe Apr 28, 2026
e016374
Fix failures in masked array pandas unit tests under cudf.pandas (#22…
galipremsagar Apr 28, 2026
2c7e801
Fix `StataReader` proxy type (#22322)
galipremsagar Apr 29, 2026
fb2f537
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 29, 2026
44374a1
Fix `MultiIndex` getitem (#22326)
galipremsagar Apr 29, 2026
f3ee742
Merge pull request #22331 from rapidsai/main
AyodeAwe Apr 29, 2026
cd5e575
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar Apr 30, 2026
b3fa3dc
Define attributes that are not discoverable by `dir(cls)` (#22330)
galipremsagar Apr 30, 2026
dae8733
Drop invalidated frequency in `DatetimeIndex` (#22328)
galipremsagar Apr 30, 2026
83fca64
Fix `to_period` parameter (#22329)
galipremsagar Apr 30, 2026
1b67de0
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 1, 2026
699f5af
Add remaining pandas test failures to NODEIDS_THAT_FAIL for pandas 3 …
mroeschke May 1, 2026
ca2f0a3
Merge pull request #22357 from rapidsai/main
AyodeAwe May 2, 2026
7cf5283
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 4, 2026
a3e5ff1
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 4, 2026
b446764
Reject pd.NA string-to-object casts in pandas-compatible mode (#22295)
galipremsagar May 4, 2026
0ead659
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 5, 2026
8ff505f
Expose __from_arrow__ on masked extension dtype proxies (#22373)
galipremsagar May 5, 2026
301ad35
Fix datetime resolution for empty data inputs (#22363)
galipremsagar May 5, 2026
6556ce2
Expose additional proxy attributes for IntervalArray, Styler, and _Me…
galipremsagar May 5, 2026
90aad85
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 5, 2026
914d22f
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 6, 2026
2df7b79
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 6, 2026
df9ee88
Merge pull request #22401 from rapidsai/main
AyodeAwe May 6, 2026
60f0f69
Merge remote-tracking branch 'upstream/pandas3' into pandas3
galipremsagar May 6, 2026
01507cd
Fix `tz` aware binops (#22243)
galipremsagar May 7, 2026
8571acc
Implement min_count for groupby reductions (#22372)
galipremsagar May 7, 2026
12e1099
Fix datetime tz + categorical creation (#22278)
galipremsagar May 7, 2026
7d70100
Merge remote-tracking branch 'upstream/pandas3' into pandas3
galipremsagar May 7, 2026
c93cf14
Merge
galipremsagar May 7, 2026
d296406
Merge pull request #22424 from rapidsai/main
AyodeAwe May 8, 2026
6e6a130
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 8, 2026
fae346e
Merge pull request #22437 from rapidsai/main
AyodeAwe May 9, 2026
5ec9d62
Merge
galipremsagar May 9, 2026
6db7b7a
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 11, 2026
61c0148
Expose DateOffset instance attributes on cudf.pandas proxy (#22447)
galipremsagar May 11, 2026
7e87a06
Merge pull request #22455 from rapidsai/main
AyodeAwe May 11, 2026
937cc51
Fix np.ufunc(Index, Series) dispatch and np.matmul scalar return type…
galipremsagar May 11, 2026
14245c7
Fix `fillna` in `binop` (#22442)
galipremsagar May 11, 2026
a35b633
Fix `is_numeric_dtype` for `Index` (#22438)
galipremsagar May 11, 2026
ab868e5
Remove dtype workaround in `Column.create` (#22396)
galipremsagar May 11, 2026
685ef31
Preserve StringDtype storage and na_value in get_dtype_of_same_kind (…
galipremsagar May 11, 2026
744ca4a
Add ability to set `freq` on `DatetimeIndex` (#22440)
galipremsagar May 11, 2026
84f84a7
Raise TypeError for numeric column arithmetic with pd.NaT (#22451)
galipremsagar May 11, 2026
61a8b3c
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 11, 2026
6b1ab6c
Align groupby apply/rolling defaults with pandas 3 (#22448)
galipremsagar May 12, 2026
daddedc
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 12, 2026
1d3cb43
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 12, 2026
a155ce2
Align cudf find_common_type with pandas for empty/bool/datetime+timed…
galipremsagar May 12, 2026
88d6261
Make StringArray proxy inherit from NumpyExtensionArray (#22457)
galipremsagar May 12, 2026
726bb9e
Fix return types of `quantile` (#22433)
galipremsagar May 12, 2026
d4e6e83
Preserve extension dtypes in groupby reductions and exclude grouping-…
galipremsagar May 12, 2026
b1988ab
Add validations in various code-paths (#22336)
galipremsagar May 12, 2026
3677bed
Fix several to_datetime edge cases for pandas 3 compatibility (#22446)
galipremsagar May 12, 2026
189fd8d
Fix arrow types related failures in `cudf.pandas` (#22194)
galipremsagar May 13, 2026
0c1b66a
Implement groupby all/any via bool-coercion + min/max (#22371)
galipremsagar May 13, 2026
74b98d9
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 13, 2026
4fba9e9
Fix `AssertionError: DataFrame.columns are different` failures in cud…
galipremsagar May 13, 2026
b080e4d
Fix factorize for pandas 3 compatibility (#22445)
galipremsagar May 13, 2026
5c4d0cd
Fix empty series dtype (#22443)
galipremsagar May 13, 2026
8b86d86
Bump pandas to 3.0.3 (#22484)
mroeschke May 13, 2026
5c9498a
Implement groupby sum on StringDtype columns as per-group concatenati…
galipremsagar May 13, 2026
99aeac0
Preserve pandas-nullable dtypes through ufuncs and empty value_counts…
galipremsagar May 13, 2026
2c0544c
Fix all `datetime` type inconsistencies with extension types (#22409)
galipremsagar May 13, 2026
f9648c9
Handle all dtypes in `convert_dtypes` (#22202)
galipremsagar May 13, 2026
f1302f8
Update conftest-patch with latest xfails (#22489)
galipremsagar May 14, 2026
6498c37
Merge
galipremsagar May 14, 2026
501c9b2
Merge pull request #22500 from rapidsai/main
AyodeAwe May 14, 2026
ef797e8
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 14, 2026
ca8f872
Merge pull request #22509 from rapidsai/main
AyodeAwe May 14, 2026
8a0b601
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 14, 2026
a975640
Enable full ci for `pandas3` (#22502)
galipremsagar May 15, 2026
b49edf8
Merge
galipremsagar May 15, 2026
5600bdb
style
galipremsagar May 15, 2026
fcc759e
Merge pull request #22524 from rapidsai/main
AyodeAwe May 15, 2026
cb7520c
Merge pull request #22533 from rapidsai/main
AyodeAwe May 16, 2026
a8d8b4a
Merge pull request #22536 from rapidsai/main
AyodeAwe May 16, 2026
d18205d
Merge branch 'main' into pandas3
vyasr May 17, 2026
51c12fc
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 18, 2026
a63640f
move to skips
galipremsagar May 18, 2026
61d344b
move to skips
galipremsagar May 18, 2026
ef36765
Skip one more
galipremsagar May 18, 2026
50ac059
Fix file.
galipremsagar May 18, 2026
d60428f
[pre-commit.ci] auto code formatting
pre-commit-ci[bot] May 18, 2026
1d8bae0
Merge remote-tracking branch 'upstream/main' into pandas3
galipremsagar May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ci/cudf_pandas_scripts/pandas-tests/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ LIBCUDF_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcudf_${RAPIDS_PY_CUDA_SUFFIX}" rap
PYLIBCUDF_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" pylibcudf --stable --cuda "$RAPIDS_CUDA_VERSION")")

# echo to expand wildcard before adding `[extra]` requires for pip
python -m pip install \
rapids-pip-retry install \
"$(echo "${CUDF_WHEELHOUSE}"/cudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)[test,pandas-tests]" \
"$(echo "${LIBCUDF_WHEELHOUSE}"/libcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)" \
"$(echo "${PYLIBCUDF_WHEELHOUSE}"/pylibcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)"
Expand Down
20 changes: 18 additions & 2 deletions ci/test_narwhals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ python -c "import narwhals; print(narwhals.show_versions())"
# test_first_last_expr_over_order_by[cudf] - now passing but tests expect failure
# test_cast_datetime_tz_aware[cudf]: Passes as of https://github.com/rapidsai/cudf/pull/21451
# test_nested_structures: Passes as of https://github.com/rapidsai/cudf/pull/21514
# test_group_by_depth_1_agg_bool_ops[cudf-*]: xpass(strict) - cudf groupby any/all on nullable bool now passes
# test_replace_time_zone[cudf], test_replace_time_zone_series[cudf]: xpass(strict) - cudf tz replace + strftime now correct
# test_convert_time_zone[cudf], test_convert_time_zone_series[cudf], test_convert_time_zone_from_none[cudf]: xpass(strict) - cudf tz convert + strftime now correct
# test_contains_case_sensitive[cudf], test_contains_series_case_sensitive[cudf], test_contains_literal[cudf], test_contains_series_literal[cudf]:
# cudf's default ``str`` dtype mirrors pandas 3 ``str`` (fills nulls with False on ``str.contains``); narwhals
# expects ``None`` because it treats cudf strings as nullable. Compatibility mismatch, not a cudf bug.
TESTS_THAT_NEED_NARWHALS_FIX_FOR_CUDF=" \
test_to_numpy[cudf] or \
test_fill_null_strategies_with_limit_as_none[cudf] or \
Expand All @@ -69,7 +75,14 @@ test_first_last_expr_over_order_by[cudf] or \
test_series_rfloordiv_by_zero[cudf-0] or \
test_expr_rfloordiv_by_zero[cudf-0] or \
test_cast_datetime_tz_aware[cudf] or \
test_nested_structures \
test_nested_structures or \
(test_group_by_depth_1_agg_bool_ops and cudf) or \
(test_replace_time_zone and cudf) or \
(test_convert_time_zone and cudf) or \
(test_contains_case_sensitive and cudf) or \
(test_contains_series_case_sensitive and cudf) or \
(test_contains_literal and cudf) or \
(test_contains_series_literal and cudf) \
"

rapids-logger "Run narwhals tests for cuDF"
Expand Down Expand Up @@ -174,6 +187,8 @@ test_pandas_object_series \
# test_check_row_order_nested_only[pandas]: Nested dtype row ordering check not raising NotImplementedError as expected
# test_cast_string: String casting issues with cudf.pandas
# test_contains_case_insensitive[pandas], test_contains_series_case_insensitive[pandas]: String contains with case_insensitive returns False instead of None for nulls
# test_fill_null_pandas_downcast: asserts dtype is 'object' after fill_null on [True, None]; cudf.pandas reports 'bool'
# because cudf represents nullable bool natively (not as object) — fundamental design difference, not fixable in cudf
TESTS_THAT_NEED_NARWHALS_FIX_FOR_CUDF_PANDAS=" \
test_dtypes or \
test_explode_multiple_cols or \
Expand All @@ -193,7 +208,8 @@ test_sqrt_dtype_pandas or \
test_check_row_order_nested_only[pandas] or \
test_cast_string or \
(test_contains_case_insensitive and pandas) or \
(test_contains_series_case_insensitive and pandas) \
(test_contains_series_case_insensitive and pandas) or \
test_fill_null_pandas_downcast \
"

PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
Expand Down
7 changes: 0 additions & 7 deletions ci/test_python_cudf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,6 @@ version_gte() {
[ "$2" = "$(echo -e "$2\n$1" | sort -V | head -n1)" ]
}

# If the RAPIDS_PY_VERSION is 3.13, set CUDF_TEST_COPY_ON_WRITE to '1' to enable copy-on-write tests.
if version_gte "${RAPIDS_PY_VERSION}" "3.13"; then
echo "Running tests with CUDF_TEST_COPY_ON_WRITE enabled"
export CUDF_TEST_COPY_ON_WRITE='1'
else
echo "Running tests with CUDF_TEST_COPY_ON_WRITE disabled"
fi
rapids-logger "pytest cudf"
timeout 40m ./ci/run_cudf_pytests.sh \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cudf.xml" \
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ dependencies:
- nvtx>=0.2.1
- openpyxl
- packaging
- pandas>=2.0,<2.4.0
- pandas>=3.0.0,<3.1.0
- pandoc
- polars>=1.35,<1.39
- pre-commit
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ dependencies:
- nvtx>=0.2.1
- openpyxl
- packaging
- pandas>=2.0,<2.4.0
- pandas>=3.0.0,<3.1.0
- pandoc
- polars>=1.35,<1.39
- pre-commit
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-132_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ dependencies:
- nvtx>=0.2.1
- openpyxl
- packaging
- pandas>=2.0,<2.4.0
- pandas>=3.0.0,<3.1.0
- pandoc
- polars>=1.35,<1.39
- pre-commit
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ dependencies:
- nvtx>=0.2.1
- openpyxl
- packaging
- pandas>=2.0,<2.4.0
- pandas>=3.0.0,<3.1.0
- pandoc
- polars>=1.35,<1.39
- pre-commit
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/cudf/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ requirements:
- cuda-version =${{ cuda_version }}
run:
- python
- pandas >=2.0,<2.4.0
- pandas >=3.0.0,<3.1.0
- cupy >=13.6.0,!=14.0.0
- numba-cuda >=0.22.2,<0.29.0
- numba >=0.60.0,<0.65.0
Expand Down
4 changes: 3 additions & 1 deletion cpp/src/io/statistics/statistics_type_identification.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION.
* SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION.
* SPDX-License-Identifier: Apache-2.0
*/

Expand Down Expand Up @@ -37,9 +37,11 @@ struct conversion_map;
template <is_int96_timestamp INT96>
struct conversion_map<io_file_format::ORC, INT96> {
using types = std::tuple<std::pair<cudf::timestamp_s, cudf::timestamp_ns>,
std::pair<cudf::timestamp_ms, cudf::timestamp_ns>,
std::pair<cudf::timestamp_us, cudf::timestamp_ns>,
std::pair<cudf::timestamp_ns, cudf::timestamp_ns>,
std::pair<cudf::duration_s, cudf::duration_ns>,
std::pair<cudf::duration_ms, cudf::duration_ns>,
std::pair<cudf::duration_us, cudf::duration_ns>,
std::pair<cudf::duration_ns, cudf::duration_ns>>;
};
Expand Down
4 changes: 2 additions & 2 deletions cpp/tests/rolling/rolling_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,7 @@ TYPED_TEST_SUITE(RollingTest, cudf::test::FixedWidthTypesWithoutFixedPoint);
// simple example from Pandas docs
TYPED_TEST(RollingTest, SimpleStatic)
{
// https://pandas.pydata.org/pandas-docs/version/2.3.3/reference/api/pandas.DataFrame.rolling.html
// https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html
auto const col_data = cudf::test::make_type_param_vector<TypeParam>({0, 1, 2, 0, 4});
const std::vector<bool> col_mask = {1, 1, 1, 0, 1};

Expand Down Expand Up @@ -958,7 +958,7 @@ TYPED_TEST(RollingTest, NegativeWindowSizes)
// simple example from Pandas docs:
TYPED_TEST(RollingTest, SimpleDynamic)
{
// https://pandas.pydata.org/pandas-docs/version/2.3.3/reference/api/pandas.DataFrame.rolling.html
// https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html
auto const col_data = cudf::test::make_type_param_vector<TypeParam>({0, 1, 2, 0, 4});
const std::vector<bool> col_mask = {1, 1, 1, 0, 1};

Expand Down
6 changes: 3 additions & 3 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@ dependencies:
- output_types: [conda, requirements, pyproject]
packages:
- fsspec>=0.6.0
- &pandas pandas>=2.0,<2.4.0
- &pandas pandas>=3.0.0,<3.1.0
run_pylibcudf:
common:
- output_types: [conda, requirements, pyproject]
Expand Down Expand Up @@ -901,11 +901,11 @@ dependencies:
- matrix: {dependencies: "oldest"}
packages:
- numba==0.60.0
- pandas==2.0.*
- pandas==3.0.*
- numba-cuda==0.22.2,<0.29.0
- matrix: {dependencies: "latest"}
packages:
- pandas==2.3.3
- pandas==3.0.3
- matrix:
packages:
- output_types: conda
Expand Down
2 changes: 1 addition & 1 deletion docs/cudf/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ def clean_all_xml_files(path):
"numpy": ("https://numpy.org/doc/stable", None),
# Temporarily disable nitpick warnings for pandas: https://github.com/pandas-dev/pandas/issues/64584
# "pandas": (
# "https://pandas.pydata.org/pandas-docs/version/2.3.3/",
# "https://pandas.pydata.org/pandas-docs/stable/",
# None,
# ),
"polars": ("https://docs.pola.rs/api/python/stable/", None),
Expand Down
2 changes: 1 addition & 1 deletion docs/cudf/source/cudf_pandas/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ This means that automatic conversion between GPU and CPU types and automatic fal
There are a few known limitations that you should be aware of:

- Because fallback involves copying data from GPU to CPU and back,
[value mutability](https://pandas.pydata.org/pandas-docs/version/2.3.3/getting_started/overview.html#mutability-and-copying-of-data)
[value mutability](https://pandas.pydata.org/pandas-docs/stable/getting_started/overview.html#mutability-and-copying-of-data)
of Pandas objects is not always guaranteed. You should follow the
pandas recommendation to favor immutable operations.
- For performance reasons, joins and join-based operations are not
Expand Down
7 changes: 2 additions & 5 deletions docs/cudf/source/user_guide/api_docs/dataframe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ Function application, GroupBy & window

DataFrame.agg
DataFrame.apply
DataFrame.applymap
DataFrame.groupby
DataFrame.map
DataFrame.pipe
Expand Down Expand Up @@ -167,9 +166,7 @@ Reindexing / selection / label manipulation
DataFrame.drop_duplicates
DataFrame.duplicated
DataFrame.equals
DataFrame.first
DataFrame.head
DataFrame.last
DataFrame.reindex
DataFrame.rename
DataFrame.reset_index
Expand All @@ -189,7 +186,6 @@ Missing data handling
.. autosummary::
:toctree: api/

DataFrame.backfill
DataFrame.bfill
DataFrame.dropna
DataFrame.ffill
Expand All @@ -200,7 +196,6 @@ Missing data handling
DataFrame.nans_to_nulls
DataFrame.notna
DataFrame.notnull
DataFrame.pad
DataFrame.replace

Reshaping, sorting, transposing
Expand Down Expand Up @@ -252,6 +247,8 @@ Metadata
:toctree: api/

DataFrame.attrs
DataFrame.flags
DataFrame.set_flags

Serialization / IO / conversion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
7 changes: 0 additions & 7 deletions docs/cudf/source/user_guide/api_docs/index_objects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,6 @@ Modifying and computations
Index.drop_duplicates
Index.equals
Index.factorize
Index.is_boolean
Index.is_categorical
Index.is_floating
Index.is_integer
Index.is_interval
Index.is_numeric
Index.is_object
Index.min
Index.max
Index.rename
Expand Down
6 changes: 2 additions & 4 deletions docs/cudf/source/user_guide/api_docs/series.rst
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,8 @@ Reindexing / selection / label manipulation
Series.drop_duplicates
Series.duplicated
Series.equals
Series.first
Series.head
Series.isin
Series.last
Series.reindex
Series.rename
Series.reset_index
Expand All @@ -195,7 +193,6 @@ Missing data handling
.. autosummary::
:toctree: api/

Series.backfill
Series.bfill
Series.dropna
Series.ffill
Expand All @@ -206,7 +203,6 @@ Missing data handling
Series.nans_to_nulls
Series.notna
Series.notnull
Series.pad
Series.replace

Reshaping, sorting
Expand Down Expand Up @@ -243,6 +239,8 @@ Metadata
:toctree: api/

Series.attrs
Series.flags
Series.set_flags

Accessors
---------
Expand Down
6 changes: 3 additions & 3 deletions docs/cudf/source/user_guide/groupby.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ myst:
# GroupBy

cuDF supports a small (but important) subset of Pandas' [groupby
API](https://pandas.pydata.org/pandas-docs/version/2.3.3/user_guide/groupby.html).
API](https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html).

## Summary of supported operations

Expand All @@ -28,7 +28,7 @@ API](https://pandas.pydata.org/pandas-docs/version/2.3.3/user_guide/groupby.html
equivalent Pandas function. See the section on
[apply](#groupby-apply) for more details.
9. `GroupBy.pipe` similar to
[Pandas](https://pandas.pydata.org/pandas-docs/version/2.3.3/user_guide/groupby.html#piping-function-calls).
[Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#piping-function-calls).

## Grouping

Expand Down Expand Up @@ -271,4 +271,4 @@ a
4 4 5 9
```

[describe]: https://pandas.pydata.org/pandas-docs/version/2.3.3/user_guide/groupby.html#flexible-apply
[describe]: https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#flexible-apply
7 changes: 1 addition & 6 deletions python/cudf/cudf/_typing.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import numpy as np
import pandas as pd
from packaging.version import parse
from pandas.api.typing import NoDefault # noqa: F401

import pylibcudf as plc

Expand Down Expand Up @@ -53,8 +53,3 @@ def __call__(
]

Axis = Literal[0, 1, "index", "columns"]

if parse(pd.__version__) >= parse("3.0.0"):
from pandas.api.typing import NoDefault
else:
NoDefault = Any
23 changes: 17 additions & 6 deletions python/cudf/cudf/api/extensions/accessor.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# SPDX-FileCopyrightText: Copyright (c) 2020-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0

import warnings

from pandas.core.accessor import CachedAccessor

from cudf.core.dataframe import DataFrame
from cudf.core.index import Index
from cudf.core.series import Series
Expand All @@ -25,8 +23,8 @@

Notes
-----
The `{klass}` object will be passed to your custom accessor upon first
invocation. And will be cached for future calls.
The `{klass}` object will be passed to your custom accessor upon each
invocation.

If the data passed to your accessor is of wrong datatype, you should
raise an `AttributeError` in consistent with other cudf methods.
Expand Down Expand Up @@ -132,12 +130,25 @@
)


class _Accessor:
"""Custom property-like object. A descriptor for accessors."""

def __init__(self, name, accessor):
self._name = name
self._accessor = accessor

def __get__(self, obj, cls):
if obj is None:
return self._accessor
return self._accessor(obj)


def _register_accessor(name, cls):
def decorator(accessor):
if hasattr(cls, name):
msg = f"Attribute {name} will be overridden in {cls.__name__}"
warnings.warn(msg)
cached_accessor = CachedAccessor(name, accessor)
cached_accessor = _Accessor(name, accessor)
cls._accessors.add(name)
setattr(cls, name, cached_accessor)

Expand Down
Loading
Loading