Skip to content

python-v0.7.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 20:22
· 156 commits to main since this release
e9b2ce8

qgis-sdk 0.7.0

The UI toolkit minor: parameter kinds, the curated input components, forms
as plain classes, standard Desktop surfaces with wiring and feedback, and
any registered Processing algorithm from Python or a page. Released as a
triple with @archont561/qgis-sdk 0.5.0 (ts-v0.5.0) and the first
@archont561/qgis-sdk-ui 0.1.0 (ui-v0.1.0), both on this same commit.
Breaking changes on the 0.x line; the doc-12 0.7.0 migration notes name
every removed or renamed symbol.

Breaking changes

  • qgis_sdk.adapters.qgis.ui is gone: NativeForms and
    DeclaredFormDialog are replaced by Form.for_action(ctx, id) inside a
    Dialog/Dock, Button and Column (403df68)
  • a Literal[...] of strings is the enum kind for algorithms (it was
    refused in 0.6); declared inputs with a marker carry x-qgis-sdk in
    their schema, so a generated bridge.schema.ts must be regenerated
    (decision-46, 34766b0)
  • FileRef moved to qgis_sdk.models and gained kind = "directory";
    the host contract's HOST_FINGERPRINT moved (schema and protocol
    versions stay at 1)

Features

  • six parameter kinds join LayerInput/CrsInput/Metres: FileInput,
    DirectoryInput, FieldInput, Range, Colour and Literal choices
    (decision-46, 34766b0)
  • the input catalogue: eleven components, Component, Option,
    coerce_value; ctx.files and UiContext.files/layers/project
    (581dcdb)
  • Form, Button, Column; Form accepts declared inputs directly
    (403df68, 828b7ca)
  • @on/@subscribe wiring, wire_surface, behaviour mixins, containers
    Panel/Group/Tabs/Row, feedback JobProgress/LogView/
    ResultTable, RunButton/AcceptCancel, Custom, ctx.log, Designer
    files through load_ui, ui_snapshot (c053bf7, 316a6ea)
  • the declarative surface form: components as class attributes, optional
    names, Surface.build() returning the declared tree (decision-55
    amendment, 0774928)
  • UI wrappers and the palette; qgis-sdk new --ui writes the declared
    starter and opts a page into qgis-sdk-ui; UI001-UI005 in check
    (25551d1, c79dc80, eddddbc)
  • the Processing catalogue and ctx.algorithms.run for any registered
    algorithm, from Python and over the bridge (decision-64, f323d57,
    637f1bf, 387caa1)
  • release.py learns the ui scope; the documentation site renders the
    guides and the Storybook (c1a73c8, 496b94c)

Fixes

  • verify-versions reads the example's window on release segments, so an
    -rc.N of the Python scope passes the stamp (c431216)

Qualified on Linux x86-64 with QGIS 4.2.3 / Qt 6.11.2 / CPython 3.14.8 in
the locked Pixi environment and CPython 3.11.2 for the clean install; the
0.7.0 release gate and the three rc rehearsals are recorded in doc-14.
Experimental 0.x: nothing is promised stable before 1.0.0.