X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch%2F__init__.py;h=56a4f2a4ef143fc0f7db473282bf027299cce50e;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=634b4fbe233ee9007d190327df11779fe2113fb8;hpb=3c6321cdb2cbc11fe654fe49e4beaa5c2479e280 diff --git a/notmuch/__init__.py b/notmuch/__init__.py index e69de29b..56a4f2a4 100644 --- a/notmuch/__init__.py +++ b/notmuch/__init__.py @@ -0,0 +1,61 @@ +"""The :mod:`notmuch` module provides most of the functionality that a user is likely to need. + +.. note:: The underlying notmuch library is build on a hierarchical + memory allocator called talloc. All objects derive from a + top-level :class:`Database` object. + + This means that as soon as an object is deleted, all underlying + derived objects such as Queries, Messages, Message, and Tags will + be freed by the underlying library as well. Accessing these + objects will then lead to segfaults and other unexpected behavior. + + We implement reference counting, so that parent objects can be + automatically freed when they are not needed anymore. For + example:: + + db = Database('path',create=True) + msgs = Query(db,'from:myself').search_messages() + + This returns a :class:`Messages` which internally contains a + reference to its parent :class:`Query` object. Otherwise the + Query() would be immediately freed, taking our *msgs* down with + it. + + In this case, the above Query() object will be automatically freed + whenever we delete all derived objects, ie in our case: + `del(msgs)` would also delete the parent Query. It would not + delete the parent Database() though, as that is still referenced + from the variable *db* in which it is stored. + + Pretty much the same is valid for all other objects in the + hierarchy, such as :class:`Query`, :class:`Messages`, + :class:`Message`, and :class:`Tags`. + +""" + +""" +This file is part of notmuch. + +Notmuch is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +Notmuch is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with notmuch. If not, see . + +Copyright 2010 Sebastian Spaeth ' +""" +from database import Database, Query +from message import Messages, Message +from thread import Threads, Thread +from tag import Tags +from notmuch.globals import nmlib, STATUS, NotmuchError +__LICENSE__="GPL v3+" +__VERSION__='0.2.2' +__AUTHOR__ ='Sebastian Spaeth '