#key-value-store #key-value #database #serialization

macro storekey-derive

Private implementation of procedural macros for storekey

6 releases (breaking)

Uses new Rust 2024

0.11.0 Dec 8, 2025
0.10.0 Nov 27, 2025
0.9.0 Oct 29, 2025
0.8.1 Sep 10, 2025
0.7.0 Sep 3, 2025

#46 in #kv-store

Download history 1816/week @ 2025-12-28 4012/week @ 2026-01-04 9307/week @ 2026-01-11 6837/week @ 2026-01-18 10870/week @ 2026-01-25 8694/week @ 2026-02-01 12235/week @ 2026-02-08 11498/week @ 2026-02-15 10569/week @ 2026-02-22 11302/week @ 2026-03-01 15912/week @ 2026-03-08 14581/week @ 2026-03-15 12522/week @ 2026-03-22 12929/week @ 2026-03-29 15929/week @ 2026-04-05 16541/week @ 2026-04-12

59,124 downloads per month
Used in storekey

Apache-2.0

20KB
589 lines


Storekey Logo Storekey Logo

Binary encoding for Rust values which ensures lexicographic sort ordering. Order-preserving encoding is useful for creating keys for sorted key-value stores with byte string typed keys, such as EchoDB, MemoDB, IndxDB, SurrealKV, and SurrealDB.


     

Features

  • Binary encoding whilst preserving lexicographic sort order
  • Useful for creating keys for sorted key-value data stores
  • Aims to encode values into the fewest number of bytes possible
  • The exact type of a serialized value must be known in order to deserialize it
  • Supports all Rust primitives, strings, options, structs, enums, vecs, and tuples

Original

This code is forked originally from bytekey-fix, which is originally forked from bytekey, both licensed under the Apache License 2.0 license. See LICENSE for full license text.

Dependencies

~115–480KB
~11K SLoC