hx_registry
HxRequest Registry using AST parsing + lazy module import.
Behavior: - initialize(): scans installed apps for hx_requests.py and hx_requests/ packages,
parses files with AST to find classes with class attribute name = “…”, and stores name -> (module_path, class_name).
get_hx_request(name): lazily imports the module and returns the class.
get_all_hx_requests(): forces loading all discovered requests (imports all modules).
Notes: - This approach intentionally does NOT validate BaseHxRequest inheritance at parse time.
That only becomes known at import time.
DuplicateHxRequestNameError
- exception DuplicateHxRequestNameError
Raised when two HxRequest classes declare the same
name.