Timebook is a small utility which aims to be a low-overhead way of tracking what you spend time on. It can be used to prepare annotated time logs of work for presentation to a client, or simply track how you spend your free time. Timebook is implemented as a python script which maintains its state in a sqlite3 database.
Concepts
Timebook maintains a list of timesheets -- distinct lists of timed periods. Each period has a start and end time, with the exception of the most recent period, which may have no end time set. This indicates that this period is still running. Timesheets containing such periods are considered active. It is possible to have multiple timesheets active simultaneously, though a single time sheet may only have one period running at once.
Interactions with timebook are performed through the t command on the command line. t is followed by one of timebook's subcommands. Often used subcommands include in, out, switch, now, list and display. Commands may be abbreviated as long as they are unambiguous: thus t switch foo and t s foo are identical. With the default command set, no two commands share the first same letter, thus it is only necessary to type the first letter of a command. Likewise, commands which display timesheets accept abbreviated timesheet names. t display f is thus equivalent to t display foo if foo is the only timesheet which begins with "f". Note that this does not apply to t switch, since this command also creates timesheets. (Using the earlier example, if t switch f is entered, it would thus be ambiguous whether a new timesheet f or switching to the existing timesheet foo was desired).