def __init__(self, num_qubits: int | None = None) -> None:
        """Init AnyUnitaryGateFamily

        Args:
            num_qubits: The GateFamily will accept any unitary gate acting on `num_qubits`.
                        If left `None`, the GateFamily will accept every unitary gate.
        Raises:
            ValueError: If `num_qubits` <= 0.
        """
        if num_qubits is not None and num_qubits <= 0:
            raise ValueError(f'num_qubits: {num_qubits} must be a positive integer.')

        self._num_qubits = num_qubits
        name = f'{str(num_qubits) if num_qubits else "Any"}-Qubit UnitaryGateFamily'
        kind = f'{num_qubits}-qubit ' if num_qubits else ''
        description = f'Accepts any {kind}unitary gate'
        super().__init__(raw_types.Gate, name=name, description=description)
Init AnyUnitaryGateFamily

        Args:
            num_qubits: The GateFamily will accept any unitary gate acting on `num_qubits`.
                        If left `None`, the GateFamily will accept every unitary gate.
        Raises:
            ValueError: If `num_qubits` <= 0.
        
cirq-core/cirq/ops/common_gate_families.py