Skip to main content

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


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 details)

Uploaded Source

Built Distribution

databind.binary-0.2.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file databind.binary-0.2.1.tar.gz.

File metadata

  • Download URL: databind.binary-0.2.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for databind.binary-0.2.1.tar.gz
Algorithm Hash digest
SHA256 13f15176764c024734da0ca34601c611fefefb8877a3052df25c122fc809988b
MD5 a2026beb870a975b39260d2bc9ce9156
BLAKE2b-256 04e350f2bff80604df27156afbf7f92dcababa6d5cdc9290ad26cc859399fb2f

See more details on using hashes here.

File details

Details for the file databind.binary-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: databind.binary-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for databind.binary-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5be3549603880c56630b1a62588c5ee6dcf2412c66b91d7bbac381c1706913d
MD5 2c820fd3894f41d047cf2432d43856d8
BLAKE2b-256 414551e1d1918b302d38d4ca6827ad38a318b467cd41de219746f9123627ad28

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page