Set the system timezone based on IP geolocation
Latest commit 2ddc73e Feb 21, 2016 @cdown Do not say "geolocation succeeded" in missing tz exception
We now have the option `-t`, which might mean that we actually didn't geolocate
the user at all, but instead the user explicitly requested a timezone that
doesn't exist on the system.


Test status Coverage

tzupdate is a fully automated utility to set the system time using geolocation.


By default, tzupdate will geolocate you, get the timezone for that geolocation, and then attempt to link that timezone to /etc/localtime. You can pass -p to print the detected timezone without linking. You can also pass -a to pass an IP address to use, instead of geolocating you.

$ sudo tzupdate
Detected timezone is Europe/Dublin.
Linked /etc/localtime to /usr/share/zoneinfo/Europe/Dublin.


To install the latest stable version from PyPi:

pip install -U tzupdate

To install the latest development version directly from GitHub:

pip install -U git+


tox -e quick