Bind object-oriented data models to binary data encoded with the struct module.
Project description
databind.binary
Databind is a library inspired by Jackson-databind to describe and bind data models for
object-oriented programming. The databind.binary
package implements conversion of data
models between Python and binary format (using the struct
module).
Todo
- Support (efficient) unpacking of nested structs
Quickstart
from databind.binary import to_bytes, calc_size, cstr, u32
from databind.core import datamodel, field
@datamodel
class RiffChunk:
""" RIFF-WAVE chunk header. """
chunk_id: cstr = field(default=b'RIFF', metadata={'size': 4})
chunk_size: u32
riff_type: cstr = field(default=b'WAVE', metadata={'size': 4})
assert calc_size(RiffChunk) == 12
assert to_bytes(RiffChunk(chunk_size=16442)) == b'RIFF:@\x00\x00WAVE'
Copyright © 2020 – Niklas Rosenstein
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
databind.binary-0.2.1.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for databind.binary-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5be3549603880c56630b1a62588c5ee6dcf2412c66b91d7bbac381c1706913d |
|
MD5 | 2c820fd3894f41d047cf2432d43856d8 |
|
BLAKE2b-256 | 414551e1d1918b302d38d4ca6827ad38a318b467cd41de219746f9123627ad28 |