GUI (based on wxPython) for 'construct', which is a powerful declarative and symmetrical parser and builder for binary data.
Project description
Construct Editor
This package provides a GUI (based on wxPython) for 'construct', which is a powerful declarative and symmetrical parser and builder for binary data. It can either be used standalone or embedded as a widget in another application.
Features:
- show documentation as tooltip
- different editors for:
- Integer values
- Enum values
- FlagsEnum values
- DateTime values
- undo/redo in HexEditor and in ConstructEditor
- extensible for custom constructs
Installation
The preferred way to installation is via PyPI:
pip install construct-editor
Getting started (Standalone)
To start the standalone version, just execute the following in the command line:
construct-editor
Getting started (as Widgets)
This is a simple example
import wx
import construct as cs
from construct_editor.wx_widgets import WxConstructHexEditor
constr = cs.Struct(
"a" / cs.Int16sb,
"b" / cs.Int16sb,
)
b = bytes([0x12, 0x34, 0x56, 0x78])
app = wx.App(False)
frame = wx.Frame(None, title="Construct Hex Editor", size=(1000, 200))
editor_panel = WxConstructHexEditor(frame, construct=constr, binary=b)
editor_panel.construct_editor.expand_all()
frame.Show(True)
app.MainLoop()
This snipped generates a GUI like this:
Widgets
ConstructHexEditor
This is the main widget ot this library. It offers a look at the raw binary data and also at the parsed structure. It offers a way to modify the raw binary data, which is then automaticly converted to the structed view. It also supports to modify the structed data and build the binary data from it.
ConstructEditor
This is just the right side of the ConstructHexEditor
, but can be used also used as standalone widget. It provides:
- Viewing the structure of a construct (without binary data)
- Parsing binary data according to the construct
HexEditor
Just the left side of the ConstructHexEditor
, but can be used also used as standalone widget. It provides:
- Viewing Bytes in a Hexadecimal form
- Callbacks when some value changed
- Changeable format via
TableFormat
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file construct-editor-0.1.5.tar.gz
.
File metadata
- Download URL: construct-editor-0.1.5.tar.gz
- Upload date:
- Size: 77.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51f24fc5d5d8c8cf26c8f369474a742553129d54644c43f20d3fd74ca8f6caec |
|
MD5 | af833913b3255584716c1cb320d68e4c |
|
BLAKE2b-256 | 57caf56e4399d49a32143c070f31b163121f62a0f07a293e5c0ee9f24c22a13a |
File details
Details for the file construct_editor-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: construct_editor-0.1.5-py3-none-any.whl
- Upload date:
- Size: 96.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb4acfb79736cae1b423fa44b73a9c6fb4ee8116a51c69e39f366ce0df7b1ae |
|
MD5 | b8120682a5eb9cb344229921e60ce6b5 |
|
BLAKE2b-256 | 821276673426fd82f23642578e4d2d44299dc8d53746b2427c1b433e28d94cb5 |