Skip to content

hanezu/python-geo-ip

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=========== Geo IP

Provides a fast, seamless in memory ip to country functionality based on the ip2nation db.

  • No dependencies
  • Completely free
  • Country resolution only
  • Queries / sec > 13.5k per core
  • Data file can be refreshed without a restart
  • Memory footprint < 40 MB
  • Command line
  • Stream / pipe ips and get comma delimited [ip,2 letter country code] e.g. 12.12.12.12,US

Change log:

  • If you upgrade please note that there is a BREAKING CHANGE geoip module was renamed to xgeoip
  • Supports Python 2.7 / 3.x
  • ip2nation file updated to May 2020 version
#Python 2.7 / Python 3.x
from geoip import xgeoip
r = xgeoip.GeoIp()
r.load_memory()
r.resolve("12.12.12.12").country_code
#This prints : 'US'

print (r.resolve("123.44.57.4"))
#This prints : {'country': 'Korea (South)', 'host_name': '', 'country_code': 'KR'}

r.resolve2("133.12.12.12")
#This prints : 'JP'

Command line

package usage: python geoip/xgeoip.py resolve 1.1.1.1 {'country_code': 'AU', 'country': 'Australia', 'host_name': ''}

source usage: python xgeoip.py [-h] [-v] {download,resolve} ...

positional arguments: {download,resolve}

optional arguments: -h, --help show this help message and exit -v, --verbose increase output verbosity

usage: geoip.py resolve [-h] [-ho] [-s] [--stream] ip

positional arguments: ip The ip address to get the country for

optional arguments: -h, --help show this help message and exit -ho, --host When set to true the code will try to get the host name -s, --short When set to true the code will return a 2 letter country code only --stream When set to true the code expect a stream of ips

usage: geoip.py download [-h]

optional arguments: -h, --help show this help message and exit

Installation

pip install geoip2nation

PyPI: https://pypi.python.org/pypi/geoip2nation/

Github: https://github.com/avindak/python-geo-ip

ip2nation

  • Data can be downloaded using the download method

  • The load_memory method loads the ip2nation sql data file from disk into an in memory sqlite3 db

license

MIT

Links

About

A python implementation of in memory sqlite ip2nation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%