pyquil.api.QPUCompiler

class pyquil.api.QPUCompiler(quilc_endpoint, qpu_compiler_endpoint, device, timeout=10, name=None, *, session=None)[source]

Client to communicate with the Compiler Server.

Parameters
  • quilc_endpoint (Optional[str]) – TCP or IPC endpoint of the Quil Compiler (quilc).

  • qpu_compiler_endpoint (Optional[str]) – TCP or IPC endpoint of the QPU Compiler.

  • device (AbstractDevice) – PyQuil Device object to use as compilation target.

  • timeout (int) – Number of seconds to wait for a response from the client.

  • name (Optional[str]) – Name of the lattice being targeted.

  • session (Optional[ForestSession]) – ForestSession object, which manages engagement and configuration.

__init__(quilc_endpoint, qpu_compiler_endpoint, device, timeout=10, name=None, *, session=None)[source]

Client to communicate with the Compiler Server.

Parameters
  • quilc_endpoint (Optional[str]) – TCP or IPC endpoint of the Quil Compiler (quilc).

  • qpu_compiler_endpoint (Optional[str]) – TCP or IPC endpoint of the QPU Compiler.

  • device (AbstractDevice) – PyQuil Device object to use as compilation target.

  • timeout (int) – Number of seconds to wait for a response from the client.

  • name (Optional[str]) – Name of the lattice being targeted.

  • session (Optional[ForestSession]) – ForestSession object, which manages engagement and configuration.

Methods

__init__(quilc_endpoint, …[, timeout, …])

Client to communicate with the Compiler Server.

connect()

rtype

None

get_version_info()

Return version information for this compiler and its dependencies.

native_quil_to_executable(nq_program)

Compile a native quil program to a binary executable.

quil_to_native_quil(program, *[, protoquil])

Compile an arbitrary quil program according to the ISA of target_device.

reset()

Reset the state of the QPUCompiler Client connections.

Attributes

qpu_compiler_client

rtype

Union[Client, HTTPCompilerClient, None]