Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Geolocation for git

Project Description

Geocommit allows you to attach geolocation information to your commits for later analysis.

Everything happens on your machine to protect your privacy, you you need to push the geo annotations explicitly if you want to share them with others.


Use pip (or easy_install):

pip install --upgrade geocommit

(If you don’t have pip yet, use easy_install pip to get it.)


Geo-enable a repository (installs a few hooks that enable keep track of your location for this repository):

git geo setup

Attach geo-information to HEAD:

git geo note

Fetch geolocation information from remote:

git geo fetch

Fetch and merge geolocation information:

git geo sync


git clone

Crazy ideas

  • foursquare integration
  • 3rd party service with badges: * jetsetter badge (commits at five different airports) * mountain badge (commits at over 4000ft altitude)
  • geocommit + git-remote-couch + geocouch === awesome!
  • git geolog > foobar.kml
  • Chrome/Safari extension to display google maps all over github

Geocommit data format (v1.0)

We store a number of keys with values in git notes or hg commits. There is a long and a short format. Both define a set of key/value pairs in no particular order. The format version defines the allowed keys.

<version> is a version number of the format x.y <key> is an alphanumeric lowercase identifier without spaces or other special characters except _ and - <value> must not contain a linebreak, “,” or “;”

The short format is: geocommit(<version>): <key> <value>, …, <key> <value>;

The long format is, terminated by an empty line:

geocommit (<version) <key>: <value> … <key>: <value>

Version 1.0 of the format defines the keys:
  • long (required) contains longitude value of a coordinate in WGS84
  • lat (required) contains latitude value of a coordinate in WGS84
  • src (required) contains the name of the data provider used to generate the geodata
  • alt (optional) contains altitude in metres
  • speed (optional) speed in metres / second
  • dir (optional) direction of travel
  • hacc (optional) horizontal accuracy of long/lat values in metres
  • vacc (optional) vertical accuracy of altitude value in metres

Release History

History Node


This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(11.7 kB) Copy SHA256 Hash SHA256
Source None Jan 4, 2011

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting