program_type_manager
¶
ProgramLibraryAlreadyRegisteredError
¶
Raised when attempting to register a program library that already exists.
ProgramTypeError
¶
Base exception for program type-related errors.
ProgramTypeManager
¶
ProgramTypeManager()
Class that manages the mapping between program types and library identifiers.
register_type
¶
register_type(program_lib: str, program_type: type[Any], *, allow_override: bool = False) -> None
Register a program type with its corresponding library identifier.
Parameters:
-
program_lib(str) –Library identifier (e.g., "qiskit", "tket")
-
program_type(type[Any]) –Type of the program to register
-
allow_override(bool, default:False) –When False, prevents overwriting existing registrations. Defaults to False.
Raises:
-
ProgramLibraryAlreadyRegisteredError–If the library is already registered and allow_override is False.
resolve_lib
¶
resolve_lib(program: Any) -> str | None
Resolve the library identifier for a given program instance.
Parameters:
-
program(Any) –Program instance to inspect
Returns:
-
str | None–The library identifier if the program type is registered, None otherwise.