В «старые времена», когда был только cpython, большинство расширений были написаны на c (настолько независимыми от платформы, насколько это возможно) и скомпилированы в pyd (например, PyCrypto). Теперь есть Jython, IronPython и PyPy, и pyd не работают ни с одним из них (кроме Ironclad). Кажется, что все они поддерживают ctypes, и наилучший подход МОЖЕТ создать независимую от платформы dll или разделяемую библиотеку, а затем использовать ctypes для взаимодействия с ней.
Но я думаю, что этот подход будет немного медленнее, чем подход старой моды PID. Вы также можете запрограммировать pyd для cpython, аналогичный c # dll для IronPython и java-класс или jar для Jython (я не уверен насчет PyPy. Но хотя этот подход будет привлекательным для пуристов платформы, он очень трудоемок. лучший маршрут сегодня?