Since we know how to properly package, compile, and install custom C extensions and we are sure that it works as expected, now it is the right time to discuss our code in detail.
The extensions module starts with the following single C preprocessor directive that includes the Python.h header file:
#include <Python.h>
This pulls the whole Python/C API and is everything you need to include to be able to write your extensions. In more realistic cases, your code will require a lot more preprocessor directives to benefit from the C standard library functions or to integrate other source files. Our example was simple, so no more directives were required.
Next, we have the core of our module as follows:
long long fibonacci(unsigned ...