skillfed

IPy

Class and tools for handling of IPv4 and IPv6 addresses and networks

ipy v1.01 1.6M downloads/30d#3,758 on PyPI570
Permissive license BSD License DORMANT released

What it is and what it does

IPy is a lightweight Python library for working with IP addresses and networks. It provides an IP class that parses and represents IPv4 and IPv6 addresses in multiple formats—dotted decimal, hexadecimal, CIDR notation, and range notation—and converts between them. It also includes an IPSet class for aggregating, subtracting, and performing set operations on multiple address ranges.

The library is useful for network administration, firewall rule generation, DNS reverse-lookup generation, and any task requiring flexible IP address manipulation. It has no external runtime dependencies and works across operating systems. However, the package is dormant: the last release was 2020-12-01, and there is no active maintenance.

Use it for:

  • Parse and normalize IP addresses in different formats (hex, CIDR, range) for consistent handling in network tools
  • Generate reverse DNS names for IP ranges to populate DNS zone files or audit reverse zones
  • Aggregate overlapping IP ranges into minimal CIDR blocks for firewall rules or routing tables
  • Subtract IP ranges to identify available address space or gaps in network allocations
  • Iterate over all addresses in a network block for scanning, validation, or inventory tasks

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

IPy provides Python classes for parsing, manipulating, and working with IPv4 and IPv6 addresses and networks in multiple formats, including CIDR notation, hex, and range notation.

Yes, with conditions. IPy is stable, permissively licensed, and has no dependencies, making it suitable for production use in network administration and scripting tasks. However, install it only if you need its specific IP manipulation features and can accept that the package is unmaintained—no updates or bug fixes are expected. Verify compatibility with your Python version before relying on it.

Install

ipy on PyPI

pip

pip install ipy

uv

uv add ipy

poetry

poetry add ipy

Installing IPy

Before you install

High install friction due to source-only distribution. No runtime dependencies, but the package is dormant with last release on 2020-12-01.

License in practice

BSD License (permissive) means you can use, modify, and distribute IPy freely in commercial and open-source projects with minimal restrictions, provided you include the license notice.

Quickstart

from IPy import IP
ip = IP('127.0.0.0/30')
for addr in ip:
    print(addr)
ip.reverseNames()

Verify before relying

  • Whether the package works reliably on Python versions beyond 3.7 (documentation states 2.6-3.7 support)
  • Current maintenance status and whether the GitHub repository accepts contributions or bug reports

Package facts

License BSD License (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 2,082 days since the last release
Last repo commit
First released
Downloads 1,565,942/month — #3,758 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: IPy-1.01.tar.gz

Keywords: ipv4, ipv6, netmask

Development Status :: 5 - Production/StableEnvironment :: PluginsIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: CommunicationsTopic :: InternetTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Networking

Tags

ipv4 ipv6 address parsingnetwork cidr notation handlingip address manipulation pythonnetmask prefix length conversionip range aggregationreverse dns lookup generationnetwork set operations
networkingip-addresscidr

More Python Modules packages