Minimalistic and maintainable Python extensions
The last 10 year have show that Python is versatile enough and fast enough for general purpose computations. An exception to this may be solving problems that require to juggle a very large number of intricately connected objects, e.g. when implementing a CAD program or a rendering engine and which are better done using a language with more direct access to the computer’s hardware. In Python, data-heavy computations can often be accomplished efficiently with numpy and other specialized libraries. Occansionally however one runs into a specific problem that can’t be solved efficiently with the availably libraries or where adding a extra dependency is an unfavorable option (e.g. for licensing, security, or maintenance issues). In that case, builing a C extension module is often a good solution to optimize the slow code.