It's too bad Python 3.1 lost the ipaddr lib.
It's still available as a third-party library: py-ipaddr available on PyPI.
Compression
>>> ipaddr.IPv6Address('0:0::0:1').compressed
'::1'
IPv4 mapping
>>> ipaddr.IPv6Address('::ffff:123.45.67.89').ipv4_mapped
IPv4Address('123.45.67.89')
CIDR
>>> ipaddr.IPv6Network('::ffff:123.45.67.89/128')
IPv6Network('::ffff:7b2d:4359/128')