Skip to main content

Subnet Utilities

Project description

This is a Python module for manipulating subnet information. It adds useful utilities to the built-in Python ipaddress library. It requires Python 3+ and supports both IPv4 and IPv6 subnets.

Example usage

Create a subnet object:

from subnet import ip_network, IPv4Network, IPv6Network

# The simple way takes either IPv4 or IPv6 CIDR notation
my_subnet = ip_network('10.10.0.0/16')

# The specific type way
my_ipv4_subnet = IPv4Network('10.10.0.0/16')
my_ipv6_subnet = IPv6Network('fd3e:48fe:59b2:43ca::/64')

Divide a subnet into useful chunks (as evenly as plausible):

for subnet in my_ipv4_subnet.divide(6):
    print(subnet)

for subnet in my_ipv6_subnet.divide(2):
    print(subnet)

Get a random ip from a subnet:

print(my_subnet.random_ip())

Command line usage

It is also possible to perform various tasks from the command line directly:

$ network-divide 10.0.0.0/8 4
$ network-random-ip fd3e:48fe:59b2:43ca::/64
$ network-info 192.168.0.0/24

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subnet-utils-0.5.1.tar.gz (3.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page