Omnivese extension not reloading some of my code

I’m writing an omniverse extension that calls code in CuRobo, which I have built and installed from source. When I modify the python code in curobo, isaac sim does not reload the extension. It works fine if I change code within the extension package itself. Can I control the code reloading to fix this?

Hi Peter. Unfortunately, I don’t think this is supported directly. Omniverse Kit uses an OS-dependent mechanism to monitor the contents of the extension directory only. It’s possible to restrict the monitored files further by using the fswatcher.paths parameter in the extension’s TOML file, but because paths are always relative to the extension root, I don’t think it’s possible to give an absolute or relative path to a separate directory.

For development purposes, one option would be to move the cuRobo installation directory into the directory of your extension. (I doubt a symbolic link would work, although a hard link might.) Just be aware that watching large numbers of files might come with some performance overhead, and there’s an upper limit to the number of files that can be watched (controlled by the fs.inotify.max_user_watches kernel parameter in the case of linux).

Another option might be to script your editor to append to (or just touch?) a file in the extension directory whenever you save a cuRobo file.

Finally, there’s always the manual approach of disabling and reenabling the extension in the extension manager to force it to be reloaded.

1 Like

[edited] hardlinks do work, but reloading the extension does not seem to work.

That’s surprising. We’ll see if we can repro internally.

Just to confirm: You’re testing by modifying a python file in cuRobo (e.g., adding a print()), then finding your extension in the Extension manager, toggling it off and back on, and then running your extension but not seeing the effect of your change?

Yes, precisely. And I’ve installed curobo using their isaac sim install instructions. Restarting isaac sim causes the changes to take effect, but that’s horribly slow. Even with a 4090 it takes ~10 seconds for isaac sim to launch.