-
Notifications
You must be signed in to change notification settings - Fork 335
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
SDK DataLoader
s 8: customizable (external) loaders for C++
#5361
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
teh-cmc
added
do-not-merge
Do not merge this PR
🌊 C++ API
C/C++ API specific
include in changelog
🪵 Log & send APIs
Affects the user-facing API for all languages
labels
Feb 29, 2024
8 tasks
teh-cmc
added a commit
that referenced
this pull request
Mar 1, 2024
Introduces the new `DataLoaderSettings` business to Python and update examples accordingly (`external_data_loader` & `log_file`). ```bash python examples/python/external_data_loader/main.py --recording-id this-one --entity-path-prefix a/b/c --time sim_time=1000 --time wall_time=1709204046 --sequence sim_frame=42 examples/python/dna/main.py | rerun - ``` ![image](https://github.com/rerun-io/rerun/assets/2910679/bfda567d-3d16-42cd-be8e-8b1a0767a784) Checks: - [x] external loader ran manually (`python loader | rerun`) - [x] external loader via rerun (`rerun xxx.py`) - [x] log_file with external loader (`log_file xxx.py`) --- Part of series of PR to expose configurable `DataLoader`s to our SDKs: - #5327 - #5328 - #5330 - #5337 - #5351 - #5355 - #5361
teh-cmc
force-pushed
the
cmc/sdk_dataloader_7_cpp_settings
branch
3 times, most recently
from
March 4, 2024 10:32
f77e8b4
to
cc02362
Compare
teh-cmc
changed the title
SDK
SDK Mar 4, 2024
DataLoader
s 7: customizable (external) loaders for C++DataLoader
s 8: customizable (external) loaders for C++
This was referenced Mar 4, 2024
teh-cmc
force-pushed
the
cmc/sdk_dataloader_7_cpp_settings
branch
from
March 4, 2024 11:31
cc02362
to
76d84d8
Compare
teh-cmc
changed the base branch from
main
to
cmc/sdk_dataloader_7_stateful_log_file
March 4, 2024 11:32
teh-cmc
force-pushed
the
cmc/sdk_dataloader_7_cpp_settings
branch
2 times, most recently
from
March 4, 2024 14:52
7ae4317
to
dcdfca3
Compare
5 tasks
Wumpf
approved these changes
Mar 4, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks pretty nice for a c++ pr 😁
|
||
bool is_file = std::filesystem::is_regular_file(filepath); | ||
bool is_cpp_file = std::filesystem::path(filepath).extension().string() == ".cpp"; | ||
|
||
// Inform the Rerun Viewer that we do not support that kind of file. | ||
if (!is_file || is_cpp_file) { | ||
if (!is_file || !is_cpp_file) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops, how did that go through before
teh-cmc
added a commit
that referenced
this pull request
Mar 4, 2024
This makes the `log_file` APIs behave more like the standard `log` APIs; i.e. they inherit the state of their associated `RecordingStream` (app_id, rec_id, timepoint, etc...). Also inherit the application ID while we're at it. Makes the API much nicer to use _and_ much more consistent with the rest. Checks: - [x] external loader ran manually (`python loader | rerun`) - [x] external loader via rerun (`rerun xxx.py`) - [x] log_file with external loader (`log_file xxx.py`) - [x] external loader ran manually (`loader | rerun`) - [x] external loader via rerun (`rerun xxx.rs`) - [x] log_file with external loader (`log_file xxx.rs`) --- Part of series of PR to expose configurable `DataLoader`s to our SDKs: - #5327 - #5328 - #5330 - #5337 - #5351 - #5355 - #5379 - #5361 - #5388 --------- Co-authored-by: Andreas Reich <[email protected]>
teh-cmc
force-pushed
the
cmc/sdk_dataloader_7_cpp_settings
branch
from
March 4, 2024 16:46
d6c346c
to
25b281a
Compare
teh-cmc
added a commit
that referenced
this pull request
Mar 6, 2024
I guess that's good enough 🤷. I don't know, my brain has been completely friend by C++ non-sense all day. This includes a fix to make sure that a viewer that was spawned from the python SDK is still allowed to spawn dataloaders implemented in python (`RERUN_APP_ONLY` shenaniganeries). - Fixes #4526 --- Part of series of PR to expose configurable `DataLoader`s to our SDKs: - #5327 - #5328 - #5330 - #5337 - #5351 - #5355 - #5379 - #5361 - #5388
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🌊 C++ API
C/C++ API specific
include in changelog
🪵 Log & send APIs
Affects the user-facing API for all languages
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduces the new
DataLoaderSettings
business to C++ and update examples accordingly (external_data_loader
&log_file
)../build/debug/examples/cpp/log_file/example_log_file --recording-id this-one --entity-path-prefix a/b/c --time sim_time=1000 --time wall_time=1709204046 --sequence sim_frame=42 rerun_cpp/tests/main.cpp | rerun -
Checks:
loader.exe | rerun
)rerun xxx.cpp
)log_file xxx.cpp
)Part of series of PR to expose configurable
DataLoader
s to our SDKs:DataLoader
s 1: barebones Rust support #5327DataLoader
s 2: barebones Python support #5328DataLoader
s 3: barebones C and C++ support #5330DataLoader
s 4: working around shutdown brittleness #5337DataLoader
s 5: customizable (external) loaders for Rust #5351DataLoader
s 6: customizable (external) loaders for Python #5355DataLoader
s 7: stateful file logging #5379DataLoader
s 8: customizable (external) loaders for C++ #5361DataLoader
s 9: polish, docs, etc #5388Checklist
main
build: app.rerun.ionightly
build: app.rerun.io