There are only a few functions special to module objects.
This instance of PyTypeObject represents the Python module type. This is exposed to Python programs as types.ModuleType.
Return true if p is a module object, or a subtype of a module object.
Return true if p is a module object, but not a subtype of PyModule_Type.
Return a new module object with the __name__ attribute set to name. Only the module’s __doc__ and __name__ attributes are filled in; the caller is responsible for providing a __file__ attribute.
New in version 3.3.
Similar to PyImport_NewObject(), but the name is an UTF-8 encoded string instead of a Unicode object.
Return the dictionary object that implements module‘s namespace; this object is the same as the __dict__ attribute of the module object. This function never fails. It is recommended extensions use other PyModule_*() and PyObject_*() functions rather than directly manipulate a module’s __dict__.
Return module‘s __name__ value. If the module does not provide one, or if it is not a string, SystemError is raised and NULL is returned.
New in version 3.3.
Similar to PyModule_GetNameObject() but return the name encoded to 'utf-8'.
Return the name of the file from which module was loaded using module‘s __file__ attribute. If this is not defined, or if it is not a unicode string, raise SystemError and return NULL; otherwise return a reference to a Unicode object.
New in version 3.2.
Similar to PyModule_GetFilenameObject() but return the filename encoded to ‘utf-8’.
Deprecated since version 3.2: PyModule_GetFilename() raises UnicodeEncodeError on unencodable filenames, use PyModule_GetFilenameObject() instead.
Return the “state” of the module, that is, a pointer to the block of memory allocated at module creation time, or NULL. See PyModuleDef.m_size.
Return a pointer to the PyModuleDef struct from which the module was created, or NULL if the module wasn’t created with PyModule_Create().i
Returns the module object that was created from def for the current interpreter. This method requires that the module object has been attached to the interpreter state with PyState_AddModule() beforehand. In case the corresponding module object is not found or has not been attached to the interpreter state yet, it returns NULL.
Attaches the module object passed to the function to the interpreter state. This allows the module object to be accessible via PyState_FindModule().
New in version 3.3.
Removes the module object created from def from the interpreter state.
New in version 3.3.
These functions are usually used in the module initialization function.
Create a new module object, given the definition in module. This behaves like PyModule_Create2() with module_api_version set to PYTHON_API_VERSION.
Create a new module object, given the definition in module, assuming the API version module_api_version. If that version does not match the version of the running interpreter, a RuntimeWarning is emitted.
Note
Most uses of this function should be using PyModule_Create() instead; only use this if you are sure you need it.
This struct holds all information that is needed to create a module object. There is usually only one static variable of that type for each module, which is statically initialized and then passed to PyModule_Create() in the module initialization function.
Always initialize this member to PyModuleDef_HEAD_INIT.
Name for the new module.
Docstring for the module; usually a docstring variable created with PyDoc_STRVAR() is used.
If the module object needs additional memory, this should be set to the number of bytes to allocate; a pointer to the block of memory can be retrieved with PyModule_GetState(). If no memory is needed, set this to -1.
This memory should be used, rather than static globals, to hold per-module state, since it is then safe for use in multiple sub-interpreters. It is freed when the module object is deallocated, after the m_free function has been called, if present.
A pointer to a table of module-level functions, described by PyMethodDef values. Can be NULL if no functions are present.
A traversal function to call during GC traversal of the module object, or NULL if not needed.
A clear function to call during GC clearing of the module object, or NULL if not needed.
A function to call during deallocation of the module object, or NULL if not needed.
Add an object to module as name. This is a convenience function which can be used from the module’s initialization function. This steals a reference to value. Return -1 on error, 0 on success.
Add an integer constant to module as name. This convenience function can be used from the module’s initialization function. Return -1 on error, 0 on success.
Add a string constant to module as name. This convenience function can be used from the module’s initialization function. The string value must be null-terminated. Return -1 on error, 0 on success.