def get_instruction_set_architecture(
        quantum_processor_id: str, client: QCSClient | None = None
    ) -> InstructionSetArchitecture:  # pragma: no cover
        """Retrieve the Instruction Set Architecture of a QuantumProcessor by ID. This
        includes site specific operations and native gate capabilities.

        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 qcs_api_client.models.InstructionSetArchitecture containing the device specification.
        """
        return get_instruction_set_architecture(
            quantum_processor_id=quantum_processor_id, client=client
        )
Retrieve the Instruction Set Architecture of a QuantumProcessor by ID. This
        includes site specific operations and native gate capabilities.

        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 qcs_api_client.models.InstructionSetArchitecture containing the device specification.
        
cirq-rigetti/cirq_rigetti/service.py