The existing Python bindings have been created by hand. This causes several problems:
- The python bindings have not (always) been updated when the C header files have been modified, for example when adding a new OpenSAF extension. It is also difficult to know if the python bindings are complete or if some function is missing
- There is a risk for typos and copy-paste bugs when manually translating the C header files to Python
- Because of the risk for typos, all API functions and structure definitions must be tested individually
- Due to the manual effort, there is a risk for inconsistencies in how different C functions are mapped to Python - especially over time if different people are working with the bindings
To solve the above mentioned probelms, the suggestion is to instead translate the C header files to Python automatically at build time.