Notmuch -- The mail indexer
Why Notmuch?
"Not much mail" is what Notmuch thinks about your email collection. Even if you receive 12000 messages per month or have on the order of millions of messages that you've been saving for decades. Regardless, Notmuch will be able to quickly search all of it. It's just plain not much mail.
"Not much mail" is also what you should have in your inbox at any time. Notmuch gives you what you need, (tags and fast search), so that you can keep your inbox tamed and focus on what really matters in your life, (which is surely not email).
Notmuch is an answer to Sup. Sup is a very good email program written by William Morgan (and others) and is the direct inspiration for Notmuch. Notmuch began as an effort to rewrite performance-critical pieces of Sup in C rather than ruby. From there, it grew into a separate project. One significant contribution Notmuch makes compared to Sup is the separation of the indexer/searcher from the user interface. (Notmuch provides a library interface so that its indexing/searching/tagging features can be integrated into any email program.)
Notmuch is not much of an email program. It doesn't receive messages (no POP or IMAP suport). It doesn't send messages (no mail composer, no network code at all). And for what it does do (email search) that work is provided by an external library, Xapian. So if Notmuch provides no user interface and Xapian does all the heavy lifting, then what's left here? Not much.
Notmuch is still in the early stages of development, but there are already two user interfaces available for it (one for emacs and one for vim). If you've been looking for a fast, global-search and tag-based email reader to use within your text editor or in a terminal, then Notmuch may be exactly what you've been looking for.
Otherwise, if you're a developer of an existing email program and would love a good library interface for fast, global search with support for arbitrary tags, then Notmuch also may be exactly what you've been looking for.
News
Documentation
So far, there is not much documentation. Eventually, the wiki will contain a reference for users. This is what we have so far:
- General how-tos
- Initial Tagging
- Tips for using notmuch within Emacs
- Remote Usage
- Performance
- Available frontends
Apart from the wiki, help is available via email. Join the mailing list. Read the archives. Ask questions.
Source code
All of the code for Notmuch is available as free software released under the GNU GPL version 3. The latest versions can be checked out via git with this command:
git clone git://notmuchmail.org/git/notmuch
You can browse the Notmuch code
history online. And finally,
you can subscribe to the notmuch-commits
list to watch
every commit made to notmuch and the notmuchmail.org web site.
Source code of notmuch releases can be downloaded here.
There is a buildbot here (configuration here).
Bug-tracking and patches
Patches are most welcome and should be sent to notmuch@notmuchmail.org. Please try to follow the patch submission guidelines when submitting patches to notmuch.
The tagging and filtering features of notmuch make it quite suitable for use as a bug- and patch-tracker. We are currently experimenting with using it for this purpose for notmuch development, using a utility called nmbug.
The status of current patches can also be followed online.
Binary packages
Screenshots
Contact: Email & IRC
Comments? Please feel free to email the notmuch mailing list: notmuch@notmuchmail.org (subscription is not required, but you can subscribe to the notmuch list if you would like to). You can also browse the online archives of the mailing list, read them as a web forum (nabble), or download an mbox file of the entire mailing-list.
The mb2md utility can be used to convert the archives to maildir
format which is convenient for reading the archives within notmuch
itself.
If you prefer real-time chat, there is often someone on the #notmuch@irc.freenode.net IRC channel.
Feature ideas
We have started a feature requests page on this wiki. No, things you add there won't automatically get implemented - but it's a nice way to collect ideas.
Website
This wiki is maintained using ikiwiki. Instructions on how to edit it can be found here.
