notmuch/bindings/python
Sebastian Spaeth 9562c7d1fb python: Really throw an error if search_threads() fails
In case, search_threads returns an error we are supposed to throw an
Exception. But we did not "raise" it, this was an oversight and this
commit fixes it.

There is still the problem that there is often output to stderr by
libnotmuch detailing the xapian error and this is simply printed
out. But this requires fixing at the libnotmuch level...

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-09 16:51:03 +02:00
..
debian Move everything down into a bindings/python directory. 2010-04-21 17:29:34 -07:00
docs python: Improve API documentation 2011-06-16 15:41:48 +02:00
notmuch python: Really throw an error if search_threads() fails 2011-08-09 16:51:03 +02:00
MANIFEST.in Move everything down into a bindings/python directory. 2010-04-21 17:29:34 -07:00
notmuch.py python: Remove completed TODO item 2011-03-16 10:14:30 +01:00
README python: Update README to talkabout notmuch, not cnotmuch 2011-05-24 13:08:18 -07:00
setup.py Do not import notmuch in setup.py. 2011-06-20 09:45:43 +02:00

notmuch -- The python interface to notmuch.so
==============================================

This module makes the functionality of the notmuch library
(`http://notmuchmail.org`_) available to python. Successful import of
this modul depends on a libnotmuch.so|dll being available on the
user's system.

If you have downloaded the full source tarball, you can create the
documentation with sphinx installed, go to the docs directory and
"make html". A static version of the documentation is available at:

http://packages.python.org/notmuch/

The current source code is being hosted at
http://bitbucket.org/spaetz/cnotmuch which also provides an issue
tracker, and release downloads. This package is tracked by the python
package index repository at `http://pypi.python.org/pypi/notmuch`_ and can thus be installed on a user's computer easily via "sudo easy_install notmuch" (you will still need to install the notmuch shared library separately as it is not included in this package).

The original source has been provided by (c)Sebastian Spaeth, 2010.
All code is available under the GNU GPLv3+ (see docs/COPYING) unless specified otherwise.


INSTALLATION & DEINSTALL
------------------------

The notmuch python module is available on pypi.python.org. This means
you can do "easy_install notmuch" on your linux box and it will get
installed into:

/usr/local/lib/python2.x/dist-packages/

For uninstalling, you'll need to remove the "notmuch-0.4-py2.x.egg"
(or similar) directory and delete one entry in the "easy-install.pth"
file in that directory.

It needs to have a libnotmuch.so or libnotmuch.so.1 available in some
library folder or will raise an exception when loading.
"OSError: libnotmuch.so.1: cannot open shared object file: No such file or directory"


Usage
-----
For more examples of how to use the notmuch interface, have a look at the
notmuch "binary" and the generated documentation.

Example session:
>>>import notmuch
>>>db = notmuch.Database("/home/spaetz/mail")
db.get_path()
'/home/spaetz/mail'
>>>tags = db.get_all_tags()
>>>for tag in tags: 
>>>  print tag
inbox
...
maildir::draft
#---------------------------------------------

q = notmuch.Query(db,'from:Sebastian')
count = len(q.search_messages())
1300

#---------------------------------------------

>>>db = notmuch.Database("/home/spaetz/mailHAHA")
NotmuchError: Could not open the specified database

#---------------------------------------------

>>>tags = notmuch.Database("/home/spaetz/mail").get_all_tags()
>>>del(tags)


Building for a Debian package
------------------------------
dpkg-buildpackage -i"\.hg|\/build"


Changelog
---------
0.1   First public release
0.1.1 Fixed Database.create_query()
0.2.0 Implemented Thread() and Threads() methods
0.2.1 Implemented the remaining API methods, notably Directory() and Filenames()
0.2.2 Bug fixes
0.3.0 Incorporated in the notmuchmail.org git repository