The database in only used for notmuch.Query, so there's no need for write access. This allows nmbug-status to run while the database is being updated, without raising: A Xapian exception occurred opening database: Unable to get write lock on …: already locked Traceback (most recent call last): File "./nmbug-status", line 182, in <module> db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE) File "/…/notmuch/database.py", line 154, in __init__ self.open(path, mode) File "/…/notmuch/database.py", line 214, in open raise NotmuchError(status) notmuch.errors.XapianError --- devel/nmbug/nmbug-status | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index 199892f..be3e28e 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -180,7 +180,7 @@ else: # main program -db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE) +db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY) if output_format == 'html': print('''<?xml version="1.0" encoding="utf-8" ?> -- 1.8.5.2.8.g0f6c0d1