Skip to main content

A tool for keeping a logbook

Project description

vit is a program for keeping a logbook (aka a journal or a diary). Its interface is slightly similar to that of common version control systems. Its goal is to be simple and not necessarily feature-rich (but still easy to extend).


vit is free software under the terms of the GNU General Public License version 3 (or any later version). The author of vit is Niels Serup, contactable at This is version 0.1.0 of vit.

The libraries used by vit are GPL-compatible.


Way #1

Just run this (requires that you have python-setuptools installed):

# easy_install vit

Way #2

Get the newest version of vit at or at

Extract the downloaded file and run this in a terminal:

# python install


Python 2.5+ is probably a requirement.


Note that qvikconfig is included with vit, so you don’t really have to install it.

Optional extras

If present, vit will also use these Python modules:


Note that termcolor is included with vit, so you don’t really have to install it.



Installing vit installs a command-line utility named vit. This utility allows you to write and save log messages.

To use vit, create a directory and initiate your database:

$ mkdir mylogdir
$ vit init

This will create the file vit.sqlite, which is your database. To add a new log message to this database, type this and hit enter:

$ vit new

This will open a temporary file in your text editor of choice, which you can then edit. When done editing this file, save and exit. vit will now record both your message, when you began writing it, and when you finished writing it. It will also give your log entry a unique id number. If you leave your message empty, your message will not be recorded.

If you want to view your log entries, enter this:

$ vit list

Some settings can be set in config files. Config files use a property = value syntax (e.g. editor = emacsclient) separated by newlines. Your config file must be in your vit directory, and it must be named vit.conf.

Examples of config files

Use nano and don’t show any messages or errors:

editor = nano
verbose = false

Show all messages and errors, but don’t color them:

colored text = false

Integration in editors


To be able to add new entries from within emacs, you can use this (ugly) hack (requires that you have an emacs server running):

; (start-server) ;; uncomment this if you don't already have it
(setq vit-log-dir "/path/to/yourlogdir") ; edit this
(defun vit-new ()
  (start-process "vit" "*Messages*" "vit"
                 (concat "--vit-path=" vit-log-dir) "new"))


vit is written in Python and uses Git for branches. To get the latest branch, get it from like this:

$ git clone git://

A vit database is a simple sqlite3 file with one table, messages, with four rows: id, message, begin_time and end_time.

This document

Copyright (C) 2010 Niels Serup

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Project details

Release history Release notifications

This version
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
vit-0.1.0.tar.gz (24.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page