slint-ui/slint · warning

Ignoring slint-dev {dev_version}: it does not match slint {o

Error message

Ignoring slint-dev {dev_version}: it does not match slint {own_version}. Install slint-dev=={own_version} to enable the development binary with system-testing and MCP support.

What it means

The Python slint loader only imports the development binary (slint_dev_native, providing system-testing and MCP support) when the installed slint-dev version exactly equals the installed slint version, because the native binary is paired with the Python glue of that exact release. On mismatch it warns 'Ignoring slint-dev <dev_version>: it does not match slint <own_version> ...' and uses the bundled lean release binary instead, so dev features stay off even though SLINT_TEST_SERVER/SLINT_MCP_PORT is set.

Source

Thrown at api/python/slint/slint/_native.py:49

from types import ModuleType
from typing import TYPE_CHECKING


def _dev_requested() -> bool:
    return bool(os.environ.get("SLINT_TEST_SERVER") or os.environ.get("SLINT_MCP_PORT"))


def _load_native() -> ModuleType:
    if _dev_requested():
        try:
            dev_version = importlib.metadata.version("slint-dev")
        except importlib.metadata.PackageNotFoundError:
            dev_version = None

        if dev_version is not None:
            own_version = importlib.metadata.version("slint")
            if dev_version != own_version:
                warnings.warn(
                    f"Ignoring slint-dev {dev_version}: it does not match slint "
                    f"{own_version}. Install slint-dev=={own_version} to enable the "
                    "development binary with system-testing and MCP support.",
                    stacklevel=2,
                )
            else:
                try:
                    return importlib.import_module("slint_dev_native")
                except ImportError as error:
                    # Installed, but its native binary is unavailable on this
                    # platform. Fall back to the lean release binary.
                    warnings.warn(
                        f"Could not load the slint-dev development binary: {error}",
                        stacklevel=2,
                    )

    from . import slint as native

View on GitHub (pinned to 3fd8f2ec03)

Solutions

  1. Align both packages on the exact same version: pip install slint==X.Y.Z slint-dev==X.Y.Z.
  2. Verify afterwards: pip show slint slint-dev shows identical Version lines.
  3. Keep the pair pinned together in requirements.txt/lockfile so they upgrade as a unit.
  4. If dev features are not needed for that run, unset SLINT_TEST_SERVER/SLINT_MCP_PORT to run the lean binary deliberately.

Example fix

# before: slint 1.12.0 + slint-dev 1.11.0 -> warning, dev binary ignored
pip show slint slint-dev

# after: exact same version on both
pip install slint==1.12.0 slint-dev==1.12.0
Defensive patterns

Strategy: validation

Validate before calling

import importlib.metadata as md

def slint_versions_aligned() -> bool:
    try:
        return md.version("slint-dev") == md.version("slint")
    except md.PackageNotFoundError:
        return False

assert slint_versions_aligned(), \
    "pip install slint-dev==<slint version> to enable the dev binary"

Prevention

When it happens

Trigger: Running with SLINT_TEST_SERVER or SLINT_MCP_PORT set while pip show slint and pip show slint-dev report different versions (one package was upgraded without the other, or they were installed from different releases/sources).

Common situations: pip install -U slint leaving slint-dev behind; CI caches refreshing only one of the two wheels; installing slint-dev from a branch against a released slint; mismatched lockfile entries.

Related errors


AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19). Data as JSON: /api/errors/7f0afb4a0c9d8988. Report an issue: GitHub.