Я работаю с API, который распространяется как файл dll/so, который мне нужно динамически связать с моей программой python. Для этого я хочу использовать Cython.
Раньше мне удавалось статически связываться с dll. Это работает хорошо, за исключением того, что API поставляется в четырех разных вариантах, и теоретически их будет бесконечно больше, и пользователи должны иметь возможность компилировать их с любым именем, которое они хотят (что-то вроде системы плагинов). Из-за этого я не могу просто создать файл so/pxd, который статически связывается только с одной библиотекой или даже с некоторыми из них.
Что мне нужно, так это иметь возможность передать имя so/dll в код Cython и заставить его «импортировать» его. Я знаю, что это можно сделать с помощью ctypes через ctypes.cdll.LoadLibrary, но возможно ли это в Cython? Мне придется использовать ctypes для этого?