OLD | NEW |
| (Empty) |
1 # Pure Python GeoIP API # | |
2 The API is based on [MaxMind's C-based Python API](http://dev.maxmind.com/geoip/
downloadable#Python-5), | |
3 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. | |
4 | |
5 It is mostly a drop-in replacement, except the `new` and `open` methods are gone
. | |
6 | |
7 Tested using tox with Python version 2.5, 2.6, 2.7, 3.1, 3.2 and 3.3. | |
8 | |
9 ## Issues and contribution ## | |
10 | |
11 Bug reports are done by [creating an issue on Github](https://github.com/applied
sec/pygeoip/issues). If you want to contribute you can always [create a pull req
uest](https://github.com/appliedsec/pygeoip/pulls) for discussion and code submi
ssion. | |
12 | |
13 ## Installation ## | |
14 | |
15 You can easily install pygeoip with setuptools: | |
16 | |
17 easy_install pygeoip | |
18 | |
19 ## Supported Databases ## | |
20 | |
21 * Country | |
22 * Region | |
23 * City | |
24 * Organization | |
25 * ISP | |
26 * ASN | |
27 | |
28 ## Quick Documentation ## | |
29 | |
30 Create your GeoIP instance with appropriate access flag. `STANDARD` reads data f
rom disk when needed, `MEMORY_CACHE` loads database into memory on instantiation
and `MMAP_CACHE` loads database into memory using mmap. | |
31 | |
32 import pygeoip | |
33 gi4 = pygeoip.GeoIP('/path/to/GeoIP.dat', pygeoip.MEMORY_CACHE) | |
34 gi6 = pygeoip.GeoIP('/path/to/GeoIPv6.dat', pygeoip.MEMORY_CACHE) | |
35 | |
36 ### Country lookup ### | |
37 | |
38 >>> gi4.country_code_by_name('google.com') | |
39 'US' | |
40 >>> gi4.country_code_by_addr('64.233.161.99') | |
41 'US' | |
42 >>> gi4.country_name_by_addr('64.233.161.99') | |
43 'United States' | |
44 >>> gi6.country_code_by_name('google.com') | |
45 'IE' | |
46 >>> gi6.country_code_by_addr('2001:7fd::1') | |
47 'EU' | |
48 >>> gi6.country_name_by_addr('2001:7fd::1') | |
49 'Europe' | |
50 | |
51 ### Region lookup ### | |
52 | |
53 >>> gi = pygeoip.GeoIP('/path/to/GeoIPRegion.dat') | |
54 >>> gi.region_by_name('apple.com') | |
55 {'region_name': 'CA', 'country_code': 'US'} | |
56 | |
57 ### City lookup ### | |
58 | |
59 >>> gi = pygeoip.GeoIP('/path/to/GeoIPCity.dat') | |
60 >>> gi.record_by_addr('64.233.161.99') | |
61 { | |
62 'city': 'Mountain View', | |
63 'region_name': 'CA', | |
64 'area_code': 650, | |
65 'longitude': -122.0574, | |
66 'country_code3': 'USA', | |
67 'latitude': 37.419199999999989, | |
68 'postal_code': '94043', | |
69 'dma_code': 807, | |
70 'country_code': 'US', | |
71 'country_name': 'United States', | |
72 'continent': 'NA' | |
73 } | |
74 >>> gi.time_zone_by_addr('64.233.161.99') | |
75 'America/Los_Angeles' | |
76 | |
77 ### Organization lookup ### | |
78 | |
79 >>> gi = pygeoip.GeoIP('/path/to/GeoIPOrg.dat') | |
80 >>> gi.org_by_name('dell.com') | |
81 'Dell Computer Corporation' | |
82 | |
83 ### ISP lookup ### | |
84 | |
85 >>> gi = pygeoip.GeoIP('/path/to/GeoIPISP.dat') | |
86 >>> gi.org_by_name('cnn.com') | |
87 'Turner Broadcasting System' | |
88 | |
89 ### ASN lookup ### | |
90 | |
91 >>> gi = pygeoip.GeoIP('/path/to/GeoIPASNum.dat') | |
92 >>> gi.org_by_name('cnn.com') | |
93 'AS5662 Turner Broadcasting' | |
94 | |
95 For more information, [check out the full API documentation](http://packages.pyt
hon.org/pygeoip). | |
OLD | NEW |