Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: pygeoip/README.md

Issue 11577044: Switch to pygeoip for log processing to allow running it via PyPy (Closed)
Patch Set: Created Aug. 29, 2013, 7:38 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pygeoip/LICENSE.md ('k') | pygeoip/__init__.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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).
« no previous file with comments | « pygeoip/LICENSE.md ('k') | pygeoip/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld