zlmdb

ZLMDB - Object-relational zero-copy in-memory database layer for LMDB.

Submodules

Attributes

Exceptions

NullValueConstraint

Null value in indexed column violates not-null constraint.

Classes

Database

ZLMDB database access.

MapBytes16FlatBuffers

Persistent map with Bytes16 keys and Flatbuffers values.

MapBytes16TimestampUuid

Persistent map with (Bytes20, Timestamp) keys and UUID values.

MapBytes16TimestampUuidFlatBuffers

Persistent map with (Bytes20, Timestamp, UUID) keys and Flatbuffers values.

MapBytes20Bytes16

Persistent map with Bytes20 keys and Bytes16 values.

MapBytes20Bytes20

Persistent map with Bytes20 keys and Bytes20 values.

MapBytes20Bytes20FlatBuffers

Persistent map with (Bytes20, Bytes20) keys and Flatbuffers values.

MapBytes20Bytes20Timestamp

Persistent map with Bytes20 keys and (Bytes20, Timestamp) values.

MapBytes20FlatBuffers

Persistent map with Bytes20 keys and Flatbuffers values.

MapBytes20StringFlatBuffers

Persistent map with (Bytes20, String) keys and Flatbuffers values.

MapBytes20TimestampBytes20

Persistent map with (Bytes20, Timestamp) keys and Bytes20 values.

MapBytes20TimestampUuid

Persistent map with (Bytes20, Timestamp) keys and UUID values.

MapBytes20Uuid

Persistent map with Bytes20 keys and UUID values.

MapBytes32Bytes32

Persistent map with Bytes32 keys and Bytes32 values.

MapBytes32Bytes32FlatBuffers

Persistent map with (Bytes32, Bytes32) keys and Flatbuffers values.

MapBytes32FlatBuffers

Persistent map with Bytes32 keys and Flatbuffers values.

MapBytes32StringFlatBuffers

Persistent map with (Bytes32, String) keys and Flatbuffers values.

MapBytes32Timestamp

Persistent map with Bytes32 keys and Timestamp values.

MapBytes32Uuid

Persistent map with Bytes32 keys and UUID values.

MapBytes32UuidFlatBuffers

Persistent map with (Bytes32, UUID) keys and Flatbuffers values.

MapOid3FlatBuffers

Persistent map with (OID, OID, OID) / (uint64, uint64, uint64) keys and FlatBuffers values.

MapOidCbor

Persistent map with OID (uint64) keys and CBOR values.

MapOidFlatBuffers

Persistent map with OID (uint64) keys and FlatBuffers values.

MapOidJson

Persistent map with OID (uint64) keys and JSON values.

MapOidOid

Persistent map with OID (uint64) keys and OID (uint64) values.

MapOidOidFlatBuffers

Persistent map with (OID, OID) / (uint64, uint64) keys and FlatBuffers values.

MapOidOidOid

Persistent map with (OID, OID) keys and OID values.

MapOidOidSet

Persistent map with OID (uint64) keys and OID-set (set of unique uint64) values.

MapOidPickle

Persistent map with OID (uint64) keys and Python pickle values.

MapOidString

Persistent map with OID (uint64) keys and string (utf8) values.

MapOidStringOid

Persistent map with (OID, string) keys and OID values.

MapOidTimestampFlatBuffers

Persistent map with (OID, Timestamp) keys and Flatbuffers values, where Timestamp is a np.datetime64[ns].

MapOidTimestampOid

Persistent map with (OID, Timestamp) keys and OID values, where Timestamp is a np.datetime64[ns].

MapOidTimestampStringOid

Persistent map with (OID, Timestamp, String) keys and OID values, where Timestamp is a np.datetime64[ns].

MapOidUuid

Persistent map with OID (uint64) keys and UUID (16 bytes) values.

MapSlotUuidUuid

Persistent map with (slot, UUID) and UUID values.

MapStringCbor

Persistent map with string (utf8) keys and CBOR values.

MapStringFlatBuffers

Persistent map with string (utf8) keys and FlatBuffers values.

MapStringJson

Persistent map with string (utf8) keys and JSON values.

MapStringOid

Persistent map with string (utf8) keys and OID (uint64) values.

MapStringOidOid

Persistent map with (string:utf8, OID:uint64) keys and OID:uint64 values.

MapStringPickle

Persistent map with string (utf8) keys and Python pickle values.

