zlmdb._types

Attributes

CHARSET

Charset from which to generate random key IDs.

CHARS_PER_GROUP

CHAR_GROUPS

GROUP_SEP

HAS_NUMPY

Classes

Functions

_random_string()

Generate a globally unique serial / product code of the form u'YRAC-EL4X-FQQE-AW4T-WNUV-VN6T'.

bytes_to_dt(data)

Deserialize a timestamp from big-endian byte order data.

dt_to_bytes(dt)

Serialize a timestamp in big-endian byte order.

Module Contents

CHARSET = '345679ACEFGHJKLMNPQRSTUVWXY'[source]

Charset from which to generate random key IDs.

Note

We take out the following 9 chars (leaving 27), because there is visual ambiguity: 0/O/D, 1/I, 8/B, 2/Z.

CHARS_PER_GROUP = 6[source]
CHAR_GROUPS = 4[source]
GROUP_SEP = '-'[source]
HAS_NUMPY = False[source]
class _Bytes16KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key()[source]
class _Bytes16TimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key()[source]
class _Bytes16TimestampUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key()[source]
class _Bytes16ValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _Bytes20Bytes20KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _Bytes20KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key()[source]
class _Bytes20StringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _Bytes20TimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key()[source]
class _Bytes20TimestampValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(values)[source]
class _Bytes20ValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _Bytes32Bytes32KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _Bytes32KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key()[source]
class _Bytes32StringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _Bytes32UuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _Bytes32ValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _CborValuesMixin(marshal=None, unmarshal=None)[source]

Bases: object

_deserialize_value(data)[source]
_marshal = None[source]
_serialize_value(value)[source]
_unmarshal = None[source]
class _FlatBuffersValuesMixin(build, cast)[source]

Bases: object

_build[source]
_cast[source]
_deserialize_value(data)[source]
_serialize_value(value)[source]
class _JsonValuesMixin(marshal=None, unmarshal=None)[source]

Bases: object

_deserialize_value(data)[source]
_marshal = None[source]
_serialize_value(value)[source]
_unmarshal = None[source]
class _Oid3KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key(secure=False)[source]
class _OidKeysMixin[source]

Bases: object

MAX_OID = 9007199254740992[source]

Valid OID are from the integer range [0, MAX_OID].

The upper bound 2**53 is chosen since it is the maximum integer that can be represented as a IEEE double such that all smaller integers are representable as well.

Hence, IDs can be safely used with languages that use IEEE double as their main (or only) number type (JavaScript, Lua, etc).

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key(secure=False)[source]
class _OidOidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key(secure=False)[source]
class _OidSetValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value_set)[source]
class _OidStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key(secure=False)[source]
class _OidTimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key(secure=False)[source]
class _OidTimestampStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(keys)[source]
static new_key(secure=False)[source]
class _OidValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _Pickle5ValuesMixin[source]

Bases: object

Arbitrary Python object values, serialized using Pickle protocol version 5. Protocol version 5 was added in Python 3.8. It adds support for out-of-band data and speedup for in-band data.

PROTOCOL = 5[source]
_deserialize_value(data)[source]
_serialize_value(value)[source]
class _PickleValuesMixin[source]

Bases: object

PROTOCOL = 2[source]
_deserialize_value(data)[source]
_serialize_value(value)[source]
class _SlotUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _StringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key()[source]
class _StringOidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key(secure=False)[source]
class _StringSetValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value_set)[source]
class _StringStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _StringStringStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
static new_key()[source]
class _StringTimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _StringValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _TimestampBytes32KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _TimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1)[source]
static new_key()[source]
class _TimestampStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _TimestampUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _TimestampUuidStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
static new_key()[source]
class _TimestampValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
class _Uint16UuidTimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
static new_key()[source]
class _Uint64TimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _UuidBytes20Bytes20Uint8UuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3_key4_key5)[source]
static new_key()[source]
class _UuidBytes20Uint8KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
static new_key()[source]
class _UuidBytes20Uint8UuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3_key4)[source]
static new_key()[source]
class _UuidBytes32KeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _UuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key)[source]
static new_key()[source]
class _UuidSetValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value_set)[source]
class _UuidStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _UuidTimestampKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
static new_key()[source]
class _UuidTimestampUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
static new_key()[source]
class _UuidUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2)[source]
class _UuidUuidStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
class _UuidUuidUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3)[source]
class _UuidUuidUuidStringKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3_key4)[source]
class _UuidUuidUuidUuidKeysMixin[source]

Bases: object

_deserialize_key(data)[source]
_serialize_key(key1_key2_key3_key4)[source]
class _UuidValuesMixin[source]

Bases: object

_deserialize_value(data)[source]
_serialize_value(value)[source]
_random_string()[source]

Generate a globally unique serial / product code of the form u'YRAC-EL4X-FQQE-AW4T-WNUV-VN6T'. The generated value is cryptographically strong and has (at least) 114 bits of entropy.

Returns:

new random string key

bytes_to_dt(data)[source]

Deserialize a timestamp from big-endian byte order data.

Parameters:

data – Data to deserialize.

Returns:

Deserialized timestamp.

dt_to_bytes(dt)[source]

Serialize a timestamp in big-endian byte order.

Parameters:

dt – Timestamp to serialize.

Returns:

Serialized bytes.