Destructify
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)
| 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.