Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Python bindings for libmtbl
Latest commit 23fdb3e Robert Edmonds add a parent reference to iterator instances to prevent garbage colle…
…ction of the parent source object


pymtbl: Python bindings for the mtbl sorted string table library

pymtbl provides a simple Pythonic wrapper for libmtbl's reader, writer, sorter,
and merger interfaces. The examples/ directory contains scripts demonstrating
each of these interfaces. The following transcript shows the basic reader and
writer interfaces:

    >>> import mtbl
    >>> w = mtbl.writer('example.mtbl', compression=mtbl.COMPRESSION_SNAPPY)
    >>> w['key1'] = 'val1'
    >>> w['key17'] = 'val17'
    >>> w['key2'] = 'val2'
    >>> w['key23'] = 'val23'
    >>> w['key3'] = 'val3'
    >>> w['key4'] = 'val4'
    >>> w['key05'] = 'val05'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "mtbl.pyx", line 361, in mtbl.writer.__setitem__ (mtbl.c:4108)
    >>> w.close()
    >>> r = mtbl.reader('example.mtbl', verify_checksums=True)
    >>> for k,v in r.get_range('key19', 'key23'): print k,v
    key2 val2
    key23 val23
    >>> for k,v in r.get_prefix('key2'): print k,v
    key2 val2
    key23 val23
    >>> for k,v in r.iteritems(): print k, v
    key1 val1
    key17 val17
    key2 val2
    key23 val23
    key3 val3
    key4 val4
Something went wrong with that request. Please try again.