Return value:
Borrowed reference.
Create a new module object based on a name and table of functions,
returning the new module object. If doc is non-NULL, it will
be used to define the docstring for the module. If self is
non-NULL, it will passed to the functions of the module as their
(otherwise NULL) first parameter. (This was added as an
experimental feature, and there are no known uses in the current
version of Python.) For apiver, the only value which should
be passed is defined by the constant PYTHON_API_VERSION.
Note: Most uses of this function should probably be using
the Py_InitModule3() instead; only use this if you are
sure you need it.