Python ctypes Wrappers

The ctypes-based Python wrappers have been deprecated in TEMU 5.1. The Python bindings are now generated with SWIG from the public C API, and a pythonic object layer is provided on top of them.

The SWIG wrappers are installed in share/temu/wrappers/Python, which is the directory put on the Python path. The deprecated ctypes wrappers are still installed, in share/temu/wrappers/Python-ctypes, and can be selected by setting the python/legacy-wrappers configuration option to true.

Sunset Period

The ctypes wrappers will be removed in TEMU 6.

Impact

The SWIG wrappers preserve the module paths and exported names of the ctypes wrappers, so most scripts work unmodified.

Code that manipulates the ctypes objects directly (e.g. relies on Object being a ctypes Structure) must be updated to the SWIG wrappers or the new pythonic layer.