Package: 2ip
Python 2ip Module2ipallows you to make requests to the 2ip.me API to retrieve provider/geographic information for IP addresses. Requests are (optionally, on by default) cached to prevent unnecessary API lookups when possible.InstallationInstall the module from PyPI:python3-mpipinstall2ipMethodsThe following methods are available.TwoIP (Initialisation)When initialising the 2ip module the following parameters may be specified:Optionalkey: The API key to use for lookups. If no API key defined the API lookups will use the rate limited free API.geoThe geographic lookup method accepts the following parameters:Requiredip: The IP address to lookup.Optionalformat{json,xml}: The output format for the request.jsonwill return a dict andxmlwill return a string.Optionalforce{True,False}: Force an API lookup even if there is a cache entry.Optionalcache{True,False}: Allow the lookup result to be cached.providerThe provider lookup method accepts the following parameters:Requiredip: The IP address to lookup.Optionalformat{json,xml}: The output format for the request.jsonwill return a dict andxmlwill return a string.Optionalforce{True,False}: Force an API lookup even if there is a cache entry.Optionalcache{True,False}: Allow the lookup result to be cached.ExamplesSome example scripts are included in theexamplesdirectory.Provider APIRetrieve provider information for the IP address192.0.2.0as adict:>>>fromtwoipimportTwoIP>>>twoip=TwoIP(key=None)>>>twoip.provider(ip='192.0.2.0'){'ip':'192.0.2.0','ip_range_end':'3221226239','ip_range_start':'3221225984','mask':'24','name_ripe':'Reserved AS','name_rus':'','route':'192.0.2.0'}Retrieve provider information for the IP address192.0.2.0as a XML string:>>>fromtwoipimportTwoIP>>>twoip=TwoIP(key=None)>>>twoip.provider(ip='192.0.2.0',format='xml')'<?xml version="1.0" encoding="UTF-8"?>\n<provider_api><ip>192.0.2.0</ip><name_ripe>Reserved AS</name_ripe><name_rus></name_rus><ip_range_start>3221225984</ip_range_start><ip_range_end>3221226239</ip_range_end><route>192.0.2.0</route><mask>24</mask></provider_api>'Geographic APIRetrieve geographic information for the IP address8.8.8.8as adict:>>>fromtwoipimportTwoIP>>>twoip=TwoIP(key=None)>>>twoip.geo(ip='8.8.8.8'){'city':'Mountain view','country':'United states of america','country_code':'US','country_rus':'США','country_ua':'США','ip':'8.8.8.8','latitude':'37.405992','longitude':'-122.078515','region':'California','region_rus':'Калифорния','region_ua':'Каліфорнія','time_zone':'-08:00','zip_code':'94043'}Retrieve geographic information for the IP address8.8.8.8as a XML string:>>>fromtwoipimportTwoIP>>>twoip=TwoIP(key=None)>>>twoip.geo(ip='8.8.8.8',format='xml')'<?xml version="1.0" encoding="UTF-8"?>\n<geo_api><ip>8.8.8.8</ip><country_code>US</country_code><country>United states of america</country><country_rus>США</country_rus><country_ua>США</country_ua><region>California</region><region_rus>Калифорния</region_rus><region_ua>Каліфорнія</region_ua><city>Mountain view</city><latitude>37.405992</latitude><longitude>-122.078515</longitude><zip_code>94043</zip_code><time_zone>-08:00</time_zone></geo_api>'Roadmap/TodoSupport for email APISupport for MAC address APISupport for hosting APIOption to retrieve data as XMLUnit testsDeduplicate handler to retrieve information from API