SWIG — Simplified Wrapper and Interface Generator (упрощенный генератор оболочек и интерфейсов) — является системой с открытыми исходными текстами. Первоначально она была создана Дэйвом Бизли (Dave Beazley), а теперь разрабатывается сообществом, как и сам Python. Она использует объявления типов C и C++ для генерации законченных модулей расширения C, интегрирующих существующие библиотеки для использования в сценариях Python. Генерируемые модули расширения на C (и C++) являются законченными: они автоматически осуществляют преобразование данных, поддерживают протоколы ошибок, управляют счетчиками ссылок и прочее.
То есть SWIG автоматически генерирует весь связующий программный код, необходимый для подключения компонентов C и C++ к программам Python, — просто запустите SWIG, скомпилируйте полученный от него результат и вы получите готовое к работе расширение. Вам остается только разобраться с деталями компиляции и компоновки, а остальную часть работы, связанной с созданием расширения на C, выполнит SWIG.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011