MapStringString

Persistent map with string (utf8) keys and string (utf8) values.

MapStringStringStringUuid

Persistent map with (string, string, string) keys and UUID (16 bytes) values.

MapStringStringUuid

Persistent map with (string, string) keys and UUID (16 bytes) values.

MapStringTimestampCbor

Persistent map with (String, Timestamp) keys and CBOR values.

MapStringUuid

Persistent map with string (utf8) keys and UUID (16 bytes) values.

MapTimestampBytes32FlatBuffers

Persistent map with (Timestamp, Bytes32) keys and FlatBuffers values.

MapTimestampFlatBuffers

Persistent map with Timestamp keys and FlatBuffers values.

MapTimestampStringCbor

Persistent map with (Timestamp, String) keys and CBOR values.

MapTimestampStringFlatBuffers

Persistent map with (Timestamp, String) keys and FlatBuffers values.

MapTimestampUuidCbor

Persistent map with (Timestamp, UUID) keys and CBOR values.

MapTimestampUuidFlatBuffers

Persistent map with (Timestamp, UUID) keys and FlatBuffers values.

MapTimestampUuidStringFlatBuffers

Persistent map with (Timestamp, UUID, String) keys and FlatBuffers values.

MapUint16UuidTimestampFlatBuffers

Persistent map with (uint16, UUID, Timestamp) keys and FlatBuffers values.

MapUint64TimestampUuid

Persistent map with (Uint64, Timestamp) keys and UUID values.

MapUuidBytes20Bytes20Uint8UuidFlatBuffers

Persistent map with (UUID, bytes[20], bytes[20], uint8, UUID) keys and FlatBuffers values.

MapUuidBytes20Uint8FlatBuffers

Persistent map with (UUID, bytes[20], uint8) keys and FlatBuffers values.

MapUuidBytes20Uint8UuidFlatBuffers

Persistent map with (UUID, bytes[20], uint8, UUID) keys and FlatBuffers values.

MapUuidBytes32FlatBuffers

Persistent map with (UUID, Bytes32) keys and Flatbuffers values.

MapUuidCbor

Persistent map with UUID (16 bytes) keys and CBOR values.

MapUuidFlatBuffers

Persistent map with UUID (16 bytes) keys and FlatBuffers values.

MapUuidJson

Persistent map with UUID (16 bytes) keys and JSON values.

MapUuidOid

Persistent map with UUID (16 bytes) keys and OID (uint64) values.

MapUuidPickle

Persistent map with UUID (16 bytes) keys and Python Pickle values.

MapUuidString

Persistent map with UUID (16 bytes) keys and string (utf8) values.

MapUuidStringFlatBuffers

Persistent map with (UUID, String) keys and Flatbuffers values.

MapUuidStringOid

Persistent map with (UUID, string) keys and Oid values.

MapUuidStringUuid

Persistent map with (UUID, string) keys and UUID values.

MapUuidTimestampBytes32

Persistent map with (UUID, Timestamp) keys and Bytes32 values.

MapUuidTimestampCbor

Persistent map with (UUID, Timestamp) keys and CBOR values.

MapUuidTimestampFlatBuffers

Persistent map with (UUID, Timestamp) keys and FlatBuffers values.

MapUuidTimestampUuid

Persistent map with (UUID, timestamp) keys and UUID values.

MapUuidTimestampUuidFlatBuffers

Persistent map with (UUID, Timestamp, UUID) keys and FlatBuffers values.

MapUuidUuid

Persistent map with UUID (16 bytes) keys and UUID (16 bytes) values.

MapUuidUuidCbor

Persistent map with (UUID, UUID) keys and CBOR values.

MapUuidUuidFlatBuffers

Persistent map with (UUID, UUID) keys and Flatbuffers values.

MapUuidUuidSet

Persistent map with (UUID, string) keys and UUID values.

MapUuidUuidStringFlatBuffers

Persistent map with (UUID, UUID, String) keys and Flatbuffers values.

MapUuidUuidStringUuid

Persistent map with (UUID, UUID, string) keys and UUID values.

MapUuidUuidUuid

Persistent map with (UUID, UUID) keys and UUID values.

MapUuidUuidUuidStringUuid

Persistent map with (UUID, UUID, UUID, string) keys and UUID values.

MapUuidUuidUuidUuid

Persistent map with (UUID, UUID, UUID) keys and UUID values.

