def create_noiseless_virtual_processor_from_template(
    processor_id: str, template_name: str
) -> SimulatedLocalProcessor:
    """Creates a simulated local processor from a device specification template.

    Args:
        processor_id: name of the processor to simulate.
            Use `list_virtual_processors` to obtain available names.
        template_name: File name of the device specification template, see
            cirq_google/devices/specifications for valid templates.
        gate_sets: Iterable of serializers to use in the processor.
    """
    return create_noiseless_virtual_processor_from_proto(
        processor_id, device_specification=_create_device_spec_from_template(template_name)
    )
Creates a simulated local processor from a device specification template.

    Args:
        processor_id: name of the processor to simulate.
            Use `list_virtual_processors` to obtain available names.
        template_name: File name of the device specification template, see
            cirq_google/devices/specifications for valid templates.
        gate_sets: Iterable of serializers to use in the processor.
    
cirq-google/cirq_google/engine/virtual_engine_factory.py