def get_rigetti_qcs_aspen_device(
    quantum_processor_id: str, client: QCSClient | None = None
) -> RigettiQCSAspenDevice:
    """Retrieves a `qcs_api_client.models.InstructionSetArchitecture` from the Rigetti
    QCS API and uses it to initialize a RigettiQCSAspenDevice.

    Args:
        quantum_processor_id: The identifier of the Rigetti QCS quantum processor.
        client: Optional; A `QCSClient` initialized with Rigetti QCS credentials
        and configuration. If not provided, `qcs_api_client` will initialize a
        configured client based on configured values in the current user's
        `~/.qcs` directory or default values.

    Returns:
        A `RigettiQCSAspenDevice` with the specified quantum processor instruction
        set and architecture.

    """
    isa = get_instruction_set_architecture(client=client, quantum_processor_id=quantum_processor_id)
    return RigettiQCSAspenDevice(isa=isa)
Retrieves a `qcs_api_client.models.InstructionSetArchitecture` from the Rigetti
    QCS API and uses it to initialize a RigettiQCSAspenDevice.

    Args:
        quantum_processor_id: The identifier of the Rigetti QCS quantum processor.
        client: Optional; A `QCSClient` initialized with Rigetti QCS credentials
        and configuration. If not provided, `qcs_api_client` will initialize a
        configured client based on configured values in the current user's
        `~/.qcs` directory or default values.

    Returns:
        A `RigettiQCSAspenDevice` with the specified quantum processor instruction
        set and architecture.

    
cirq-rigetti/cirq_rigetti/aspen_device.py