Skip to content

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:

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.