You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently package the entire viewer within the rerun_bindings.so library.
When we run the viewer from the CLI, the python process imports this library and then invokes a method on it that spawns the viewer.
While this has been convenient for packaging, only requiring users to have a single library, it leads to several issues:
Simply importing the python library requires the user to have all of the runtime system dependencies of the viewer available. This is painful for headless environments, and even just systems with older glibc's:
Additionally the fact that we dispatch through a python library means the viewer is always nested under a python process which leads to some behavioral issues related to setting the window icon on windows.
Proposal
Make the python library act more like C++/rust by spawning an external executable.
Since we already have builds for a standalone rerun-cli executable, ideally we should modify the rerun python package to use this same artifact and (optionally?) pack it into the python wheel at a known location.
Unlike C++/Rust where we run whichever executable we find on the path, we could include functionality in python to specifically spawn the packaged executable.
The text was updated successfully, but these errors were encountered:
Context
We currently package the entire viewer within the
rerun_bindings.so
library.When we run the viewer from the CLI, the python process imports this library and then invokes a method on it that spawns the viewer.
While this has been convenient for packaging, only requiring users to have a single library, it leads to several issues:
Proposal
Make the python library act more like C++/rust by spawning an external executable.
Since we already have builds for a standalone rerun-cli executable, ideally we should modify the rerun python package to use this same artifact and (optionally?) pack it into the python wheel at a known location.
Unlike C++/Rust where we run whichever executable we find on the path, we could include functionality in python to specifically spawn the packaged executable.
The text was updated successfully, but these errors were encountered: