Skip to content

iploka/iploka-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iploka

Get geolocation information from any IP addresses. Get free API Key from https://iploka.com for free-forever 10,000 monthly requests.

iploka was developed by Howuku. Howuku is an all-in-one CRO & analytics tool to help you optimize conversion rates and user experience.

PYTHON Version

Features

  • Free up to 10,000 monthly request
  • Support both IPv4 and IPv6
  • Additional timezone, currency and connection information

Installation

  • Include package in your project
$ pip install iploka-python

How to use

from iploka_geoip import GeoIP

geoip = GeoIP("YOUR_API_KEY")
# lookup ip address of the specified ip
data = geoip.lookup("134.201.250.155")
print(data)
  • And the complete result will be returned:
{
  "ip": "134.201.250.155",
  "type": "ipv4",
  "continent_code": "NA",
  "continent_name": "North America",
  "country_code": "US",
  "country_name": "United States",
  "region_code": "CA",
  "region_name": "California",
  "city": "Los Angeles",
  "latitude": 34.003,
  "longitude": -118.4298,
  "location": {
    "geoname_id": 4135386,
    "capital": "Washington",
    "languages": [
      {
        "code": "en-US",
        "name": "English"
      }
    ],
    "country_flag": "https://flagpedia.net/data/flags/h80/us.png",
    "country_flag_emoji": "🇺🇸",
    "country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
    "calling_code": "1",
    "is_eu": false
  },
  "time_zone": {
    "id": "America/Los_Angeles",
    "current_time": "2021-06-29T20:01:53-07:00",
    "gmt_offset": -25200,
    "code": "-07",
    "is_daylight_saving": true
  },
  "currency": {
    "code": "USD",
    "name": "Us Dollar",
    "plural": "Us Dollars",
    "symbol": "$",
    "symbol_native": "$"
  },
  "connection": {
    "asn": 30722,
    "isp": "Vodafone Italia S.p.A."
  }
}

Example tests for iploka module

class GetRespTest(BaseTest):
    """Tests for our helper function: ``_get_resp``."""

    def test_returns_response(self):
        self.assertIsInstance(_get_resp('test', 'test'), Response)


class GeoIPLookupTest(BaseTest):
    """Tests for our ``GeoIP.lookup()`` method."""

    def test_raises_connection_error_on_connection_error(self):
        import iploka_geoip

        iploka_geoip.geoip.API_URI = 'https://api.asdgasggasgdasgdsasgdasdfadfsda.com'
        geoip = iploka_geoip.GeoIP('test')

        self.assertRaises(ConnectionError, geoip.lookup, '8.8.8.8')

    def test_raises_geoip_exception_on_error(self):
        import iploka_geoip

        iploka_geoip.geoip.API_URI = 'https://api.asdgasggasgdasgdsasgdasdfadfsds.com'
        geoip = iploka_geoip.GeoIP('test')

        self.assertRaises(GeoIPException, geoip.lookup, '8.8.8.8')

    def test_raises_service_error_on_error(self):
        import iploka_geoip

        iploka_geoip.geoip.API_URI = 'https://api.ipify.org/woo'
        geoip = iploka_geoip.GeoIP('test')

        self.assertRaises(ServiceError, geoip.lookup, '8.8.8.8')

    def test_returns_geoip_data(self):
        import iploka_geoip

        iploka_geoip.geoip.API_URI = 'https://api.iploka.com/api/v1'
        geoip = iploka_geoip.GeoIP(environ.get('API_KEY'))

        self.assertEqual(geoip.lookup('8.8.8.8')['ip'], '8.8.8.8')

Support

Email: hello@iploka.com

About

Free GeoIP library to help you convert IP to Geolocation information by iploka.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages