#serializer-deserializer #format #data #amazon #type #followed #krds

serde_krds

Serde serializer and deserializer implementations for Amazon's KRDS data format

2 releases

0.1.1 Aug 31, 2023
0.1.0 Aug 31, 2023

#2213 in Encoding

GPL-3.0 license

48KB
1.5K SLoC

Amazon KRDS for Serde

Serializer and deserializer implementation for Amazon's KRDS format (used by Kindle e-readers to store user reading data.)

Warning, some types are fragile, for example Tuple Structs cannot contain optionals anywhere except at the end. They will fail to deserialize if the optional is none if this rule is not followed. More stable implementations may be created as needs arise and I understand serde more.

Check my other project, kindle_formats-rs for Rust struct representations of Kindle data files that use the KRDS format.

Information on how the data is structured in the binary format was determined by jhowell in this mobilereads.com thread.


lib.rs:

Serializer and deserializer implementation for Amazon's KRDS format (used by Kindle e-readers to store user reading data.)

Warning, some types are fragile, for example Tuple Structs cannot contain optionals anywhere except at the end. They will fail to deserialize if the optional is none if this rule is not followed. More stable implementations may be created as needs arise and I understand serde more.

Dependencies

~0.4–1MB
~22K SLoC