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.0.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.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unidecompiler_gui_sdk-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 55ed9fb318b4aabc5b3d2f5e1afd3c0c3044db50e450f4192c181092fb4d0ab0
MD5 e7696964cd11d967c8431c1bf670cb36
BLAKE2b-256 7a7b288b60ed6be3893e5ab8ee9aa24b84dc6d218f1580e62d2726bf16a98127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unidecompiler_gui_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01b688a2c3ccdde16d7ac4382cec12ce9c4cbd1ccecf124786f5f1383cb5364d
MD5 e9c887f0f89f11c44fbebd6ba50a8e5f
BLAKE2b-256 a54db56068a3c0568f0ea5bdb268750e4387b97268a972f5da3c297e6c6be5e8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

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