See the [[initial_tagging]] page for more info on intial tagging of messages.
-* <span id="print_filenames">**Print only filenames of a search (python bindings)**</span>
+* <span id="python">**Use notmuch from python**</span>
- Notmuch includes [python bindings](http://pypi.python.org/pypi/notmuch)
- to the notmuch shared library. Extensive API documentation
- [is available](http://packages.python.org/notmuch).
+ Notmuch includes python bindings to the notmuch shared
+ library. Extensive API documentation [is
+ available](http://notmuchmail.readthedocs.org/).
The bindings are very simple to use. As an example, given you have
the python bindings installed (or simply set your PYTHONPATH
environment variable to point to the .../bindings/python directory),
- this script will print the filenames of a matching search:
-
- #!/usr/bin/env python
- import sys
- import notmuch
- search = " ".join(sys.argv[1:])
- q = notmuch.Database().create_query(search)
- for m in q.search_messages():
- print m.get_filename()
+ this snippet will produce a list of mails matching the given
+ expression:
+
+ >>> import notmuch
+ >>> db = notmuch.Database()
+ >>> query = db.create_query('tag:inbox AND NOT tag:killed')
+ >>> list(query.search_messages()) # doctest:+ELLIPSIS
+ [...]
* <span id="sync_maildir_flags">**Sync notmuch tags and maildir flags**</span>