Skip to content

[Python] Decouple Pythonizations from CPyCppyy internals via public API#21694

Merged
guitargeek merged 2 commits intoroot-project:masterfrom
guitargeek:cppyy_api_1
Mar 27, 2026
Merged

[Python] Decouple Pythonizations from CPyCppyy internals via public API#21694
guitargeek merged 2 commits intoroot-project:masterfrom
guitargeek:cppyy_api_1

Conversation

@guitargeek
Copy link
Copy Markdown
Contributor

Replace most direct usage of CPyCppyy internal headers and implementation details in PyROOT with calls to the public CPyCppyy API.

This removes implicit coupling between PyROOT and CPyCppyy internals, improves ABI robustness, and clarifies the boundary between the two components while preserving existing functionality.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 25, 2026

Test Results

    22 files      22 suites   3d 8h 31m 43s ⏱️
 3 836 tests  3 830 ✅   1 💤 5 ❌
75 675 runs  75 533 ✅ 137 💤 5 ❌

For more details on these failures, see this check.

Results for commit f50a5db.

♻️ This comment has been updated with latest results.

Copy link
Copy Markdown
Contributor

@aaronj0 aaronj0 left a comment

Choose a reason for hiding this comment

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

For the new public APIs in CPyCppyy - LGTM!

Replace most direct usage of CPyCppyy internal headers and
implementation details in PyROOT with calls to the public CPyCppyy API.

This removes implicit coupling between PyROOT and CPyCppyy internals,
improves ABI robustness, and clarifies the boundary between the two
components while preserving existing functionality.
The `Utiliy::GetBuffer` function from CPyCppyy is an overkill for the
simple usecase in the ROOT Pythonization library. We can have our own
helper there, avoiding yet another usage of internal CPyCppyy functions.
@guitargeek
Copy link
Copy Markdown
Contributor Author

Resolved merge conflicts. @vepadulano, is this PR also okay for you?

Copy link
Copy Markdown
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

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

LGTM in general, just a minor question for clarification, thanks!

Comment thread bindings/pyroot/pythonizations/src/PyROOTModule.cxx
@guitargeek guitargeek merged commit 7ca0c4b into root-project:master Mar 27, 2026
27 of 30 checks passed
@guitargeek guitargeek deleted the cppyy_api_1 branch March 27, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants