Skip to main content

A Pythonic way to define, parse and modify binary structures

Project description

Destructify is a Pythonic and pure-Python 3 method to express binary data, allowing you to read and write binary structures. You simply specify a structure by creating a class as follows:

class ExampleStructure(destructify.Structure):
    some_number = destructify.IntegerField(default=0x13, length=4, byte_order='little', signed=True)
    length = destructify.IntegerField(length=1)
    data = destructify.FixedLengthField(length='length')

Now you can parse your own binary data:

example = ExampleStructure.from_bytes(b"\x01\x02\x03\x04\x0BHello world")
print(  # b'Hello world'

Or write your own data:

example2 = ExampleStructure(data=b'How are you doing?')
print(bytes(example2))  # b'\x13\x00\x00\x00\x12How are you doing?'


Documentation for Destrucify is available at or in the docs/ directory.


Destructify is available at the Python Package Index:

pip install destructify


Since Destructify is an open source project, contributions of many forms are welcomed. Examples of possible contributions include:

  • Bug patches
  • New features
  • Documentation improvements
  • Bug reports and reviews of pull requests

We use GitHub to keep track of issues and pull requests. You can always submit an issue when you encounter something out of the ordinary.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for destructify, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size destructify-0.2.0.tar.gz (26.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page