--- id: ipaddress version: "1.0.23" license: Python Software Foundation License license_treatment: permissive maintenance: abandoned --- # ipaddress — IPv4/IPv6 manipulation library License: permissive · Maintenance: abandoned · Downloads: 6.1M/mo ## What it is and what it does This package backports Python 3.3+'s ipaddress module to older Python versions (2.6, 2.7, 3.2). It provides classes and functions for creating and manipulating IPv4 and IPv6 addresses, networks, and interfaces—the same API you would use in modern Python's standard library. The main constraint is that it requires unicode strings for address input, not byte strings; passing bytes will raise an error. The package is production-stable but abandoned; its last release was in 2019. It exists primarily as a compatibility shim for legacy codebases still running on Python 2 or early Python 3. If you are on Python 3.3 or later, use the built-in ipaddress module instead. Use it for: - Validate and parse IPv4 or IPv6 addresses in Python 2.7 codebases that cannot yet migrate to Python 3. - Work with IP networks and subnets in legacy applications. - Check if an IP address belongs to a given network range on older Python versions. - Normalize and manipulate IP address objects with a consistent API across Python 2 and 3.2. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides IPv4 and IPv6 address manipulation for Python 2.6, 2.7, and 3.2—backporting the standard library ipaddress module from Python 3.3+. No, unless you are maintaining legacy Python 2.6, 2.7, or 3.2 code that requires ipaddress. The package is abandoned and modern Python includes ipaddress in the standard library. If you are on Python 3.3+, use the standard library instead. If you must support Python 2, this is the only option, but consider upgrading your runtime. ## Install pip install ipaddress uv add ipaddress poetry add ipaddress ## Installing ipaddress Before you install: Install friction is low. However, the package is abandoned—last release was 2019-10-18, with no commits since 2020-11-20. Only install if you are stuck on Python 2.6, 2.7, or 3.2; modern Python versions include ipaddress in the standard library. License in practice: Licensed under the Python Software Foundation License (permissive). No restrictions on use, modification, or distribution in most contexts. Quickstart: pip install ipaddress==1.0.23 import ipaddress addr = ipaddress.ip_address(u'1.2.3.4') net = ipaddress.ip_network(u'10.0.0.0/8') Must pass unicode strings (u'...') or use `from __future__ import unicode_literals`; byte strings will raise AddressValueError. Only needed for Python 2.6, 2.7, or 3.2. Verify before relying: - Whether the backport tracks all fixes and features from the current CPython ipaddress module, or only up to version 3.8 as mentioned in the description. - Full extent of API coverage compared to modern standard library ipaddress. ## Package facts - License: Python Software Foundation License (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 6.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags ipv4 ipv6 address parsing, ip address validation, network address manipulation, python 2 ipaddress backport, ip subnet handling, address object creation, legacy python ip tools, legacy-python, network-utilities [View on SkillFed](https://skillfed.io/packages/ipaddress) · [View on PyPI](https://pypi.org/project/ipaddress/)