GEO Python Documentation Status Updates

Simple GEO library based on Redis GEO commands

From version 3.2, Redis contains a set of very wonderful commands: the GEO commands (

With these commands, we can easily develop LBS or GEO application.

Unfortunately, these features are not in redis-py( released packages, so we can only use its development version.


Now to use geo_python, you have to install the development version of redis-py first, and I am trysng to fix this...

$ pip install

$ pip install geo_python

Get Started

In [1]: from geo_python import Point
In [2]: class MyPoint(Point):
   ...:     __key__ = 'my_point'

In [3]: point = MyPoint.create(120, 40, 'my point 1')
In [4]: MyPoint.query_by_pos(point.longitude, point.latitude)
Out[4]: [<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 1>]

In [5]: MyPoint.query_by_member(point.member)
Out[5]: [<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 1>]

In [6]: point.update(member='my point 2')
In [7]: print point.member
my point 2

In [8]: another_point = MyPoint.get_by_member(point.member)

In [9]: print another_point
<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 2>

In [10]: print MyPoint.dist(point, another_point)

In [11]: point.geo_hash()
Out[11]: 'wxj7d9v2fs0'


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.