MapUuidUuidUuidUuidUuid

Persistent map with (UUID, UUID, UUID, UUID) keys and UUID values.

Schema

ZLMDB database schema definition.

Transaction

Transactions in zLMDB are always run under an instance of this class.

TransactionStats

Value class for holding transaction statistics.

Functions

check_autobahn_flatbuffers_version_in_sync(→ str)

Check that zlmdb and autobahn have the same vendored flatbuffers version.

setup_flatbuffers_import()

Register vendored flatbuffers in sys.modules so import flatbuffers works.

table(oid[, marshal, parse, build, cast, compress])

Package Contents

class Database(dbpath: str | None = None, maxsize: int = 10485760, readonly: bool = False, lock: bool = True, sync: bool = True, create: bool = True, open_now: bool = True, writemap: bool = False, context: Any = None, log: txaio.interfaces.ILogger | None = None)[source]

Bases: object

ZLMDB database access.

Objects of this class are generally “light-weight” (cheap to create and destroy), but do manage internal resource such as file descriptors.

To manage these resources in a robust way, this class implements the Python context manager interface.

__enter__()[source]

Enter database runtime context and open the underlying LMDB database environment.

Note

Enter the runtime context related to this object. The with statement will bind this method’s return value to the target(s) specified in the as clause of the statement, if any. [Source](https://docs.python.org/3/reference/datamodel.html#object.__enter__)

Note

A context manager is an object that defines the runtime context to be established when executing a with statement. The context manager handles the entry into, and the exit from, the desired runtime context for the execution of the block of code. Context managers are normally invoked using the with statement (described in section The with statement), but can also be used by directly invoking their methods.” [Source](https://docs.python.org/3/reference/datamodel.html#with-statement-context-managers)

Returns:

This database instance (in open state).

__exit__(exc_type, exc_value, traceback)[source]

Exit runtime context and close the underlying LMDB database environment.

Note

Exit the runtime context related to this object. The parameters describe the exception that caused the context to be exited. If the context was exited without an exception, all three arguments will be None. [Source](https://docs.python.org/3/reference/datamodel.html#object.__exit__).

Parameters:
  • exc_type

  • exc_value

  • traceback

Returns:

__slots__ = ('log', '_is_temp', '_tempdir', '_dbpath', '_maxsize', '_readonly', '_lock', '_sync', '_create',...
_attach_slot(oid: uuid.UUID, klass: Type[zlmdb._pmap.PersistentMap], marshal: Callable | None = None, parse: Callable | None = None, build: Callable | None = None, cast: Callable | None = None, compress: int | None = None, create: bool = True, name: str | None = None, description: str | None = None)[source]
Parameters:
  • oid

  • klass

  • marshal

  • parse

  • build

  • cast

  • compress

  • create

  • name

  • description

Returns:

_cache_slots()[source]
Returns:

_context = None
_create = True
_env: zlmdb.lmdb.Environment | None = None
_get_free_slot() int[source]
Returns:

_get_slots(cached=True) Dict[uuid.UUID, Slot][source]
Parameters:

cached

Returns:

_lock = True
_maxsize = 10485760
_open_now = True
_readonly = False
_set_slot(slot_index: int, slot: Slot | None)[source]
Parameters:
  • slot_index

  • slot

Returns:

_slots: Dict[uuid.UUID, Slot] | None = None
_slots_by_index: Dict[uuid.UUID, int] | None = None
_sync = True
_writemap = False
attach_table(klass: Type[zlmdb._pmap.PersistentMap])[source]
Parameters:

klass

Returns:

begin(write: bool = False, buffers: bool = False, stats: zlmdb._transaction.TransactionStats | None = None) zlmdb._transaction.Transaction[source]
Parameters:
  • write

  • buffers

  • stats

Returns:

config() Dict[str, Any][source]
Returns:

property context

return:

property dbpath: str | None

return:

property is_open: bool

return:

property is_readonly: bool

return:

property is_sync: bool

return:

property is_writemap: bool

return:

property maxsize: int

return:

static open(dbpath: str | None = None, maxsize: int = 10485760, readonly: bool = False, lock: bool = True, sync: bool = True, create: bool = True, open_now: bool = True, writemap: bool = False, context: Any = None, log: txaio.interfaces.ILogger | None = None) Database[source]
static scratch(dbpath: str)[source]
Parameters:

dbpath

Returns:

stats(include_slots: bool = False) Dict[str, Any][source]
Parameters:

include_slots

Returns:

sync(force: bool = False)[source]
Parameters:

force

Returns:

class MapBytes16FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes16KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with Bytes16 keys and Flatbuffers values.

class MapBytes16TimestampUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes16TimestampKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (Bytes20, Timestamp) keys and UUID values.

class MapBytes16TimestampUuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes16TimestampUuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes20, Timestamp, UUID) keys and Flatbuffers values.

class MapBytes20Bytes16(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20KeysMixin, zlmdb._types._Bytes16ValuesMixin, PersistentMap

Persistent map with Bytes20 keys and Bytes16 values.

class MapBytes20Bytes20(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20KeysMixin, zlmdb._types._Bytes20ValuesMixin, PersistentMap

Persistent map with Bytes20 keys and Bytes20 values.

class MapBytes20Bytes20FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes20Bytes20KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes20, Bytes20) keys and Flatbuffers values.

class MapBytes20Bytes20Timestamp(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20KeysMixin, zlmdb._types._Bytes20TimestampValuesMixin, PersistentMap

Persistent map with Bytes20 keys and (Bytes20, Timestamp) values.

class MapBytes20FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes20KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with Bytes20 keys and Flatbuffers values.

class MapBytes20StringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes20StringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes20, String) keys and Flatbuffers values.

class MapBytes20TimestampBytes20(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20TimestampKeysMixin, zlmdb._types._Bytes20ValuesMixin, PersistentMap

Persistent map with (Bytes20, Timestamp) keys and Bytes20 values.

class MapBytes20TimestampUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20TimestampKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (Bytes20, Timestamp) keys and UUID values.

class MapBytes20Uuid(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes20KeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with Bytes20 keys and UUID values.

class MapBytes32Bytes32(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes32KeysMixin, zlmdb._types._Bytes32ValuesMixin, PersistentMap

Persistent map with Bytes32 keys and Bytes32 values.

class MapBytes32Bytes32FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes32Bytes32KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes32, Bytes32) keys and Flatbuffers values.

class MapBytes32FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes32KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with Bytes32 keys and Flatbuffers values.

class MapBytes32StringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes32StringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes32, String) keys and Flatbuffers values.

class MapBytes32Timestamp(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes32KeysMixin, zlmdb._types._TimestampValuesMixin, PersistentMap

Persistent map with Bytes32 keys and Timestamp values.

class MapBytes32Uuid(slot=None, compress=None)[source]

Bases: zlmdb._types._Bytes32KeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with Bytes32 keys and UUID values.

class MapBytes32UuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Bytes32UuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Bytes32, UUID) keys and Flatbuffers values.

class MapOid3FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Oid3KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (OID, OID, OID) / (uint64, uint64, uint64) keys and FlatBuffers values.

class MapOidCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and CBOR values.

class MapOidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and FlatBuffers values.

class MapOidJson(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._JsonValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and JSON values.

class MapOidOid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and OID (uint64) values.

class MapOidOidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._OidOidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (OID, OID) / (uint64, uint64) keys and FlatBuffers values.

class MapOidOidOid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidOidKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (OID, OID) keys and OID values.

class MapOidOidSet(slot=None, compress=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._OidSetValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and OID-set (set of unique uint64) values.

class MapOidPickle(slot=None, compress=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._PickleValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and Python pickle values.

class MapOidString(slot=None, compress=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._StringValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and string (utf8) values.

class MapOidStringOid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidStringKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (OID, string) keys and OID values.

class MapOidTimestampFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._OidTimestampKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (OID, Timestamp) keys and Flatbuffers values, where Timestamp is a np.datetime64[ns].

class MapOidTimestampOid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidTimestampKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (OID, Timestamp) keys and OID values, where Timestamp is a np.datetime64[ns].

class MapOidTimestampStringOid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidTimestampStringKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (OID, Timestamp, String) keys and OID values, where Timestamp is a np.datetime64[ns].

class MapOidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._OidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with OID (uint64) keys and UUID (16 bytes) values.

class MapSlotUuidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._SlotUuidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (slot, UUID) and UUID values.

class MapStringCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with string (utf8) keys and CBOR values.

class MapStringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with string (utf8) keys and FlatBuffers values.

class MapStringJson(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._JsonValuesMixin, PersistentMap

Persistent map with string (utf8) keys and JSON values.

class MapStringOid(slot=None, compress=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with string (utf8) keys and OID (uint64) values.

class MapStringOidOid(slot=None, compress=None)[source]

Bases: zlmdb._types._StringOidKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (string:utf8, OID:uint64) keys and OID:uint64 values.

class MapStringPickle(slot=None, compress=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._PickleValuesMixin, PersistentMap

Persistent map with string (utf8) keys and Python pickle values.

class MapStringString(slot=None, compress=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._StringValuesMixin, PersistentMap

Persistent map with string (utf8) keys and string (utf8) values.

class MapStringStringStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._StringStringStringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (string, string, string) keys and UUID (16 bytes) values.

class MapStringStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._StringStringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (string, string) keys and UUID (16 bytes) values.

class MapStringTimestampCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._StringTimestampKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with (String, Timestamp) keys and CBOR values.

class MapStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._StringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with string (utf8) keys and UUID (16 bytes) values.

class MapTimestampBytes32FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._TimestampBytes32KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Timestamp, Bytes32) keys and FlatBuffers values.

class MapTimestampFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._TimestampKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with Timestamp keys and FlatBuffers values.

class MapTimestampStringCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._TimestampStringKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with (Timestamp, String) keys and CBOR values.

class MapTimestampStringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._TimestampStringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Timestamp, String) keys and FlatBuffers values.

class MapTimestampUuidCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._TimestampUuidKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with (Timestamp, UUID) keys and CBOR values.

class MapTimestampUuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._TimestampUuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Timestamp, UUID) keys and FlatBuffers values.

class MapTimestampUuidStringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._TimestampUuidStringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (Timestamp, UUID, String) keys and FlatBuffers values.

class MapUint16UuidTimestampFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._Uint16UuidTimestampKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (uint16, UUID, Timestamp) keys and FlatBuffers values.

class MapUint64TimestampUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._Uint64TimestampKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (Uint64, Timestamp) keys and UUID values.

class MapUuidBytes20Bytes20Uint8UuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidBytes20Bytes20Uint8UuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, bytes[20], bytes[20], uint8, UUID) keys and FlatBuffers values.

class MapUuidBytes20Uint8FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidBytes20Uint8KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, bytes[20], uint8) keys and FlatBuffers values.

class MapUuidBytes20Uint8UuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidBytes20Uint8UuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, bytes[20], uint8, UUID) keys and FlatBuffers values.

class MapUuidBytes32FlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidBytes32KeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, Bytes32) keys and Flatbuffers values.

class MapUuidCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and CBOR values.

class MapUuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and FlatBuffers values.

class MapUuidJson(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._JsonValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and JSON values.

class MapUuidOid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and OID (uint64) values.

class MapUuidPickle(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._PickleValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and Python Pickle values.

class MapUuidString(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._StringValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and string (utf8) values.

class MapUuidStringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidStringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, String) keys and Flatbuffers values.

class MapUuidStringOid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidStringKeysMixin, zlmdb._types._OidValuesMixin, PersistentMap

Persistent map with (UUID, string) keys and Oid values.

class MapUuidStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidStringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, string) keys and UUID values.

class MapUuidTimestampBytes32(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidTimestampKeysMixin, zlmdb._types._Bytes32ValuesMixin, PersistentMap

Persistent map with (UUID, Timestamp) keys and Bytes32 values.

class MapUuidTimestampCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._UuidTimestampKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with (UUID, Timestamp) keys and CBOR values.

class MapUuidTimestampFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidTimestampKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, Timestamp) keys and FlatBuffers values.

class MapUuidTimestampUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidTimestampKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, timestamp) keys and UUID values.

class MapUuidTimestampUuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidTimestampUuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, Timestamp, UUID) keys and FlatBuffers values.

class MapUuidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with UUID (16 bytes) keys and UUID (16 bytes) values.

class MapUuidUuidCbor(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: zlmdb._types._UuidUuidKeysMixin, zlmdb._types._CborValuesMixin, PersistentMap

Persistent map with (UUID, UUID) keys and CBOR values.

class MapUuidUuidFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidUuidKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, UUID) keys and Flatbuffers values.

class MapUuidUuidSet(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidKeysMixin, zlmdb._types._UuidSetValuesMixin, PersistentMap

Persistent map with (UUID, string) keys and UUID values.

class MapUuidUuidStringFlatBuffers(slot=None, compress=None, build=None, cast=None)[source]

Bases: zlmdb._types._UuidUuidStringKeysMixin, zlmdb._types._FlatBuffersValuesMixin, PersistentMap

Persistent map with (UUID, UUID, String) keys and Flatbuffers values.

class MapUuidUuidStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidUuidStringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, UUID, string) keys and UUID values.

class MapUuidUuidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidUuidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, UUID) keys and UUID values.

class MapUuidUuidUuidStringUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidUuidUuidStringKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, UUID, UUID, string) keys and UUID values.

class MapUuidUuidUuidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidUuidUuidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, UUID, UUID) keys and UUID values.

class MapUuidUuidUuidUuidUuid(slot=None, compress=None)[source]

Bases: zlmdb._types._UuidUuidUuidUuidKeysMixin, zlmdb._types._UuidValuesMixin, PersistentMap

Persistent map with (UUID, UUID, UUID, UUID) keys and UUID values.

exception NullValueConstraint[source]

Bases: RuntimeError

Null value in indexed column violates not-null constraint.

class Schema[source]

Bases: object

ZLMDB database schema definition.

SLOT_DATA_EMPTY = 0

Database slot is empty (unused, not necessarily zero’ed, but uninitialized).

SLOT_DATA_INDEX = 5

FIXME.

SLOT_DATA_MATERIALIZATION = 7

FIXME.

SLOT_DATA_METADATA = 1

FIXME.

SLOT_DATA_REPLICATION = 6

FIXME.

SLOT_DATA_SEQUENCE = 3

FIXME.

SLOT_DATA_TABLE = 4

Database slot contains a persistent map, for example a map of type OID to Pickle.

SLOT_DATA_TYPE = 2

FIXME.

_index_to_slot
_name_to_slot
slot(slot_index, marshal=None, unmarshal=None, build=None, cast=None, compress=False)[source]

Decorator for use on classes derived from zlmdb.PersistentMap. The decorator define slots in a LMDB database schema based on persistent maps, and slot configuration.

Parameters:
  • slot_index

  • marshal

  • unmarshal

  • build

  • cast

  • compress

Returns:

class Transaction(db, write=False, buffers=False, stats=None)[source]

Bases: object

Transactions in zLMDB are always run under an instance of this class.

DEL = 2
PUT = 1
__enter__()[source]
__exit__(exc_type, exc_value, traceback)[source]
_buffers = False
_db
_log = None
_stats = None
_txn: zlmdb.lmdb.Transaction | None = None
_write = False
delete(key)[source]
Parameters:

key

Returns:

get(key)[source]
Parameters:

key

Returns:

id()[source]
Returns:

put(key, data, overwrite=True)[source]
Parameters:
  • key

  • data

  • overwrite

Returns:

class TransactionStats[source]

Bases: object

Value class for holding transaction statistics.

_started
dels = 0
property duration

duration in ns

Type:

return

puts = 0
reset()[source]
Returns:

property started

start time in ns since epoch

Type:

return

check_autobahn_flatbuffers_version_in_sync() str[source]

Check that zlmdb and autobahn have the same vendored flatbuffers version.

This is important for applications like Crossbar.io that use both zlmdb (for data-at-rest) and autobahn (for data-in-transit) with FlatBuffers serialization. When sending a FlatBuffers database record as a WAMP application payload, both libraries must use compatible FlatBuffers runtimes to avoid subtle serialization issues.

Returns:

The flatbuffers git version (e.g. “v25.9.23-2-g95053e6a”) if both are in sync.

Raises:

Example:

import zlmdb
version = zlmdb.check_autobahn_flatbuffers_version_in_sync()
print(f"FlatBuffers version: {version}")
lmdb[source]
setup_flatbuffers_import()[source]

Register vendored flatbuffers in sys.modules so import flatbuffers works.

This function should be called by downstream packages (e.g. cfxdb) that have generated flatbuffers code which does import flatbuffers. By calling this function early in their initialization, they ensure that:

  1. import flatbuffers resolves to zlmdb’s vendored copy

  2. No conflicts with separately installed flatbuffers packages

  3. Consistent behavior across all modules

Example usage in downstream package __init__.py:

import zlmdb
zlmdb.setup_flatbuffers_import()

# Now generated code can do `import flatbuffers`
from .gen import MyTable
table(oid, marshal=None, parse=None, build=None, cast=None, compress=None)[source]