This library is based on Maxmind's GeoIP C API.
Tested with Python version 2.6, 2.7, 3.2 and 3.3.
You can easily install pygeoip from PyPi.
pip install pygeoip
Bug reports are done by creating an issue on Github. If you want to contribute you can always create a pull request for discussion and code submission.
Create your GeoIP instance with appropriate access flag. STANDARD
reads data from disk when needed, MEMORY_CACHE
loads database into
memory on instantiation and MMAP_CACHE
loads database into memory
using mmap.
>>> import pygeoip
>>> gi = pygeoip.GeoIP('/path/to/GeoIP.dat')
>>> gi.country_name_by_addr('64.233.161.99')
'United States'
>>> gi = pygeoip.GeoIP('/path/to/GeoIP.dat')
>>> gi.country_code_by_name('google.com')
'US'
>>> gi.country_code_by_addr('64.233.161.99')
'US'
>>> gi.country_name_by_addr('64.233.161.99')
'United States'
>>> gi = pygeoip.GeoIP('/path/to/GeoIPv6.dat')
>>> gi.country_code_by_name('google.com')
'IE'
>>> gi.country_code_by_addr('2001:7fd::1')
'EU'
>>> gi.country_name_by_addr('2001:7fd::1')
'Europe'
>>> gi = pygeoip.GeoIP('/path/to/GeoIPRegion.dat')
>>> gi.region_by_name('apple.com')
{'region_code': 'CA', 'country_code': 'US'}
>>> gi = pygeoip.GeoIP('/path/to/GeoIPCity.dat')
>>> gi.record_by_addr('64.233.161.99')
{
'city': u'Mountain View',
'region_code': u'CA',
'area_code': 650,
'time_zone': 'America/Los_Angeles',
'dma_code': 807,
'metro_code': 'San Francisco, CA',
'country_code3': 'USA',
'latitude': 37.41919999999999,
'postal_code': u'94043',
'longitude': -122.0574,
'country_code': 'US',
'country_name': 'United States',
'continent': 'NA'
}
>>> gi.time_zone_by_addr('64.233.161.99')
'America/Los_Angeles'
>>> gi = pygeoip.GeoIP('/path/to/GeoIPOrg.dat')
>>> gi.org_by_name('dell.com')
'Dell Computer Corporation'
>>> gi = pygeoip.GeoIP('/path/to/GeoIPISP.dat')
>>> gi.isp_by_name('cnn.com')
'Turner Broadcasting System'
>>> gi = pygeoip.GeoIP('/path/to/GeoIPASNum.dat')
>>> gi.asn_by_name('cnn.com')
'AS5662 Turner Broadcasting'
For more information, check out the full API documentation.
Type | IPv4 | IPv6 | Details |
---|---|---|---|
Country | ✓ | ✓ | MaxMind Country product page |
City | ✓ | ✓ | MaxMind City product page |
Organization | ✓ | MaxMind Organization product page | |
ISP | ✓ | MaxMind ISP product page | |
Region | ✓ | MaxMind Region product page | |
ASN | ✓ | ✓ | MaxMind ASN product page |
Netspeed | ✓ | MaxMind Netspeed product page |