:py:mod:`hx_registry` ================================= .. autoapi-nested-parse:: 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. :py:mod:`DuplicateHxRequestNameError` ------------------------------------- .. py:exception:: DuplicateHxRequestNameError Raised when two HxRequest classes declare the same ``name``.