[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#748373: RFP: python-lmdb -- universal python bindings for the LMDB 'Lighning' Database

Package: wnpp
Severity: wishlist

* Package name    : python-lmdb
  Version         : 0.81
  Upstream Author : howard.chu@symas.com
* URL             : http:/lmdb.readthedocs.org
* License         : OpenLDAP (BSD)
  Programming Lang: c, python
  Description     : universal python bindings for the LMDB 'Lighning' Database


This is a universal Python binding for the LMDB ‘Lightning’ Database. Two variants are provided and automatically selected during install: a CFFI variant that supports PyPy and all versions of CPython >=2.6, and a C extension that supports CPython 2.5-2.7 and >=3.3. Both variants provide the same interface.

LMDB is a tiny database with some excellent properties:

    Ordered-map interface (keys are always sorted)
    Reader/writer transactions: readers don’t block writers and writers don’t block readers. Each environment supports one concurrent write transaction.
    Read transactions are extremely cheap.
    Environments may be opened by multiple processes on the same host, making it ideal for working around Python’s GIL.
    Multiple named databases may be created with transactions covering all named databases.
    Memory mapped, allowing for zero copy lookup and iteration. This is optionally exposed to Python using the buffer() interface.
    Maintenance requires no external process or background threads.
    No application-level caching is required: LMDB relies entirely on the operating system’s buffer cache.

Reply to: