Самый простой ответ на это - написать по одному SWIG-модулю для каждого пространства имен, которое вы хотите предоставить, поэтому в приведенном выше примере вы бы написали SWIG-модуль с именем ns
внутри пакета libapp.
Youможет ссылаться на другие пространства имен, все еще находящиеся в других модулях, используя директиву SWIG * 1004. *.
. Вы также можете выполнить некоторую манипуляцию с информацией времени выполнения, которую генерирует SWIG, чтобы подключить ее во время выполнения или даже во время компиляции, нов любом случае сложность такого выполнения перевешивает преимущества чистого разделения вашего модуля.