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

feat: basic RNTuple writing #1356

Merged
merged 10 commits into from
Feb 17, 2025
Merged

feat: basic RNTuple writing #1356

merged 10 commits into from
Feb 17, 2025

Conversation

ariostas
Copy link
Collaborator

@ariostas ariostas commented Jan 2, 2025

This PR adds basic RNTuple writing functionality. Currently, it can write an RNTuple with some simple fields, but no data. My plan for this PR is to get it to write flat columns of basic types, which it seems like it won't take too much work.

After this PR, there will still be a lot of work to fully implement RNTuple writing, but it will be nice to have the most basic functionality working so that we can test things and build up from there.

@ariostas
Copy link
Collaborator Author

The writing functionality still needs a lot of work, but in the interest of keeping PRs reasonably sized, I will follow up with other PRs.

With the changes in this PR, it is now possible to write flat arrays of native data types (except bool). The files produced are able to be correctly read by ROOT, so the most basic structure and functionality is working.

Unfortunately, we are currently not able to test reading the files with ROOT in the CI, since ROOT 6.34 is still not available on conda-forge. However, I did run the tests locally and everything passes.

@ariostas ariostas requested a review from ianna February 13, 2025 16:40
@ariostas ariostas marked this pull request as ready for review February 13, 2025 16:40
@ariostas ariostas mentioned this pull request Feb 17, 2025
17 tasks
Copy link
Collaborator

@ianna ianna left a comment

Choose a reason for hiding this comment

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

@ariostas - Fantastic! This PR is an essential step in moving forward! I agree with your reasoning to split further development to proceed with smaller PRs. Building docs fails, but it's unrelated to this PR. Please, go ahead and merge it when you are ready.

@ariostas ariostas enabled auto-merge (squash) February 17, 2025 16:44
@ariostas ariostas merged commit 8a25c5a into main Feb 17, 2025
26 checks passed
@ariostas ariostas deleted the ariostas/rntuple_writing branch February 17, 2025 16:47
maxgalli pushed a commit to maxgalli/uproot5 that referenced this pull request Feb 20, 2025
* Writing RNTuple with no data now works

* Re-enabled existing writing tests and fixed a few things

* It works now for flat arrays of native types

* Fix test

* Some cleanup

* Added test for basic writing

* Fixed utf-8 string encoding

* Fixed typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants