"""Menu provider registration. Routes through the ``kcsdk`` C++ module. The kcsdk module is required. """ def register_menu(provider): """Register a menu provider for declarative menu placement. Delegates to ``kcsdk.register_menu()`` which installs a shared WorkbenchManipulator that injects items at the specified menu path. """ try: import kcsdk except ImportError: raise RuntimeError( "kcsdk module not available. " "The kindred_sdk requires the kcsdk C++ module (libKCSDK)." ) kcsdk.register_menu(provider)