Skip to main content

unidecompiler-gui-sdk

Stable, read-only API for trusted unidecompiler-gui Python plugins. The SDK does not depend on Qt, core internals, frontends, or the simulator implementation.

Install it directly when developing a plugin:

python -m pip install unidecompiler-gui-sdk

End users do not need to install it separately: unidecompiler-gui depends on the matching SDK API.

Minimal Plugin

Place plugin.toml and the declared entry module in one directory:

[plugin]
id = "example.workspace-inspector"
name = "Workspace Inspector"
version = "1.0.0"
api = "1"
entry = "workspace_inspector:register"

[python]
requires = []
from unidecompiler_gui_sdk import Command, Panel, PanelState


def register(context):
    context.panels.register(Panel("summary", "Summary"))

    def refresh(plugin_context):
        document = plugin_context.active_document
        text = "No active document" if document is None else document.display_name
        plugin_context.set_panel_state("summary", PanelState.text_view(text))

    context.commands.register(Command("refresh", "Refresh summary", refresh))
    context.subscribe("document_selected", lambda _document: refresh(context))

The plugin entry function receives a plugin-scoped context. Plugins are trusted in-process code, are not sandboxed, and must not import Qt or private decompiler/simulator modules. See the repository's docs/GUI_PLUGIN_DEVELOPMENT.md for the complete contract.

The GUI calls the manifest entry function with a plugin-scoped PluginContext. Context snapshots are frozen data and navigation/simulation are host requests. Register extensions through context.commands.register(Command(...)) and context.panels.register(Panel(...)); panels use PanelState data rather than Qt widgets. The SDK exposes no generic IR, decoded artifacts, frontends, Qt objects, or simulator execution internals.

For simulation, request frontend-owned targets with request_simulation_targets(document_id). The asynchronous target job returns SimulationTargetSnapshot values containing a display label, parameter names, and an opaque query. Pass that query unchanged to submit_simulation. Finished jobs contain SDK-owned SimulationResultSnapshot and SimulationEventSnapshot data, never simulator implementation objects.

context.settings stores JSON-compatible values under the current plugin ID; one plugin cannot address another plugin's settings namespace.

Download files

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

Source Distribution

unidecompiler_gui_sdk-0.1.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unidecompiler_gui_sdk-0.1.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file unidecompiler_gui_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: unidecompiler_gui_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for unidecompiler_gui_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c4c40bd5f618bb26bd4e1db29f4f6d92528b5efdbd1ca30006fe77ac0b84582b
MD5 2f9e88aa8dec4dafdfce746c6078c745
BLAKE2b-256 40f6564a5739aa9277d974d23abaf9aa312fcfd39ddc5097b31381253e31d0fa

See more details on using hashes here.

File details

Details for the file unidecompiler_gui_sdk-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for unidecompiler_gui_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 90afff09565e187f9b8f2ba7f23fdbf96385d017b306f384c8154d4b92d9014c
MD5 1522135d719f3b9f8cd0055ce5c3b36c
BLAKE2b-256 351f69a1e564e17da231c995d1b756287f2ba26b3c6e3c924aca8d8fbd52a44a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

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