atg

A small timezone utility


Keywords
timezones, productivity
License
GPL-3.0+
Install
pip install atg==0.0.3

Documentation

Around the Globe

A small timezone utility

https://coveralls.io/repos/crodjer/atg/badge.svg?branch=master
$ atg Mountain View
Their timezone is "America/Los_Angeles"
Their time: Sat Jul  4 07:13:34 2015
People there may be sleeping.
Convenient time slots:
    08:00 to 11:00 here i.e. 19:30 to 22:30 there
    20:30 to 22:30 here i.e. 08:00 to 10:00 there

Features

  • Get the timezone for a random address.
  • Current time anywhere.
  • Guesses about what people may be doing.
  • Helps you schedule meetings by providing you spans of convenient times.

Installation

This is a Python package, which can be simply installed through pip:

# $HOME/.local/bin should be in $PATH for this to work.
$ pip install --user atg

and to install it globally, run:

$ sudo pip install atg

Usage

Get all the information about the time at Mountain View:

$ atg Mountain View
Their timezone is "America/Los_Angeles"
Their time: Sat Jul  4 07:13:34 2015
People there may be sleeping.
Convenient time slots:
    08:00 to 11:00 here i.e. 19:30 to 22:30 there
    20:30 to 22:30 here i.e. 08:00 to 10:00 there

If you want to avoid querying the timezone to Google's maps api everytime, you can directly use the timezone in further requests:

$ atg America/Los_Angeles

By default, atg calculates time slots based to avoid sleep periods. You can use --dnd to customize this. For example, to avoid disturbing at work/sleep:

$ atg Mountain View --dnd work --dnd sleep

You can also specify who the time slots should be convenient to. By default it will consider both. You can use -c/--convenient-for flags to customize this behaviour. If you want the convenient timings for the remote location:

$ atg Mountain View -c there

Help

You can always refer to the command usage through atg -h.

usage: atg [-h] [--dnd {work,sleep,available}] [-c {here,there}]
           [-m MY_LOCATION] [-x {timezone,now,default,status,schedule}]
           remote [remote ...]

positional arguments:
  remote                the remote location

optional arguments:
  -h, --help            show this help message and exit
  --dnd {work,sleep,available}
                        the do not disturb activities (default: sleep)
  -c {here,there}, --convenient-for {here,there}
                        which side's convenience should be considered
                        (default: both)
  -m MY_LOCATION, --my-location MY_LOCATION
                        specify your own location (default from system time)
  -x {timezone,now,default,status,schedule}, --command {timezone,now,default,status,schedule}
                        the command for atg to execute

Developing and Testing

atg uses the pytz, tzlocal and enum34 (for backwards compatibility) as dependencies.

To set things up for development, create and activate a virtualenv and run

$ pip install -e .[dev,test]
$ python setup.py develop

Tests

Run tests via:

$ nosetests

Bugs

Probably lots. Please send us reports on the Github issue tracker. Patches are welcome too.