Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2.
This repository tracks the latest version from cpython, e.g. ipaddress from cpython 3.8 as of writing.
Note that just like in Python 3.3+ you must use character strings and not byte strings for textual IP address representations:
>>>from __future__ importunicode_literals>>>ipaddress.ip_address('1.2.3.4')
IPv4Address(u'1.2.3.4')or
>>>ipaddress.ip_address(u'1.2.3.4')
IPv4Address(u'1.2.3.4')but not:
>>>ipaddress.ip_address(b'1.2.3.4')
Traceback (mostrecentcalllast):
File"<stdin>", line1, in<module>File"ipaddress.py", line163, inip_address' a unicode object?'%address)
ipaddress.AddressValueError: '1.2.3.4'doesnotappeartobeanIPv4orIPv6address. Didyoupassinabytes (strinPython2) insteadofaunicodeobject?