Skip to main content

# Pure Python GeoIP API # The API is based on [MaxMind’s C-based Python API](http://www.maxmind.com/app/python), but the code itself is ported from the [Pure PHP GeoIP API](http://pear.php.net/package/Net_GeoIP) by Jim Winstead and Hans Lellelid.

It is mostly a drop-in replacement, except the new and open methods are gone.

Tested using tox with Python version 2.5, 2.6, 2.7, 3.1, 3.2 and 3.3.

## Issues and contribution ##

Bug reports are done by [creating an issue on Github](https://github.com/appliedsec/pygeoip/issues). If you want to contribute you can always [create a pull request](https://github.com/appliedsec/pygeoip/pulls) for discussion and code submission.

## Installation ##

You can easily install pygeoip with setuptools:

easy_install pygeoip

## Supported Databases ##

  • Country

  • Region

  • City

  • Organization

  • ISP

  • ASN

## Quick Documentation ##

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’, pygeoip.MEMORY_CACHE)

### Country lookup ###

>>> 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'

### Region lookup ###

>>> gi = pygeoip.GeoIP('/path/to/GeoIPRegion.dat')
>>> gi.region_by_name('apple.com')
{'region_name': 'CA', 'country_code': 'US'}

### City lookup ###

>>> gi = pygeoip.GeoIP('/path/to/GeoIPCity.dat')
>>> gi.record_by_addr('64.233.161.99')
{
    'city': 'Mountain View',
    'region_name': 'CA',
    'area_code': 650,
    'longitude': -122.0574,
    'country_code3': 'USA',
    'latitude': 37.419199999999989,
    'postal_code': '94043',
    'dma_code': 807,
    'country_code': 'US',
    'country_name': 'United States',
    'continent': 'NA'
}
>>> gi.time_zone_by_addr('64.233.161.99')
'America/Los_Angeles'

### Organization lookup ###

>>> gi = pygeoip.GeoIP('/path/to/GeoIPOrg.dat')
>>> gi.org_by_name('dell.com')
'Dell Computer Corporation'

### ISP lookup ###

>>> gi = pygeoip.GeoIP('/path/to/GeoIPISP.dat')
>>> gi.org_by_name('cnn.com')
'Turner Broadcasting System'

### ASN lookup ###

>>> gi = pygeoip.GeoIP('/path/to/GeoIPASNum.dat')
>>> gi.org_by_name('cnn.com')
'AS5662 Turner Broadcasting'

For more information, [check out the full API documentation](http://packages.python.org/pygeoip).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygeoip-0.2.6.zip (136.8 kB view details)

Uploaded Source

File details

Details for the file pygeoip-0.2.6.zip.

File metadata

  • Download URL: pygeoip-0.2.6.zip
  • Upload date:
  • Size: 136.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pygeoip-0.2.6.zip
Algorithm Hash digest
SHA256 e86058479b3820bd08f51b64e22c59fe1ed45ec468d51d36acd5ed413e49e810
MD5 b3ac1bfcd535782bc59af78e722cf5c1
BLAKE2b-256 db95fd8d930c92abc79e2a82da673a49486246cc47b925c3c519b4e82ac4d8a1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.7

1 file

This release

0.2.6 This release

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2

1 file

0.1.6

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page