Skip to main content

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.

Preview

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:

Screenshot of the example

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


Download files

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

Source Distribution

construct-editor-0.1.5.tar.gz (77.1 kB view details)

Uploaded Source

Built Distribution

construct_editor-0.1.5-py3-none-any.whl (96.1 kB view details)

Uploaded Python 3

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

Hashes for construct-editor-0.1.5.tar.gz
Algorithm Hash digest
SHA256 51f24fc5d5d8c8cf26c8f369474a742553129d54644c43f20d3fd74ca8f6caec
MD5 af833913b3255584716c1cb320d68e4c
BLAKE2b-256 57caf56e4399d49a32143c070f31b163121f62a0f07a293e5c0ee9f24c22a13a

See more details on using hashes here.

File details

Details for the file construct_editor-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for construct_editor-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 deb4acfb79736cae1b423fa44b73a9c6fb4ee8116a51c69e39f366ce0df7b1ae
MD5 b8120682a5eb9cb344229921e60ce6b5
BLAKE2b-256 821276673426fd82f23642578e4d2d44299dc8d53746b2427c1b433e28d94cb5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page