def __init__(self, qubits: Sequence[cirq.Qid]) -> None:
        """Initializes a device with some qubits.

        Args:
            qubits (NamedQubit): Qubits on the device, exclusively unrelated to
                a physical position.
        Raises:
            TypeError: If the wrong qubit type is provided.
            ValueError: If the number of qubits is greater than the devices maximum.

        """
        if len(qubits) > 0:
            q_type = type(qubits[0])

        for q in qubits:
            if not isinstance(q, self.supported_qubit_type):
                raise TypeError(
                    f'Unsupported qubit type: {q!r}. This device '
                    f'supports qubit types: {self.supported_qubit_type}'
                )
            if not type(q) is q_type:
                raise TypeError("All qubits must be of same type.")

        if len(qubits) > self.maximum_qubit_number:
            raise ValueError(
                f'Too many qubits. {type(self)} accepts at most {self.maximum_qubit_number} qubits.'
            )

        self.gateset = PasqalGateset()
        self.qubits = qubits
        self._metadata = cirq.DeviceMetadata(
            qubits, nx.from_edgelist([(a, b) for a in qubits for b in qubits if a != b])
        )
Initializes a device with some qubits.

        Args:
            qubits (NamedQubit): Qubits on the device, exclusively unrelated to
                a physical position.
        Raises:
            TypeError: If the wrong qubit type is provided.
            ValueError: If the number of qubits is greater than the devices maximum.

        
cirq-pasqal/cirq_pasqal/pasqal_device.py