Using PyAlice In Other Python Applications

Hi there,

I am wondering if it is possible to import and use the PyAlice package in other Python applications outside of Bazel, if the goal is to have those applications communicate with Robot Bridge Engine on Isaac Omniverse?

Currently, if I try importing PyAlice outside of Bazel would give me import error (“ImportError: cannot import name ‘PybindMessage’”), which indicates that some dependencies are found only within bazel run.

Otherwise, if it is not possible, are there any suggestions on how we can communicate between the Isaac Python application and external Python application? Preferably without having to use ROS bridge.

The PyAlice package does have pybind C++ dependencies which you can find laid out in the bazel-bin/...<target path>/<target>.runfiles if you want to try to package the dependencies together when running your external Python program. More convenient would be to use Bazel in your external project too and then refer to the SDK workspace as an external in WORKSPACE. Finally, if you want to keep them separated on different build systems and copying the runfiles doesn’t capture everything, bridging over network (with ROS bridge or your own custom one) is your best option left.