Skip to content

nfredrik/binmap

 
 

Repository files navigation

Dataclass for go to and from binary data

It follows dataclass pattern with typehinting as the binary format. Temperature with one unsigned byte:

class Temperature(BinmapDataclass):
    temp: unsignedchar = 0

t = Temperature()
t.temp = 22
print(bytes(t))
b'\x16'

t2 = Temperature(b'\x20')
print(t2.temp)
32

Temperature and humidity consisting of one signed byte for temperature and one unsiged byte for humidity:

class TempHum(BinmapDataclass):
    temp: signedchar = 0
    hum: unsignedchar = 0

th = TempHum()
th.temp = -10
th.humidity = 60
print(bytes(th))
b'\xfc<'

th2 = TempHum(b'\xea\x41')
print(th2.temp)
-22
print(th2.hum)
65

About

Python base class for creating binary parsing and packing classes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%