importhook¶
Python module for registering hooks to call when certain modules are imported.
import importhook
# Configure a function to call when `socket` is imported
@importhook.on_import('socket')
def socket_import(socket):
    print('Socket module imported')
# Import the `socket` module
import socket
- 
importhook.copy_module(module, copy_attributes=True, copy_spec=True)¶
- Helper function for copying a python module - import importhook @importhook.on_import('socket') def on_socket_import(socket): new_socket = importhook.copy_module(socket) setattr(new_socket, 'get_hostname', lambda: 'hostname') return new_socket 
- 
importhook.get_module_name(module)¶
- Helper function to get a module’s name 
- 
importhook.on_import(module_name, func=None)¶
- Helper function used to register a hook function for a given module - import importhook @importhook.on_import('socket') def on_socket_import(socket): print('socket imported') @importhook.on_import(importhook.ANY_MODULE) def on_any_import(module): print(f'{module.__spec__.name} imported') def on_httplib_import(httplib): print('httplib imported') importhook.on_import('httplib', on_httplib_import) 
- 
importhook.reload_module(module_name)¶
- Helper function to reload the specified module - import socket import importhook # Reload the `socket` module by passing in module socket = importhook.reload_module(socket) # Reload the `socket` module by passing in the name socket = importhook.reload_module('socket') 
- 
importhook.reset_module(module_name)¶
- Helper function to reset a copied module. - import socket import importhook # Copy `socket` module socket = importhook.copy_module(socket) # Reset copied `socket` module back to it's original version socket = importhook.reset_module(socket)