versions 0.1 above live here.
Python Rust
Pull request Compare This branch is 1460 commits behind pazz:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Alot is a terminal interface for notmuch mail written in python using the urwid toolkit.

The files and contain instructions on how to set it up and customize respectively.

Autogenerated API docs for the current release can be found here. Their sources live in the docs directory.

Do comment on the code or file issues! I'm curious what you think of it. You can talk to me in #notmuch@Freenode.

Current features include:

  • modular and command prompt driven interface
  • tab completion and usage help for all commands
  • contacts completion using customizable abook lookups
  • user configurable keyboard maps
  • spawn terminals for asynchronous editing of mails
  • theming, optionally in 2, 16 or 256 colours
  • tag specific theming and tag string translation
  • (python) hooks to react on events and do custom formating
  • python shell for introspection
  • forward/reply/group-reply of emails
  • printing/piping of mails and threads
  • multiple accounts for sending mails via sendmail
  • notification popups with priorities
  • database manager that manages a write queue to the notmuch index

Soonish to be addressed non-features:

  • encryption/decryption for messages (see branch gnupg)
  • live search results (branch live)
  • search for message (branch messagesmode)
  • bind sequences of keypresses to commands (branch multiinput)
  • search for strings in displayed buffer
  • folding for message parts
  • undo for commands


In all views, arrows, page-up/down, j,k and Space can be used to move the focus. Escape cancels prompts and Enter selects. Hit : at any time and type in commands to the prompt. Usage information on any command can be listed by typing help YOURCOMMAND to the prompt; The keybindings for the current mode are listet upon pressing ?.