Skip to main content

2ip.me API Client.

Project description

Python 2ip Module

2ip allows 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.

Installation

Install the module from PyPI:

python3 -m pip install 2ip

Methods

The following methods are available.

TwoIP (Initialisation)

When initialising the 2ip module the following parameters may be specified:

  • Optional key: The API key to use for lookups. If no API key defined the API lookups will use the rate limited free API.

geo

The geographic lookup method accepts the following parameters:

  • Required ip: The IP address to lookup.
  • Optional format {json,xml}: The output format for the request. json will return a dict and xml will return a string.
  • Optional force {True,False}: Force an API lookup even if there is a cache entry.
  • Optional cache {True,False}: Allow the lookup result to be cached.

provider

The provider lookup method accepts the following parameters:

  • Required ip: The IP address to lookup.
  • Optional format {json,xml}: The output format for the request. json will return a dict and xml will return a string.
  • Optional force {True,False}: Force an API lookup even if there is a cache entry.
  • Optional cache {True,False}: Allow the lookup result to be cached.

Examples

Some example scripts are included in the examples directory.

Provider API

Retrieve provider information for the IP address 192.0.2.0 as a dict:

>>> from twoip import TwoIP
>>> 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 address 192.0.2.0 as a XML string:

>>> from twoip import TwoIP
>>> 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 API

Retrieve geographic information for the IP address 8.8.8.8 as a dict:

>>> from twoip import TwoIP
>>> 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 address 8.8.8.8 as a XML string:

>>> from twoip import TwoIP
>>> 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/Todo

  • <input type="checkbox" disabled="" /> Support for email API
  • <input type="checkbox" disabled="" /> Support for MAC address API
  • <input type="checkbox" disabled="" /> Support for hosting API
  • <input type="checkbox" checked="" disabled="" /> Option to retrieve data as XML
  • <input type="checkbox" disabled="" /> Unit tests
  • <input type="checkbox" checked="" disabled="" /> Deduplicate handler to retrieve information from API

Project details


Download files

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

Files for 2ip, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size 2ip-0.0.2-py2.py3-none-any.whl (7.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size 2ip-0.0.2-py3.8.egg (10.5 kB) File type Egg Python version 3.8 Upload date Hashes View
Filename, size 2ip-0.0.2.tar.gz (7.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page