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.2.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file subnet_utils-0.5.2.tar.gz.

File metadata

  • Download URL: subnet_utils-0.5.2.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for subnet_utils-0.5.2.tar.gz
Algorithm Hash digest
SHA256 cefa7d125a42019151461bd65576164e386825e0c7ea1d9db471f6b9d7a05c72
MD5 03330d1238ec0bbc8b08ae18301b06f0
BLAKE2b-256 58c64ef2466a7e8433be288f3bc55b2ef5f3ae7780d4f21e5c69149679d3257a

See more details on using hashes here.

Supported by

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