construct-gallery GUI (based on wxPython) and development modules
Project description
construct-gallery
wxPython Widgets extending functionalities of construct-editor
The following Python modules are included:
-
construct_gallery.py
, providing theConstructGallery()
class.This module implements a GUI editor to parse and build an editable and ordered list of binary data via a gallery of predefined construct data structures.
construct is a powerful, declarative, symmetrical parser and builder for binary data.
construct_gallery.py
is based on wxPython and construct-editor: it relies on the excellent editing widgets provided by the construct-editor module and offers a superset of features compared with its standard GUI.This module can be directly used in GUI programs, or can be further extended with
bleak_scanner_construct.py
. -
config_editor.py
, providing theConfigEditorPanel()
class (widget).This widget implements an editing GUI composed by a form including multiple byte structures, each one related to its own construct data model.
The structure of this form is described by the "editing_structure" parameter.
-
bleak_scanner_construct.py
, providing theBleakScannerConstruct()
class.The component implements a Bluetooth Low Energy (BLE) GUI client to log, browse, test and edit BLE advertisements.
This module extends
construct_gallery.py
, offering a skeleton of BLE Advertiser scanner.bleak is needed (
pip3 install bleak
)
construct-gallery also includes a number of construct-editor plugins, which are used by ConstructGallery()
and BleakScannerConstruct()
, but they can be separately reused on projects based on construct-editor.
-
plugins offering additional options for the context menu of the construct-editor HexEditorGrid (invoked with the right click of the mouse):
allow_python_expr_plugin.py
decimal_convert_plugin.py
string_convert_plugin.py
-
PyShell plugin
pyshell_plugin.py
, adding a button to activate a PyShell frame (PyShell is a GUI-based python shell). -
wx_logging_plugin.py
, providing a debug GUI panel in background. -
pyshell_plugin.py
, activating a Python shell button that allows opening an inspector shell, which also includes a special Help with related submenu (that can be invoked also via F9).
Main functionalities
- Cross-platform GUI
- The GUI includes a BLE control (implemented with buttons) which allows starting and stopping the BLE advertising receiver. Advertisements are logged in their reception sequence, automatically labbelled with the MAC address.
- A filter button can be used to enter a specific MAC address to restrict logging, a portion of it or a sequence of addresses, as well as BLE local names.
- Logged data can be saved to file in pickle format. Archives can be subsequently reloaded and appended to the current log. They can also be inspected with
python -mpickle archive-file-name.pickle
. - Advertisement data are logged in the left panel, shown as hex bytes in the central panel and then parsed to browsable construct structures in the right panel.
- The Python error management is wrapped into a GUI panel.
- A Python shell button allows opening an inspector shell, which also provides a special Help with related submenu (or by pressing F9).
- All panels allow a context menu (invoked with the right click of the mouse) with a number of special functions.
- The left log menu panel allows renaming labels and changing MAC address. Also, by double clicking an unused area of the log panel, new frames can be added and then labelled; subsequently, a specific MAC address can be associated. Log elements can be repositioned, or deleted.
- The hex editor (central panel) allows any kind of copy/paste. Sequences of bytes can be pasted in a number of different formats. Also a special checkbox enables pasting Python expressions. Two debugging tools are also provided (invoked with the right click of the mouse after selecting a sequence of bytes), to convert bytes into a wide set of numeric forms as well as strings; these debug panels can be used to quickly check the most appropriate conversion method for a sequence of bytes.
- When starting the BLE reception, a debug window is opened in background, with the possibility to control the debug level and clear the produced data.
Full information, installation notes, API reference and usage details at the construct-gallery GitHub repository.
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-gallery-1.3.0.tar.gz
.
File metadata
- Download URL: construct-gallery-1.3.0.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a75cb9af98a196b3f23dfdfe74574afe907556b0a391c3549a625ff584d665cd |
|
MD5 | 0980e732e98bcc0d2f5e918ebe634217 |
|
BLAKE2b-256 | cc7f6515d67eb66bee583f3cf3f8ba799d13277ae467a647c3c9f4ba4eb5526f |
File details
Details for the file construct_gallery-1.3.0-py3-none-any.whl
.
File metadata
- Download URL: construct_gallery-1.3.0-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce7378fc84cbe7f6afc86d433d82ddc891ca2483c81e613642cbe14d44577906 |
|
MD5 | 8aa60cd2f82c7ca54f80e42f723490e6 |
|
BLAKE2b-256 | 417eb760641349cbf2f00dfbf27f8ccf0a756ae99e09e00a9daed997ccf177d5 |