This API provides access to Sypex Geo 2.2 databases. The databases available from https://sypexgeo.net/
Project Description
Description
pysxgeo is an API that provides access to Sypex Geo (2.2) databases (country and city). The databases provides an information about geolocation by ip-address. For information about databases please visit sypexgeo.net.
Installation
$ pip install pysxgeo
Usage
Some examples:
>>> from pysxgeo import sxgeo >>> >>> ip = '77.236.97.247' >>> db = '/path/to/db' # City or Country >>> # AVAILABLE MODES: SXGEO_FILE, SXGEO_MEMORY, SXGEO_BATCH >>> info = sxgeo.SxGeo(db_file=db, mode=sxgeo.SXGEO_BATCH) >>> info.get_city(ip, full=True) {'country': {'id': 56, 'lon': 10.5, 'lat': 51.5, 'name_en': 'Germany', 'iso': 'DE', 'name_ru': 'Германия'}, 'region': {'id': 2861876, 'iso': 'DE-NW', 'name_en': 'Land Nordrhein-Westfalen', 'name_ru': 'Северный Рейн-Вестфалия'}, 'city': {'id': 2831105, 'lon': 6.36667, 'name_ru': 'Sonsbeck', 'name_en': 'Sonsbeck', 'lat': 51.61667}} >>> info.get_country(ip) 'DE' >>> info.get_country_id(ip) 56 >>> # Quick usage. The answer depends of your database choice. >>> info.get(ip) {'city': {'name_en': 'Sonsbeck', 'lon': 6.36667, 'name_ru': 'Sonsbeck', 'id': 2831105, 'lat': 51.61667}, 'country': {'iso': 'DE', 'id': 56}}, >>> # Get coordinates tuple(latitude, longitude) >>> info.get_coords() # For the last ip (51.61667, 6.36667) >>> info.get_coords(ip) # For the new ip (51.61667, 6.36667) >>> # Get db info: >>> info.about()
Notes
Processing of the DB with charset ‘utf-8’ is faster than processing DB with charset ‘cp1251’.
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
pysxgeo-0.0.3-py3-none-any.whl (8.0 kB) Copy SHA256 hash SHA256 | Wheel | py3 | Jun 2, 2015 |