Skip to main content

IP Subnet package

Project description

Jamaddr Python Package

This package Created by Jamison Emilio and packaged by Todd Albiston

Installation Python3.6 and above

pip3 install jamaddr 

for python 2.7.12 and above see jamaddr27 https://github.com/talbiston/jamaddr27

Description:

Python Package adds functions to convert IP address or subnet masks to bits and bits back to IP address.

from jamaddr import JamAddr
ipbits = JamAddr.ip_to_bits("192.168.0.23")
ipbits

returns = '11000000101010000000000000010111'
from jamaddr import JamAddr
bitsip = JamAddr.bits_to_ip("11000000101010000000000000010111")
bitsip

returns = '192.168.0.23'

Of course you could also enter a subnet mask to convert to bits then do the same with its corresponding IP, then work out what the network ID or Broadcast IPs would be or use your imagination on what other use cases could be.

from jamaddr import JamAddr

def network_id(ip_cidr):

    ip, cidr = ip_cidr.split('/')
    ip_bits = JamAddr.ip_to_bits(ip)[:int(cidr)] + '0' * (32 - int(cidr))
    return '{}/{}'.format(JamAddr.bits_to_ip(ip_bits), cidr)

networkID = network_id("192.168.0.23/28")
print(networkID)

returns = 192.168.0.16/28

This example above is already included as a function in this package so you could just do the following, but you get the point.

from jamaddr import JamAddr

networkID = JamAddr.network_id("192.168.0.23/28")
print(networkID)

returns = 192.168.0.16/28

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

jamaddr-0.5.tar.gz (2.5 kB view hashes)

Uploaded Source

Built Distribution

jamaddr-0.5-py3-none-any.whl (2.9 kB view hashes)

Uploaded Python 3

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