Skip to content

0.5.0 migration notes

0.5.0 splits the one qgis-sdk wheel into three distributions (decision-35 step 2, un-gated by decision-36), adds the reference workflow (qgis_sdk.exports, Layers.export_vector, the reference/polygon-output style, examples/simple), the support matrix and qgis-sdk targets (decision-37), and dev --exercise’s smoke report. The bridge is unchanged: @archont561/qgis-sdk stays 0.3.0 and was qualified inside a real QWebEngineView against this release (doc-14).

Who installs what.

You are Install You get
a plugin developer pip install qgis-sdk (unchanged) the qgis-sdk command plus the runtime it was tested with, pinned exactly (qgis-sdk-runtime==X, qgis-sdk-tools==X)
a QGIS console user who wants the typed services without the tooling pip install qgis-sdk-runtime into QGIS’s interpreter import qgis_sdk, no Typer, no pytest, nothing else
a plugin nothing qgis-sdk build vendors the runtime under <plugin>/_vendor; the ZIP does not depend on any installed distribution
a CI job that only runs the tools pip install qgis-sdk-tools the command and whichever runtime its range admits (>=X,<X+0.1)
  • Import names are unchanged. qgis_sdk comes from qgis-sdk-runtime, qgis_sdk_tools from qgis-sdk-tools; the kit has no code. No two wheels write the same top-level directory, so the three coexist in one environment and pip check is clean.
  • Historical extra. The controlled-deployment extra shipped in 0.5.0; it is retired in the next Python minor release (see above).
  • Versions. Until the contract freeze the three release together under the python scope at one version (python-vX publishes three wheels and three Conda outputs); runtime-vX and tools-vX tags exist for a release of one distribution alone. The tools declare the runtime range they were tested with; qgis-sdk check reports a project pin outside it (VERSION001) and a generated client from another contract version (VERSION002). The contract constants stay 1.
  • Source checkouts. The trees moved to packages/qgis-sdk-runtime/src and packages/qgis-sdk-tools/src; packages/qgis-sdk-python keeps the shared tests, scripts and the recipe. pip install -e the runtime and the tools before the kit’s dev extra (the pins resolve against the editables).
  • PyPI placeholders. qgis-sdk-runtime and qgis-sdk-tools existed at 0.0.0 before 0.5.0, as name reservations with no code; do not pin 0.0.0. 0.5.0 is their first real publish.