Skip to main content

Destructify

https://img.shields.io/travis/com/ralphje/destructify.svg https://img.shields.io/codecov/c/github/ralphje/destructify.svg?style=flat https://img.shields.io/pypi/v/destructify.svg https://img.shields.io/readthedocs/destructify.svg

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(example.data)  # 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

Documentation for Destrucify is available at https://destructify.readthedocs.io/en/latest/ or in the docs/ directory.

Installation

Destructify is available at the Python Package Index:

pip install destructify

Contributing

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.

Metadata

Release files for destructify 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for destructify 0.2.0
File Size Uploaded Provenance
destructify-0.2.0.tar.gz 26.7 kB Without provenance Details

Release files / destructify-0.2.0.tar.gz

Download URL destructify-0.2.0.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
16d0bbccac91f50c9ff8b4ef2273e618883897ca1bc12756f92a0e808f51cdd4
BLAKE2b-256 checksum
How to use checksums
bb6db2b701217c1a43b7c3aba1bc8225abb9a5d3ac723af9a037357305723208
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

Security for destructify 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page