def _nibbles(ipv6, _hex="0123456789abcdef"): result = [] for ch in socket.inet_pton(socket.AF_INET6, ipv6): num = ord(ch) result.append(_hex[num >> 4]) result.append(_hex[num & 0xf]) return result