Skip to content

refactor(streaming): flatten namespaces and rename to snake_case - #22909

Merged
rapids-bot[bot] merged 4 commits into
NVIDIA:mainfrom
vyasr:chore/streaming_namespace_casing
Jun 24, 2026
Merged

refactor(streaming): flatten namespaces and rename to snake_case#22909
rapids-bot[bot] merged 4 commits into
NVIDIA:mainfrom
vyasr:chore/streaming_namespace_casing

Conversation

@vyasr

@vyasr vyasr commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Description

Flatten the libcudf_streaming namespace hierarchy and rename PascalCase C++ types to snake_case.

Changes

C++ Namespace Flattening:

  • cudf_streaming::streaming::cudf_streaming::
  • cudf_streaming::integrations::cudf_streaming::
  • cudf_streaming::actor:: preserved (intentional grouping)

C++ Type Renames (snake_case):

  • BloomFilterbloom_filter
  • TableChunktable_chunk
  • ChannelMetadatachannel_metadata
  • PartitioningSpecpartitioning_spec
  • BloomFilterChunkbloom_filter_chunk

Detail Privatization:

  • integrations::BloomFilter (device-level) → cudf_streaming::detail::device_bloom_filter
  • Header moved to include/cudf_streaming/detail/device_bloom_filter.hpp

Directory Flattening:

  • C++ headers: include/cudf_streaming/streaming/ and include/cudf_streaming/integrations/include/cudf_streaming/
  • C++ sources: src/streaming/ and src/integrations/src/ (and src/detail/)
  • Python/Cython: cudf_streaming.streaming.* and cudf_streaming.integrations.*cudf_streaming.*

Downstream Updates:

  • All cudf_polars imports updated to new paths

Notes

  • Python class names remain PascalCase (only C++ types renamed)
  • No deprecation aliases — hard break
  • All C++ tests pass (420 pass, 2 pre-existing OOM failures)
  • All Python tests pass (cudf_streaming: 386 pass, cudf_polars streaming: 1133 pass)

@vyasr
vyasr requested review from a team as code owners June 16, 2026 21:10
@vyasr
vyasr requested a review from rjzamora June 16, 2026 21:10
@github-actions github-actions Bot added libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. CMake CMake build issue cudf-polars Issues specific to cudf-polars labels Jun 16, 2026
@GPUtester GPUtester moved this to In Progress in cuDF Python Jun 16, 2026
@vyasr vyasr added improvement Improvement / enhancement to an existing function breaking Breaking change labels Jun 16, 2026
Comment thread python/cudf_polars/cudf_polars/experimental/benchmarks/pdsh_results.jsonl Outdated
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9031882f-75da-4e1c-85d4-40908ede0334

📥 Commits

Reviewing files that changed from the base of the PR and between f1c28e2 and 6f0f443.

📒 Files selected for processing (1)
  • python/cudf_polars/cudf_polars/dsl/translate.py
✅ Files skipped from review due to trivial changes (1)
  • python/cudf_polars/cudf_polars/dsl/translate.py

📝 Walkthrough

Summary by CodeRabbit

  • Breaking Changes
    • Flattened cuDF Streaming public API so streaming/integrations symbols are now exposed under top-level cudf_streaming.
    • Renamed/moved core types to snake_case (e.g., TableChunktable_chunk, BloomFilterbloom_filter, and related channel/partition/parquet types).
    • Updated actor utilities and shuffle/partition/parquet helpers to new namespaces and include paths.
  • Documentation
    • Refreshed docstrings and examples to match the new public API.
  • Refactor
    • Consolidated Python extension build/exports to follow the updated module layout.
  • Tests
    • Updated test suites and Cython bindings to compile against the new API.

Walkthrough

The PR flattens the cudf_streaming C++ and Python API by moving types and functions from nested streaming and integrations namespaces to top-level cudf_streaming names, renaming several public types to snake_case, and updating benchmarks, tests, examples, bindings, and downstream imports.

Changes

cudf_streaming API flattening and callsite migration

