selene_sim.build¶
- selene_sim.build(src: Any, name: str | None = None, *, build_dir: Path | None = None, interface: QuantumInterface | None = None, utilities: Sequence[Utility] | None = None, verbose: bool = False, planner: BuildPlanner | None = None, progress_bar: bool = False, strict: bool = False, save_planner: bool = False, **kwargs) SeleneInstance ¶
Build an selene runner from a supported input resource type, e.g. a hugr package, LLVM file, etc. The type of this input is determined by matching against registered artifact kinds in the build planner.
The build planner is used to determine a sequence of steps to transform the input resource into a selene executable. These are then performed, and the selene executable is returned wrapped in a SeleneInstance instance.
- Parameters:
src – The input resource representing a hybrid program.
name – The stem of the output executable filename, and referred to in temporary paths created in the process. If None (default), a random name is used.
build_dir – The directory in which to establish the directory structure for building and running the selene instance. Defaults to a temporary directory.
build_method – Where applicable, the method used to build the selene executable. Defaults to BuildMethod.VIA_LLVM_BITCODE.
interface – The quantum interface to target. This defaults to the Helios QIS.
utilities – A list of utility plugins to use. These are linked in with the final program to expose additional symbols to the user program.
verbose – If True, the build process will be more verbose.
planner – The build planner to use. If None, the default global planner is used. For more information, see the selene_core.build_utils documentation.
progress_bar – If True, a progress bar will be displayed during the build process. This requires tqdm to be installed.
strict – If True, intermediate artifacts will be validated against their kinds on each step. This is more expensive, and is only recommended when debugging or developing new artifact kinds and build steps.
- Returns:
An SeleneInstance object representing the built selene runner