notmuch/bindings/python
Sebastian Spaeth 504b6242d1 python: Encode query string as a utf-8 byte array
If we pass in an unicode instance as query string, we would probably get
weird behavior (and indeed do so, see mail
id:"20110707113700.GA16347@megatron"). If a unicode instance is passed
in, make sure we encode it properly to an utf-8 encoded byte string.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-07-11 11:46:54 +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: Encode query string as a utf-8 byte array 2011-07-11 11:46:54 +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