Skip to main content

qgis-sdk-runtime

What a qgis-sdk plugin imports inside QGIS: declarations, the UI catalogue, the services and the adapters - standard library only.

Plain classes carry the plugin: @plugin and @action declare it, a Dialog or Dock declares its native window from the catalogue, ctx reaches layers, Processing, files, settings, network, the log and the WebEngine bridge host side. qgis_sdk.adapters.desktop.host() is the classFactory a built plugin binds, so a project carries the plugin and nothing of the host. The pure layers import without QGIS or Qt; a plugin built with qgis-sdk build vendors a private copy and installs nothing.

Status: 0.7.0, experimental 0.x. Each 0.Y.0 carries migration notes; nothing is promised stable before 1.0.0.

Installation

pip install qgis-sdk-runtime   # the QGIS Python console, a host script, a vendored copy
pip install qgis-sdk           # the developer kit: runtime + tools

Example

from qgis_sdk import action, menu, plugin
from qgis_sdk.ui import Button, Dialog, Form, LogView, Number, on


@menu("Plugins/Example")
class PingDialog(Dialog):
    title = "Ping"
    value = Number(integer=True, required=True)   # objectName form/value
    form = Form([value], action_id="ping")        # submits through ctx.actions
    ping = Button(text="Ping")                    # objectName buttons/ping
    answers = LogView(label="Answers")            # shows ctx.log as it arrives

    @on(ping).clicked
    def pinged(self) -> None:
        self.ctx.log.info("pong", value=self.form.submit())


@plugin(id="example", title="Example")
class Example:
    surfaces = (PingDialog,)

    @action(id="ping", title="Ping")
    def ping(self, value: int) -> int:
        return value

Documentation

  • Python package guide - declarations, the UI catalogue and the declared surface form, services, Processing, the bridge host side, release and migration notes.
  • TypeScript SDK and web components - the page side of a QWebEngineView interface.

License

MIT

Metadata

Release files for qgis-sdk-runtime 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for qgis-sdk-runtime 0.7.0
File Interpreter ABI Platform Actions
qgis_sdk_runtime-0.7.0-py3-none-any.whl Python 3 none any Details for qgis_sdk_runtime-0.7.0-py3-none-any.whl

Release files / qgis_sdk_runtime-0.7.0-py3-none-any.whl

Download URL qgis_sdk_runtime-0.7.0-py3-none-any.whl
Size 490.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe409110036859bd8eaf29b4ad46ba3fc0fd6d33c9d5aaac80932412fdd5145c
BLAKE2b-256 checksum
How to use checksums
963086acb0eef18bc0ab58feb6731a339f7c5a53f1251930f70acd8870001f15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for qgis-sdk-runtime 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

1 file in this release has been uploaded with provenance metadata.

Attestation for qgis_sdk_runtime-0.7.0-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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