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

  • Support for email API
  • Support for MAC address API
  • Support for hosting API
  • Option to retrieve data as XML
  • Unit tests
  • 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.

Source Distribution

2ip-0.0.2.tar.gz (7.1 kB view details)

Uploaded Source

Built Distributions

2ip-0.0.2-py3.8.egg (10.5 kB view details)

Uploaded Source

2ip-0.0.2-py2.py3-none-any.whl (7.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file 2ip-0.0.2.tar.gz.

File metadata

  • Download URL: 2ip-0.0.2.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for 2ip-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a96b35b095e0d3df119a781bbd7bca83450e80023865c1b0403aa2cc1863fe98
MD5 ea15a431fc329d162e8468d29bb48468
BLAKE2b-256 22134df6660204dbe78cbe423076b442ebba088129416b229098332b50116639

See more details on using hashes here.

File details

Details for the file 2ip-0.0.2-py3.8.egg.

File metadata

  • Download URL: 2ip-0.0.2-py3.8.egg
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for 2ip-0.0.2-py3.8.egg
Algorithm Hash digest
SHA256 20207937f4609ee98ebc161be5e60bcb52fe416dbee5d869e7bfc3dfe54beb5e
MD5 13dadd9bb51a2b2b71dcf0cd3491d559
BLAKE2b-256 0de5e754526a04e14f34987af0c1bd01f5f606c5295f4f089817ee911e83a71b

See more details on using hashes here.

File details

Details for the file 2ip-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: 2ip-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for 2ip-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d42c507baaa4744588866a34f43c5afffc6b320145d4707b7e045f3456b00f50
MD5 012d8dd56d6cb7fb4cb9a2e528c53e6e
BLAKE2b-256 22ea87670399af652d23d00561cfc451583102b7b5670cb6e285bb7820f1e35f

See more details on using hashes here.

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