[New-bugs-announce] [issue44012] IPv6Address.exploded does not support interface name (scope id)

Oliver Giles report at bugs.python.org
Sun May 2 17:47:15 EDT 2021

New submission from Oliver Giles <ohw.giles at gmail.com>:

IPv6 addresses may contain a scope id, for example "fe80::1%eth0".

These are usually required for link-local addresses.

bpo-34788 added support for scoped IPv6 addresses, but missed the
"exploded" method:

>>> import ipaddress
>>> ipaddress.IPv6Address('fe80::1%eth0').exploded
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.9/ipaddress.py", line 394, in exploded
    return self._explode_shorthand_ip_string()
  File "/usr/lib/python3.9/ipaddress.py", line 1824, in _explode_shorthand_ip_string
    ip_int = self._ip_int_from_string(ip_str)
  File "/usr/lib/python3.9/ipaddress.py", line 1705, in _ip_int_from_string
    raise AddressValueError("%s in %r" % (exc, ip_str)) from None
ipaddress.AddressValueError: Only hex digits permitted in '1%eth0' in 'fe80::1%eth0'

components: Library (Lib)
messages: 392740
nosy: ohwgiles
priority: normal
severity: normal
status: open
title: IPv6Address.exploded does not support interface name (scope id)

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list