A simple command-line utility (and Python module) to determine your current location.
Doko is a clone of Victor Jalencas's whereami utility, but unlike whereami it supports multiple strategies for finding your location.
Kudos to Richo Healey for ideas and patches.
Using GeoIP is the default. To install just GeoIP support, run:
$ pip install doko
Then you'll need to download a MaxMind free GeoIP2 database, unzip it and set the GEOIP2_FILE environment variable to point to it.
However, on OS X 10.6 (Snow Leopard) or later, you can also use the much more accurate Core Location framework:
$ pip install doko[corelocation]
The corelocation dependencies take much longer to install, so go make a coffee. In fact, make several coffees.
Once you've installed the corelocation-enabled doko package, you'll need to enable Core Location in System Preferences, in the "Security" or "Security & Privacy" section. Furthermore, you must be using Wifi for it to work.
For hacking on OSX, you will likely want to install requires-corelocation.txt as well as requires.txt.
Run the tests with make test.
Just run the doko command:
$ doko 35.674,139.701
This will give its best guess as to your location, depending on the strategies that are available. Use the --show option to open the location in Google Maps.
More fine-grained control over strategies used and the precision returned is available. See doko --help.
> import doko > doko.location('geoip') # on any platform Location(latitude=35.674, longitude=139.701, source='geoip') > doko.location('corelocation') # on OS X, using Core Location Location(latitude=35.674851, longitude=139.701419, source='corelocation') > doko.Location.set_precision(2) > doko.location() Location(latitude=35.67, longitude=139.70, source='corelocation')
You can use the doko-landmark command to store known landmarks, which you can then specify to doko using the DOKO_LANDMARK environment variable. This is useful if you're somewhere you go often without GPS:
$ doko-landmark --add ueno-park 35.713965 139.77411 $ doko-landmark --list ueno-park [35.713965, 139.77411] $ doko # will give its best guess 35.674851,139.70141 $ DOKO_LANDMARK=ueno-park doko # will use the landmark 35.713965,139.77411
|File||Type||Python Version||Uploaded On||Downloads|
|doko-0.4.0.tar.gz||Source||April 13, 2014||1,324|
|doko-0.4.0-py2-none-any.whl||Wheel||2.7||April 13, 2014||1,231|
|0.4.0||April 13, 2014|
|0.3.1||Jan. 28, 2013|
|0.3.0||Jan. 2, 2013|
|0.2.0||Dec. 24, 2012|
|0.1.0||Dec. 23, 2012|
|Aug. 24, 2015, 11:07 p.m.||doko||0.2.0||Release Created|
|Aug. 24, 2015, 11:07 p.m.||doko||0.3.1||Release Created|
|Aug. 24, 2015, 11:07 p.m.||doko||0.3.0||Release Created|
|Aug. 24, 2015, 11:07 p.m.||doko||0.4.0||Release Created|
|Aug. 24, 2015, 11:07 p.m.||doko||0.1.0||Release Created|
|Aug. 24, 2015, 11:07 p.m.||doko||Package Created|