Layer / File(s) Summary
Build and public contracts
cpp/libcudf_streaming/CMakeLists.txt, cpp/libcudf_streaming/include/cudf_streaming/*, cpp/libcudf_streaming/include/cudf_streaming/detail/*
The CMake target sources are flattened, public headers move to top-level cudf_streaming, TableChunk/BloomFilter/ChannelMetadata/Filter become snake_case types, and the header install rule filters only public *.hpp files.
Core implementation updates
cpp/libcudf_streaming/src/*
The C++ implementations for table chunks, bloom filters, channel metadata, parquet, partition helpers, and utils are re-scoped to namespace cudf_streaming and updated to use the renamed types and symbols.
C++ benchmarks, examples, and tests
cpp/libcudf_streaming/benchmarks/*, cpp/libcudf_streaming/examples/example_shuffle.cpp, cpp/libcudf_streaming/tests/*
Benchmark, example, and test sources update includes, namespace directives, type names, actor call sites, and message payload handling to the new top-level cudf_streaming API.
Python bindings, package exports, and downstream imports
python/cudf_streaming/*, python/cudf_polars/*
The Python Cython build, bindings, package exports, tests, and cudf_polars import sites are rewired to the renamed headers, symbols, and module paths.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120+ minutes

Possibly related PRs

  • rapidsai/cudf#22747: Introduced the libcudf_streaming C++ library build infrastructure that this PR's CMakeLists changes directly build upon.
  • rapidsai/cudf#22760: Added the Cython/Python bindings for TableChunk, bloom filter, and partitioning actors whose C++ targets and namespaces are being renamed in this PR.
  • rapidsai/cudf#22786: Updated cudf_polars streaming engine/actor-graph code to consume cudf_streaming-provided ChannelMetadata, TableChunk, and partition helpers from the same module paths being changed here.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.89% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title accurately and concisely summarizes the main objectives: flattening nested namespaces and renaming C++ types to snake_case throughout libcudf_streaming.
Description check ✅ Passed The PR description comprehensively explains the refactoring changes, including namespace flattening, type renames, directory structure reorganization, and test results, directly relating to the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
cpp/libcudf_streaming/include/cudf_streaming/utils.hpp (1)

15-73: ⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

CRITICAL: Public API namespace move lacks a compatibility/deprecation bridge

Moving exported str(...) and estimated_memory_usage(...) from cudf_streaming::integrations to cudf_streaming is a hard compile-time break for downstream consumers, and this header does not provide deprecated forwarding aliases.

Suggested compatibility bridge (transitional)
 namespace cudf_streaming {
   // new declarations...
 }  // namespace cudf_streaming

+namespace cudf_streaming::integrations {
+[[deprecated("Use cudf_streaming::str")]]
+inline std::string str(cudf::column_view col,
+                       cudf::size_type index,
+                       rmm::cuda_stream_view stream,
+                       rmm::device_async_resource_ref mr)
+{
+  return cudf_streaming::str(col, index, stream, mr);
+}
+
+[[deprecated("Use cudf_streaming::str")]]
+inline std::string str(cudf::column_view col,
+                       rmm::cuda_stream_view stream,
+                       rmm::device_async_resource_ref mr)
+{
+  return cudf_streaming::str(col, stream, mr);
+}
+
+[[deprecated("Use cudf_streaming::str")]]
+inline std::string str(cudf::table_view tbl,
+                       rmm::cuda_stream_view stream,
+                       rmm::device_async_resource_ref mr)
+{
+  return cudf_streaming::str(tbl, stream, mr);
+}
+
+[[deprecated("Use cudf_streaming::estimated_memory_usage")]]
+inline std::size_t estimated_memory_usage(cudf::column_view const& col,
+                                          rmm::cuda_stream_view stream)
+{
+  return cudf_streaming::estimated_memory_usage(col, stream);
+}
+
+[[deprecated("Use cudf_streaming::estimated_memory_usage")]]
+inline std::size_t estimated_memory_usage(cudf::table_view const& tbl,
+                                          rmm::cuda_stream_view stream)
+{
+  return cudf_streaming::estimated_memory_usage(tbl, stream);
+}
+}  // namespace cudf_streaming::integrations

As per coding guidelines, “C++ API changes without proper deprecation warnings” are CRITICAL; PR objectives state this refactor is a hard break without aliases.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cpp/libcudf_streaming/include/cudf_streaming/utils.hpp` around lines 15 - 73,
The functions str(...) with two overloads (one taking an index parameter and one
without) and estimated_memory_usage(...) with two overloads have been moved from
the cudf_streaming::integrations namespace to the cudf_streaming namespace,
breaking backward compatibility for downstream consumers. Add deprecated
forwarding aliases in the cudf_streaming::integrations namespace that delegate
to the new cudf_streaming implementations. Each forwarding function should be
marked with appropriate deprecation warnings to guide users to migrate to the
new namespace location while maintaining compile-time compatibility during the
transition period.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cpp/libcudf_streaming/include/cudf_streaming/table_chunk.hpp`:
- Around line 38-57: The `exclusive_view` enum and other public symbols in the
`table_chunk` class have been renamed without providing backward-compatible
aliases, creating a hard breaking change for downstream users. For each renamed
public symbol across all affected locations (the enum class definition, and the
additional sites at lines 93-97, 172-173, 187-188, 209-213, 264-265, 325-326,
and 334-335), add deprecated aliases or type definitions that preserve the old
names and map them to the new ones. Include deprecation attributes (such as
[[deprecated]]) with clear migration notes directing users to the new names,
allowing one release cycle for downstream code to transition before the old
names are fully removed.

In `@python/cudf_streaming/cudf_streaming/__init__.py`:
- Around line 15-56: The __init__.py file is now fully flattened and completely
removes the old module paths (cudf_streaming.streaming.* and
cudf_streaming.integrations.*) without a deprecation period, which breaks
backward compatibility. Add a deprecation compatibility layer that intercepts
imports from the old paths and either redirects them to the new locations with a
deprecation warning or provides deprecated module aliases. Use Python's
module-level __getattr__ function or sys.modules manipulation to handle attempts
to import from the legacy cudf_streaming.streaming and
cudf_streaming.integrations modules, ensuring users receive clear deprecation
warnings that guide them to use the new flattened import paths instead of
causing immediate ImportError failures.

---

Outside diff comments:
In `@cpp/libcudf_streaming/include/cudf_streaming/utils.hpp`:
- Around line 15-73: The functions str(...) with two overloads (one taking an
index parameter and one without) and estimated_memory_usage(...) with two
overloads have been moved from the cudf_streaming::integrations namespace to the
cudf_streaming namespace, breaking backward compatibility for downstream
consumers. Add deprecated forwarding aliases in the cudf_streaming::integrations
namespace that delegate to the new cudf_streaming implementations. Each
forwarding function should be marked with appropriate deprecation warnings to
guide users to migrate to the new namespace location while maintaining
compile-time compatibility during the transition period.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9f02d121-b0b3-4ab1-84b5-dd2fb0f17979

📥 Commits

Reviewing files that changed from the base of the PR and between 6d0702b and 832712c.

📒 Files selected for processing (117)
  • cpp/libcudf_streaming/CMakeLists.txt
  • cpp/libcudf_streaming/benchmarks/bench_partition.cpp
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/data_generator.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/bench_read.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/concatenate.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/concatenate.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q01.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q03.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q04.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q09.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q21.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.hpp
  • cpp/libcudf_streaming/examples/example_shuffle.cpp
  • cpp/libcudf_streaming/include/cudf_streaming/bloom_filter.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/channel_metadata.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/detail/device_bloom_filter.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/parquet.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/partition.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/partition_utils.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/table_chunk.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/utils.hpp
  • cpp/libcudf_streaming/src/bloom_filter.cpp
  • cpp/libcudf_streaming/src/channel_metadata.cpp
  • cpp/libcudf_streaming/src/detail/device_bloom_filter.cu
  • cpp/libcudf_streaming/src/parquet.cpp
  • cpp/libcudf_streaming/src/partition.cpp
  • cpp/libcudf_streaming/src/partition_utils.cpp
  • cpp/libcudf_streaming/src/table_chunk.cpp
  • cpp/libcudf_streaming/src/utils.cpp
  • cpp/libcudf_streaming/tests/streaming/test_allgather.cpp
  • cpp/libcudf_streaming/tests/streaming/test_channel_metadata.cpp
  • cpp/libcudf_streaming/tests/streaming/test_cudf_utils.cpp
  • cpp/libcudf_streaming/tests/streaming/test_leaf_actor.cpp
  • cpp/libcudf_streaming/tests/streaming/test_partition.cpp
  • cpp/libcudf_streaming/tests/streaming/test_read_parquet.cpp
  • cpp/libcudf_streaming/tests/streaming/test_shuffler.cpp
  • cpp/libcudf_streaming/tests/streaming/test_table_chunk.cpp
  • cpp/libcudf_streaming/tests/test_partition.cpp
  • cpp/libcudf_streaming/tests/test_shuffler.cpp
  • cpp/libcudf_streaming/tests/test_shuffler_many_streams.cpp
  • python/cudf_polars/cudf_polars/engine/core.py
  • python/cudf_polars/cudf_polars/engine/dask.py
  • python/cudf_polars/cudf_polars/engine/ray.py
  • python/cudf_polars/cudf_polars/engine/spmd.py
  • python/cudf_polars/cudf_polars/experimental/benchmarks/pdsh_results.jsonl
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/allgather.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/shuffle.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/sort.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/core.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/groupby.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/io.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/join.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/nodes.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/over.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/repartition.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/tracing.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/union.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/utils.py
  • python/cudf_polars/tests/streaming/test_allgather.py
  • python/cudf_polars/tests/streaming/test_metadata.py
  • python/cudf_polars/tests/streaming/test_shuffler.py
  • python/cudf_polars/tests/streaming/test_spilling.py
  • python/cudf_polars/tests/streaming/test_tracing.py
  • python/cudf_streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/__init__.pxd
  • python/cudf_streaming/cudf_streaming/__init__.py
  • python/cudf_streaming/cudf_streaming/bloom_filter.pxd
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyi
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyx
  • python/cudf_streaming/cudf_streaming/channel_metadata.pxd
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyi
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyx
  • python/cudf_streaming/cudf_streaming/examples/bulk_mpi_shuffle.py
  • python/cudf_streaming/cudf_streaming/examples/bulk_ray_shuffle.py
  • python/cudf_streaming/cudf_streaming/examples/ray_shuffle_example.py
  • python/cudf_streaming/cudf_streaming/examples/streaming_basic_example.py
  • python/cudf_streaming/cudf_streaming/integrations/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/integrations/__init__.pxd
  • python/cudf_streaming/cudf_streaming/integrations/__init__.py
  • python/cudf_streaming/cudf_streaming/parquet.pyi
  • python/cudf_streaming/cudf_streaming/parquet.pyx
  • python/cudf_streaming/cudf_streaming/partition.pyi
  • python/cudf_streaming/cudf_streaming/partition.pyx
  • python/cudf_streaming/cudf_streaming/partition_utils.pxd
  • python/cudf_streaming/cudf_streaming/partition_utils.pyi
  • python/cudf_streaming/cudf_streaming/partition_utils.pyx
  • python/cudf_streaming/cudf_streaming/streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/streaming/__init__.py
  • python/cudf_streaming/cudf_streaming/table_chunk.pxd
  • python/cudf_streaming/cudf_streaming/table_chunk.pyi
  • python/cudf_streaming/cudf_streaming/table_chunk.pyx
  • python/cudf_streaming/cudf_streaming/tests/test_allgather.py
  • python/cudf_streaming/cudf_streaming/tests/test_bloom_filter.py
  • python/cudf_streaming/cudf_streaming/tests/test_channel_metadata.py
  • python/cudf_streaming/cudf_streaming/tests/test_integration_partition.py
  • python/cudf_streaming/cudf_streaming/tests/test_partition.py
  • python/cudf_streaming/cudf_streaming/tests/test_read_parquet.py
  • python/cudf_streaming/cudf_streaming/tests/test_shuffler.py
  • python/cudf_streaming/cudf_streaming/tests/test_sparse_alltoall.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_allgather.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_define_actor.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_fanout.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_leaf_actor.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_shuffler.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_sparse_alltoall.py
  • python/cudf_streaming/cudf_streaming/tests/test_table_chunk.py
💤 Files with no reviewable changes (5)
  • python/cudf_streaming/cudf_streaming/integrations/init.pxd
  • python/cudf_streaming/cudf_streaming/integrations/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/integrations/init.py
  • python/cudf_streaming/cudf_streaming/streaming/init.py

Comment thread cpp/libcudf_streaming/include/cudf_streaming/table_chunk.hpp
Comment thread python/cudf_streaming/cudf_streaming/__init__.py
- Flatten cudf_streaming::streaming:: and cudf_streaming::integrations::
  into cudf_streaming:: (preserving cudf_streaming::actor::)
- Rename PascalCase types to snake_case: BloomFilter -> bloom_filter,
  TableChunk -> table_chunk, ChannelMetadata -> channel_metadata, etc.
- Privatize integrations::BloomFilter as
  cudf_streaming::detail::device_bloom_filter
- Flatten Python/Cython sub-packages: cudf_streaming.streaming.* and
  cudf_streaming.integrations.* -> cudf_streaming.*
- Update all downstream imports in cudf_polars
- Python class names remain PascalCase (only C++ types renamed)
- No deprecation aliases (hard break)
@vyasr
vyasr force-pushed the chore/streaming_namespace_casing branch from 832712c to cfab80c Compare June 16, 2026 21:22

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
cpp/libcudf_streaming/include/cudf_streaming/channel_metadata.hpp (1)

23-250: ⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

CRITICAL: Public API hard break without a deprecation bridge

This header replaces public symbols (cudf_streaming::streaming::* and PascalCase types) with new top-level snake_case names but provides no deprecated aliases/wrappers. That creates immediate source-breaking changes for existing consumers of cpp/include APIs.

Suggested compatibility bridge
 namespace cudf_streaming {
   // new API...
 }

+namespace cudf_streaming::streaming {
+using HashScheme [[deprecated("Use cudf_streaming::hash_scheme")]] = ::cudf_streaming::hash_scheme;
+using OrderKey [[deprecated("Use cudf_streaming::order_key")]] = ::cudf_streaming::order_key;
+using OrderScheme [[deprecated("Use cudf_streaming::order_scheme")]] = ::cudf_streaming::order_scheme;
+using PartitioningSpec [[deprecated("Use cudf_streaming::partitioning_spec")]] = ::cudf_streaming::partitioning_spec;
+using Partitioning [[deprecated("Use cudf_streaming::partitioning")]] = ::cudf_streaming::partitioning;
+using ChannelMetadata [[deprecated("Use cudf_streaming::channel_metadata")]] = ::cudf_streaming::channel_metadata;
+}

As per coding guidelines, “C++ API changes without proper deprecation warnings” in public headers must include a deprecation cycle before removal.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cpp/libcudf_streaming/include/cudf_streaming/channel_metadata.hpp` around
lines 23 - 250, The header is introducing breaking changes to public API symbols
by moving/renaming them (e.g., from PascalCase to snake_case, from nested
`cudf_streaming::streaming::*` to top-level) without providing backward
compatibility aliases. Add deprecated alias declarations for all old symbol
names that point to their new equivalents. For each struct or type that has been
renamed or moved (such as `hash_scheme`, `order_key`, `order_scheme`,
`partitioning_spec`, `partitioning`, `channel_metadata`, and the `to_message`
function), create a deprecated using-alias or typedef with an appropriate
deprecation attribute (e.g., `[[deprecated("Use new_name instead")]]`) to ensure
existing code continues to compile while warning users to migrate to the new
names. This deprecation bridge allows a transition period before the old symbols
are eventually removed.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@cpp/libcudf_streaming/include/cudf_streaming/channel_metadata.hpp`:
- Around line 23-250: The header is introducing breaking changes to public API
symbols by moving/renaming them (e.g., from PascalCase to snake_case, from
nested `cudf_streaming::streaming::*` to top-level) without providing backward
compatibility aliases. Add deprecated alias declarations for all old symbol
names that point to their new equivalents. For each struct or type that has been
renamed or moved (such as `hash_scheme`, `order_key`, `order_scheme`,
`partitioning_spec`, `partitioning`, `channel_metadata`, and the `to_message`
function), create a deprecated using-alias or typedef with an appropriate
deprecation attribute (e.g., `[[deprecated("Use new_name instead")]]`) to ensure
existing code continues to compile while warning users to migrate to the new
names. This deprecation bridge allows a transition period before the old symbols
are eventually removed.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8c97f536-1aff-4340-9e1b-cd6b4c957167

📥 Commits

Reviewing files that changed from the base of the PR and between 832712c and cfab80c.

📒 Files selected for processing (116)
  • cpp/libcudf_streaming/CMakeLists.txt
  • cpp/libcudf_streaming/benchmarks/bench_partition.cpp
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/data_generator.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/bench_read.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/concatenate.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/concatenate.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q01.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q03.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q04.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q09.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q21.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.hpp
  • cpp/libcudf_streaming/examples/example_shuffle.cpp
  • cpp/libcudf_streaming/include/cudf_streaming/bloom_filter.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/channel_metadata.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/detail/device_bloom_filter.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/parquet.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/partition.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/partition_utils.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/table_chunk.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/utils.hpp
  • cpp/libcudf_streaming/src/bloom_filter.cpp
  • cpp/libcudf_streaming/src/channel_metadata.cpp
  • cpp/libcudf_streaming/src/detail/device_bloom_filter.cu
  • cpp/libcudf_streaming/src/parquet.cpp
  • cpp/libcudf_streaming/src/partition.cpp
  • cpp/libcudf_streaming/src/partition_utils.cpp
  • cpp/libcudf_streaming/src/table_chunk.cpp
  • cpp/libcudf_streaming/src/utils.cpp
  • cpp/libcudf_streaming/tests/streaming/test_allgather.cpp
  • cpp/libcudf_streaming/tests/streaming/test_channel_metadata.cpp
  • cpp/libcudf_streaming/tests/streaming/test_cudf_utils.cpp
  • cpp/libcudf_streaming/tests/streaming/test_leaf_actor.cpp
  • cpp/libcudf_streaming/tests/streaming/test_partition.cpp
  • cpp/libcudf_streaming/tests/streaming/test_read_parquet.cpp
  • cpp/libcudf_streaming/tests/streaming/test_shuffler.cpp
  • cpp/libcudf_streaming/tests/streaming/test_table_chunk.cpp
  • cpp/libcudf_streaming/tests/test_partition.cpp
  • cpp/libcudf_streaming/tests/test_shuffler.cpp
  • cpp/libcudf_streaming/tests/test_shuffler_many_streams.cpp
  • python/cudf_polars/cudf_polars/engine/core.py
  • python/cudf_polars/cudf_polars/engine/dask.py
  • python/cudf_polars/cudf_polars/engine/ray.py
  • python/cudf_polars/cudf_polars/engine/spmd.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/allgather.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/shuffle.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/sort.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/core.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/groupby.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/io.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/join.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/nodes.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/over.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/repartition.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/tracing.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/union.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/utils.py
  • python/cudf_polars/tests/streaming/test_allgather.py
  • python/cudf_polars/tests/streaming/test_metadata.py
  • python/cudf_polars/tests/streaming/test_shuffler.py
  • python/cudf_polars/tests/streaming/test_spilling.py
  • python/cudf_polars/tests/streaming/test_tracing.py
  • python/cudf_streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/__init__.pxd
  • python/cudf_streaming/cudf_streaming/__init__.py
  • python/cudf_streaming/cudf_streaming/bloom_filter.pxd
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyi
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyx
  • python/cudf_streaming/cudf_streaming/channel_metadata.pxd
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyi
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyx
  • python/cudf_streaming/cudf_streaming/examples/bulk_mpi_shuffle.py
  • python/cudf_streaming/cudf_streaming/examples/bulk_ray_shuffle.py
  • python/cudf_streaming/cudf_streaming/examples/ray_shuffle_example.py
  • python/cudf_streaming/cudf_streaming/examples/streaming_basic_example.py
  • python/cudf_streaming/cudf_streaming/integrations/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/integrations/__init__.pxd
  • python/cudf_streaming/cudf_streaming/integrations/__init__.py
  • python/cudf_streaming/cudf_streaming/parquet.pyi
  • python/cudf_streaming/cudf_streaming/parquet.pyx
  • python/cudf_streaming/cudf_streaming/partition.pyi
  • python/cudf_streaming/cudf_streaming/partition.pyx
  • python/cudf_streaming/cudf_streaming/partition_utils.pxd
  • python/cudf_streaming/cudf_streaming/partition_utils.pyi
  • python/cudf_streaming/cudf_streaming/partition_utils.pyx
  • python/cudf_streaming/cudf_streaming/streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/streaming/__init__.py
  • python/cudf_streaming/cudf_streaming/table_chunk.pxd
  • python/cudf_streaming/cudf_streaming/table_chunk.pyi
  • python/cudf_streaming/cudf_streaming/table_chunk.pyx
  • python/cudf_streaming/cudf_streaming/tests/test_allgather.py
  • python/cudf_streaming/cudf_streaming/tests/test_bloom_filter.py
  • python/cudf_streaming/cudf_streaming/tests/test_channel_metadata.py
  • python/cudf_streaming/cudf_streaming/tests/test_integration_partition.py
  • python/cudf_streaming/cudf_streaming/tests/test_partition.py
  • python/cudf_streaming/cudf_streaming/tests/test_read_parquet.py
  • python/cudf_streaming/cudf_streaming/tests/test_shuffler.py
  • python/cudf_streaming/cudf_streaming/tests/test_sparse_alltoall.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_allgather.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_define_actor.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_fanout.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_leaf_actor.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_shuffler.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_sparse_alltoall.py
  • python/cudf_streaming/cudf_streaming/tests/test_table_chunk.py
💤 Files with no reviewable changes (5)
  • python/cudf_streaming/cudf_streaming/integrations/init.pxd
  • python/cudf_streaming/cudf_streaming/streaming/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/streaming/init.py
  • python/cudf_streaming/cudf_streaming/integrations/CMakeLists.txt
  • python/cudf_streaming/cudf_streaming/integrations/init.py
✅ Files skipped from review due to trivial changes (31)
  • python/cudf_streaming/cudf_streaming/parquet.pyi
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.hpp
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_define_actor.py
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.hpp
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyi
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyi
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_sparse_alltoall.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/repartition.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/join.py
  • cpp/libcudf_streaming/tests/streaming/test_allgather.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.hpp
  • python/cudf_polars/cudf_polars/streaming/actor_graph/utils.py
  • python/cudf_streaming/cudf_streaming/tests/test_sparse_alltoall.py
  • python/cudf_streaming/cudf_streaming/tests/test_partition.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/shuffle.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/core.py
  • python/cudf_polars/cudf_polars/engine/spmd.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/allgather.py
  • python/cudf_streaming/cudf_streaming/tests/test_read_parquet.py
  • python/cudf_polars/tests/streaming/test_tracing.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_allgather.py
  • python/cudf_streaming/cudf_streaming/partition.pyi
  • python/cudf_polars/tests/streaming/test_shuffler.py
  • python/cudf_streaming/cudf_streaming/examples/ray_shuffle_example.py
  • python/cudf_polars/cudf_polars/engine/core.py
  • cpp/libcudf_streaming/tests/test_partition.cpp
  • python/cudf_polars/tests/streaming/test_metadata.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/union.py
  • python/cudf_streaming/cudf_streaming/tests/test_shuffler.py
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_fanout.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/collectives/sort.py
🚧 Files skipped from review as they are similar to previous changes (65)
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/concatenate.hpp
  • python/cudf_polars/tests/streaming/test_allgather.py
  • cpp/libcudf_streaming/include/cudf_streaming/utils.hpp
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_leaf_actor.py
  • python/cudf_polars/cudf_polars/engine/ray.py
  • python/cudf_streaming/cudf_streaming/examples/bulk_ray_shuffle.py
  • python/cudf_polars/cudf_polars/streaming/actor_graph/tracing.py
  • python/cudf_streaming/cudf_streaming/examples/bulk_mpi_shuffle.py
  • python/cudf_streaming/cudf_streaming/table_chunk.pxd
  • python/cudf_streaming/cudf_streaming/tests/test_bloom_filter.py
  • python/cudf_polars/cudf_polars/engine/dask.py
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/groupby.cpp
  • python/cudf_streaming/cudf_streaming/tests/test_channel_metadata.py
  • cpp/libcudf_streaming/benchmarks/streaming/data_generator.hpp
  • cpp/libcudf_streaming/CMakeLists.txt
  • python/cudf_polars/cudf_polars/streaming/actor_graph/nodes.py
  • cpp/libcudf_streaming/src/utils.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/parquet_writer.cpp
  • python/cudf_streaming/cudf_streaming/tests/test_integration_partition.py
  • python/cudf_streaming/cudf_streaming/init.pxd
  • python/cudf_streaming/cudf_streaming/init.py
  • python/cudf_streaming/cudf_streaming/bloom_filter.pyx
  • python/cudf_streaming/cudf_streaming/channel_metadata.pyx
  • cpp/libcudf_streaming/benchmarks/bench_partition.cpp
  • cpp/libcudf_streaming/src/partition_utils.cpp
  • cpp/libcudf_streaming/tests/streaming/test_shuffler.cpp
  • cpp/libcudf_streaming/benchmarks/bench_shuffle.cpp
  • python/cudf_streaming/cudf_streaming/tests/test_streaming_shuffler.py
  • python/cudf_streaming/cudf_streaming/bloom_filter.pxd
  • cpp/libcudf_streaming/examples/example_shuffle.cpp
  • cpp/libcudf_streaming/tests/streaming/test_leaf_actor.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/sort.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/bench_streaming_shuffle.cpp
  • python/cudf_streaming/cudf_streaming/tests/test_allgather.py
  • cpp/libcudf_streaming/src/partition.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/utils.hpp
  • python/cudf_streaming/CMakeLists.txt
  • python/cudf_polars/tests/streaming/test_spilling.py
  • cpp/libcudf_streaming/include/cudf_streaming/partition_utils.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/bench_read.cpp
  • python/cudf_streaming/cudf_streaming/partition.pyx
  • cpp/libcudf_streaming/include/cudf_streaming/parquet.hpp
  • cpp/libcudf_streaming/include/cudf_streaming/detail/device_bloom_filter.hpp
  • python/cudf_streaming/cudf_streaming/tests/test_table_chunk.py
  • python/cudf_streaming/cudf_streaming/partition_utils.pyx
  • python/cudf_streaming/cudf_streaming/parquet.pyx
  • cpp/libcudf_streaming/tests/streaming/test_partition.cpp
  • cpp/libcudf_streaming/tests/streaming/test_channel_metadata.cpp
  • cpp/libcudf_streaming/include/cudf_streaming/partition.hpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q09.cpp
  • cpp/libcudf_streaming/src/detail/device_bloom_filter.cu
  • python/cudf_streaming/cudf_streaming/table_chunk.pyx
  • cpp/libcudf_streaming/include/cudf_streaming/bloom_filter.hpp
  • cpp/libcudf_streaming/tests/test_shuffler.cpp
  • cpp/libcudf_streaming/src/parquet.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q03.cpp
  • cpp/libcudf_streaming/src/bloom_filter.cpp
  • python/cudf_streaming/cudf_streaming/channel_metadata.pxd
  • cpp/libcudf_streaming/tests/streaming/test_read_parquet.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/q21.cpp
  • cpp/libcudf_streaming/benchmarks/streaming/ndsh/join.cpp
  • cpp/libcudf_streaming/src/channel_metadata.cpp
  • cpp/libcudf_streaming/include/cudf_streaming/table_chunk.hpp
  • cpp/libcudf_streaming/src/table_chunk.cpp

@vyasr

vyasr commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai Thanks for the review. The deprecation bridge suggestions are not applicable here — cudf_streaming is still in beta with no stability guarantees, so we can (and do) make hard breaking changes without a deprecation cycle. This is intentionally different from libcudf proper, which has stricter compatibility requirements.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@vyasr Thanks for the context — that makes complete sense. I'll withdraw the deprecation bridge suggestions. Since cudf_streaming is in beta with no stability guarantees, hard breaking changes without a deprecation cycle are entirely appropriate.


✏️ Learnings added
Learnt from: vyasr
URL: https://github.com/rapidsai/cudf/pull/22909

Timestamp: 2026-06-16T22:28:42.388Z
Learning: In the `cudf_streaming` library (part of the `rapidsai/cudf` repository), the library is still in beta with no stability guarantees. Hard breaking changes (e.g., renaming types, flattening namespaces, removing symbols) are intentional and acceptable without any deprecation cycle or compatibility bridges. Do not suggest adding deprecation aliases or compatibility shims for `cudf_streaming`. This is explicitly different from `libcudf` proper, which has stricter API compatibility requirements.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@vyasr
vyasr requested a review from mroeschke June 23, 2026 22:29
…pace_casing

# Conflicts:
#	cpp/libcudf_streaming/benchmarks/streaming/ndsh/q03.cpp
#	cpp/libcudf_streaming/benchmarks/streaming/ndsh/q21.cpp
#	cpp/libcudf_streaming/tests/streaming/test_allgather.cpp
#	cpp/libcudf_streaming/tests/streaming/test_shuffler.cpp
#	cpp/libcudf_streaming/tests/test_shuffler.cpp
#	cpp/libcudf_streaming/tests/test_shuffler_many_streams.cpp
@vyasr

vyasr commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit e524b4f into NVIDIA:main Jun 24, 2026
259 of 263 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in cuDF Python Jun 24, 2026
@vyasr
vyasr deleted the chore/streaming_namespace_casing branch June 24, 2026 02:48
mhaseeb123 pushed a commit to mhaseeb123/cudf that referenced this pull request Jun 24, 2026
…DIA#22909)

Flatten the `libcudf_streaming` namespace hierarchy and rename PascalCase C++ types to snake_case.

### Changes

**C++ Namespace Flattening:**
- `cudf_streaming::streaming::` → `cudf_streaming::`
- `cudf_streaming::integrations::` → `cudf_streaming::`
- `cudf_streaming::actor::` preserved (intentional grouping)

**C++ Type Renames (snake_case):**
- `BloomFilter` → `bloom_filter`
- `TableChunk` → `table_chunk`
- `ChannelMetadata` → `channel_metadata`
- `PartitioningSpec` → `partitioning_spec`
- `BloomFilterChunk` → `bloom_filter_chunk`

**Detail Privatization:**
- `integrations::BloomFilter` (device-level) → `cudf_streaming::detail::device_bloom_filter`
- Header moved to `include/cudf_streaming/detail/device_bloom_filter.hpp`

**Directory Flattening:**
- C++ headers: `include/cudf_streaming/streaming/` and `include/cudf_streaming/integrations/` → `include/cudf_streaming/`
- C++ sources: `src/streaming/` and `src/integrations/` → `src/` (and `src/detail/`)
- Python/Cython: `cudf_streaming.streaming.*` and `cudf_streaming.integrations.*` → `cudf_streaming.*`

**Downstream Updates:**
- All `cudf_polars` imports updated to new paths

### Notes
- Python class names remain PascalCase (only C++ types renamed)
- No deprecation aliases — hard break
- All C++ tests pass (420 pass, 2 pre-existing OOM failures)
- All Python tests pass (cudf_streaming: 386 pass, cudf_polars streaming: 1133 pass)

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Mads R. B. Kristensen (https://github.com/madsbk)
  - Lawrence Mitchell (https://github.com/wence-)
  - Peter Andreas Entschev (https://github.com/pentschev)
  - Muhammad Haseeb (https://github.com/mhaseeb123)
  - Matthew Roeschke (https://github.com/mroeschke)

URL: NVIDIA#22909
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change CMake CMake build issue cudf-polars Issues specific to cudf-polars improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants