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

[python/c++] Add C++ SOMACoordinateSpace and use it to push Scene metadata down to C++ #3580

Merged
merged 6 commits into from
Jan 21, 2025

Conversation

jp-dark
Copy link
Collaborator

@jp-dark jp-dark commented Jan 16, 2025

Issue and/or context: sc-62098 and sc-62100

Changes:
Create a new class SOMACoordinateSpace in C++ and use it to read/write coordinate space metadata. Use this class to write coordinate space metadata for the SOMAScene class in C++. This replaces writing the metadata in the Python layer and fixes an issue where the Scene metadata was being written in a later timestamp than other core metadata like the SOMA datatype.

Notes:
A similar change will be made for writing the metadata for MultiscaleImage and PointCloudDataFrame, but the Python create method for both of the other classes need other changes first so it will be addressed in future PRs.

@johnkerl johnkerl changed the title [python/cpp] Add C++ SOMACoordinateSpace and use it to pushdown Scene metadata to C++ [python/cpp] Add C++ SOMACoordinateSpace and use it to push Scene metadata down to C++ Jan 16, 2025
Copy link

codecov bot commented Jan 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.31%. Comparing base (39d6d41) to head (874a1e6).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3580      +/-   ##
==========================================
+ Coverage   86.27%   86.31%   +0.03%     
==========================================
  Files          55       55              
  Lines        6375     6378       +3     
==========================================
+ Hits         5500     5505       +5     
+ Misses        875      873       -2     
Flag Coverage Δ
python 86.31% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
python_api 86.31% <100.00%> (+0.03%) ⬆️
libtiledbsoma ∅ <ø> (∅)

libtiledbsoma/src/soma/soma_coordinates.cc Outdated Show resolved Hide resolved
libtiledbsoma/src/soma/soma_coordinates.h Outdated Show resolved Hide resolved
libtiledbsoma/src/soma/soma_coordinates.cc Show resolved Hide resolved
@jp-dark jp-dark merged commit 31b66cc into main Jan 21, 2025
15 of 16 checks passed
@jp-dark jp-dark deleted the dark/cpp-coord-space-metadata branch January 21, 2025 20:18
Copy link

The backport to release-1.15 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-release-1.15 release-1.15
# Navigate to the new working tree
cd .worktrees/backport-release-1.15
# Create a new branch
git switch --create backport-3580-to-release-1.15
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick --mainline 1 31b66cc9fd89465e2ac6332f58773bb725cfa8b8
# Push it to GitHub
git push --set-upstream origin backport-3580-to-release-1.15
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-release-1.15

Then, create a pull request where the base branch is release-1.15 and the compare/head branch is backport-3580-to-release-1.15.

johnkerl pushed a commit that referenced this pull request Jan 21, 2025
… metadata down to C++ (#3580)

Create a new class `SOMACoordinateSpace` in C++ and use it to read/write coordinate space metadata. Use this class to write coordinate space metadata for the `SOMAScene` class in C++. This replaces writing the metadata in the Python layer and fixes an issue where the `Scene` metadata was being written in a later timestamp than other core metadata like the SOMA datatype.
@johnkerl johnkerl changed the title [python/cpp] Add C++ SOMACoordinateSpace and use it to push Scene metadata down to C++ [python/c++] Add C++ SOMACoordinateSpace and use it to push Scene metadata down to C++ Jan 21, 2025
johnkerl added a commit that referenced this pull request Jan 21, 2025
… use it to push `Scene` metadata down to C++ (#3602)

* [python/cpp] Add C++ `SOMACoordinateSpace` and use it to push `Scene` metadata down to C++ (#3580)

Create a new class `SOMACoordinateSpace` in C++ and use it to read/write coordinate space metadata. Use this class to write coordinate space metadata for the `SOMAScene` class in C++. This replaces writing the metadata in the Python layer and fixes an issue where the `Scene` metadata was being written in a later timestamp than other core metadata like the SOMA datatype.

* std::format -> fmt::format for C++17 on release-1.15 branch

* fix merge

* re-run lint-fixer after merge

---------

Co-authored-by: Julia Dark <[email protected]>
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