Skip to content

Compatibility

Supported versions

polars 1.44.1 and newer 1.44.x, Python 3.10+.

The observer hook does not exist before 1.44.0, and 1.44.0's runtime is yanked, so 1.44.1 is the floor.

polars is declared with a floor and no upper pin, so a newer polars never causes a resolver conflict.

On an unknown polars

install() runs a capability probe: a trivial monitored query whose payloads are checked against the known contract. It costs milliseconds and runs once.

Probe result Behaviour
Everything as expected Full instrumentation
Plan or metrics payloads off-contract Query spans only, with a warning
Callbacks never fire Not installed, with a warning; install() returns None
No monitoring API at all Not installed, with a warning

Your queries keep working in every case.

state = polars_telemetry.install()
if state is None:
    ...  # this polars cannot be instrumented at all
else:
    print(state.capabilities.polars_version, state.capabilities.node_metrics_usable)

Breaking changes

A nightly CI job installs the newest polars — pre-releases included — and runs the live contract test against it, opening an issue on failure. The intent is to learn about a breaking change while it is still a release candidate.

Everything rests on a private arrangement between two first-party packages. If polars removes or changes it, the probe degrades or declines, and the package keeps your queries running while emitting less — or nothing.