Index: pygeoip/README.md |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/pygeoip/README.md |
@@ -0,0 +1,95 @@ |
+# Pure Python GeoIP API # |
+The API is based on [MaxMind's C-based Python API](http://dev.maxmind.com/geoip/downloadable#Python-5), |
+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 |
+ gi4 = pygeoip.GeoIP('/path/to/GeoIP.dat', pygeoip.MEMORY_CACHE) |
+ gi6 = pygeoip.GeoIP('/path/to/GeoIPv6.dat', pygeoip.MEMORY_CACHE) |
+ |
+### Country lookup ### |
+ |
+ >>> gi4.country_code_by_name('google.com') |
+ 'US' |
+ >>> gi4.country_code_by_addr('64.233.161.99') |
+ 'US' |
+ >>> gi4.country_name_by_addr('64.233.161.99') |
+ 'United States' |
+ >>> gi6.country_code_by_name('google.com') |
+ 'IE' |
+ >>> gi6.country_code_by_addr('2001:7fd::1') |
+ 'EU' |
+ >>> gi6.country_name_by_addr('2001:7fd::1') |
+ 'Europe' |
+ |
+### 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). |