notmuch/bindings/python
Thomas Jost 71e0082eff python: use wrapped notmuch_*_t types instead of raw pointers
Now that types are checked correctly, we also need to make sure that all the
arguments actually are instances of these types. Otherwise the function calls
will fail and raise an exception similar to this one:
   ctypes.ArgumentError: argument 3: <type 'exceptions.TypeError'>: expected
   LP_LP_NotmuchMessageS instance instead of pointer to c_void_p
2011-12-06 13:34:30 +01:00
..
debian Move everything down into a bindings/python directory. 2010-04-21 17:29:34 -07:00
docs fix sphinx compile-time warnings 2011-12-06 12:23:50 +01:00
notmuch python: use wrapped notmuch_*_t types instead of raw pointers 2011-12-06 13:34:30 +01:00
.gitignore python: Improve code documentation 2011-09-29 10:47:28 +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 python: Have setup.py read the version number without importing 2011-08-24 09:13:34 +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