1 [[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
2 # Notmuch Language Bindings [DRAFT]
4 The Notmuch library, `libnotmuch`, can be used from many programming languages
5 using the Notmuch language bindings. The [[command line interface|manpages]] and
6 the [[email clients and frontends|frontends]] are based on the language
13 `libnotmuch` is a shared C library. [The API](http://git.notmuchmail.org/git/notmuch/blob/HEAD:/lib/notmuch.h)
15 The Notmuch command-line interface is based on the C library.
19 Notmuch includes Python bindings to the Notmuch shared library. Please refer to
20 the nice and extensive [Notmuch Python API
21 documentation](http://notmuch.readthedocs.org/projects/notmuch-python/).
23 The bindings are very simple to use. As an example, given you have the Python
24 bindings installed (or simply set your PYTHONPATH environment variable to point
25 to the .../bindings/python directory), this snippet will produce a list of mails
26 matching the given expression:
29 >>> db = notmuch.Database()
30 >>> query = db.create_query('tag:inbox AND NOT tag:killed')
31 >>> list(query.search_messages()) # doctest:+ELLIPSIS
34 [The source](http://git.notmuchmail.org/git/notmuch/tree/HEAD:/bindings/python/)
38 [The source](http://git.notmuchmail.org/git/notmuch/tree/HEAD:/bindings/ruby/)
41 vim](http://git.notmuchmail.org/git/notmuch/blob/HEAD:/vim/README) is in Ruby,
46 [The source](http://git.notmuchmail.org/git/notmuch/tree/HEAD:/bindings/go/)