picop.cymodule#

Module / import helpers.

picop.cymodule.mod_add_cstr(module, name, value)#

Add string constant name via PyModule_AddStringConstant.

Notes

name and value must be bytes, not str. Returns 0 on success; errors raise — do not use the status as a bool. Alias of mod_add_string (prefer *_cstr naming).

Parameters:
Return type:

int

picop.cymodule.mod_add_int(module, name, value)#

Add integer constant name via PyModule_AddIntConstant.

Notes

name must be bytes. Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cymodule.mod_add_object_ref(module, name, value)#

Add value as name without stealing the reference (PyModule_AddObjectRef).

Notes

name must be bytes. Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cymodule.mod_check(p)#

Return True if p is a module or subtype (PyModule_Check). :type p: object :param p:

Return type:

bool

picop.cymodule.mod_check_exact(p)#

Return True if type(p) is types.ModuleType (PyModule_CheckExact). :type p: object :param p:

Return type:

bool

picop.cymodule.mod_eq(a, b)#

Return True if a is b (module-object identity; CPython object.__eq__). :type a: object :param a: :type b: object :param b:

Return type:

bool

picop.cymodule.mod_get_filename(module)#

Return module.__file__ via PyModule_GetFilenameObject. :type module: object :param module:

Return type:

object

picop.cymodule.mod_get_name(module)#

Return module.__name__ via PyModule_GetNameObject. :type module: object :param module:

Return type:

object

picop.cymodule.mod_import(name)#

Import module name via PyImport_ImportModule.

Notes

name must be bytes, not str.

Parameters:

name (bytes)

Return type:

object

picop.cymodule.mod_import_object(name)#

Import module name via PyImport_Import. :type name: object :param name:

Return type:

object

picop.cymodule.mod_magic_number()#

Return the .pyc magic number via PyImport_GetMagicNumber.

Return type:

int

picop.cymodule.mod_new(name)#

Return a new module named name via PyModule_New.

Notes

name must be bytes, not str.

Parameters:

name (bytes)

Return type:

object

picop.cymodule.mod_new_object(name)#

Return a new module named name via PyModule_NewObject. :type name: object :param name:

Return type:

object

picop.cymodule.mod_reload(m)#

Reload module m via PyImport_ReloadModule. :type m: object :param m:

Return type:

object