Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ntuple] Implement minimal Python API #17104

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

hahnjo
Copy link
Member

@hahnjo hahnjo commented Nov 27, 2024

Forbid default entries in Python, pythonize REntry to behave as a dict, and provide context manager functions for RNTupleWriter.

(depends on #17053)

This makes REntry a bit more standalone from the model.
This makes entries standalone from the lifetime of the model and its
fields, which will be important for the Python API.
This will allow user-friendly pythonizations of REntry.
This is used for REntry::EnsureMatchingModel().
They only make sense with shared pointers from MakeField, which is hard
to use from Python. Also the lifetime of the default entry is tied to
that of the RNTupleModel. Forcing the user to create explicit entries,
which are fully decoupled from other lifetimes, allows them to be passed
around freely and play much nicer with Python.
Make it behave like a dictionary that automatically gets the field type
and uses it internally.
Copy link

Test Results

    18 files      18 suites   4d 6h 13m 49s ⏱️
 2 687 tests  2 685 ✅ 0 💤 2 ❌
46 530 runs  46 528 ✅ 0 💤 2 ❌

For more details on these failures, see this check.

Results for commit 830435f.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

1 participant