Free GeoIP library to help you convert IP to Geolocation information by iploka.
Project description
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.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
iploka-python-1.0.0.tar.gz
(5.7 kB
view details)
Built Distribution
File details
Details for the file iploka-python-1.0.0.tar.gz
.
File metadata
- Download URL: iploka-python-1.0.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13328f9affbe85841380d3f4f831788d3796498a1357e3b59923c9893ca0ebf5 |
|
MD5 | 5cdd92457f0daf944bf86fcd1ffee25f |
|
BLAKE2b-256 | f60cdd94dd3418fd7cae0194523b371b69525de9406da3c09b8dd58536cf622f |
File details
Details for the file iploka_python-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: iploka_python-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b42d717a42bd77da25e93e1257d1afcd338099fa852ab7a68a11e63ee401737f |
|
MD5 | 76f07f957432c4d24f347f91ae976984 |
|
BLAKE2b-256 | 4ed2279a63af52bd4ae2c2f263ca4af0614402409b4fc97bd512b77b480e228c |