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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|