Skip to main content

flet.version.pyodide_version and PYODIDE_VERSION removed

note

This guide is accurate as of Flet 0.86.0. Later releases might add new APIs or additional migration paths.

The breaking changes and deprecations index lists the guides created for each release.

Summary

Flet 0.86.0 removed the module-level flet.version.pyodide_version attribute and the matching PYODIDE_VERSION constant. The single fixed-string export no longer makes sense now that Pyodide is selected per build as part of the multi-version bundled Python support — the bundled release depends on which Python version your app pins, not a global default.

Background

Earlier Flet releases used a single Pyodide pin in flet.version to drive the flet --version output and let tooling read which Pyodide release flet build web would bundle. With multi-version Python support the mapping is now Python-version-aware (3.12 → 0.27.7, 3.13 → 0.29.4, 3.14 → 314.0.0). It is loaded on demand from python-build's date-keyed manifest.json — the single source of truth shared with serious_python — via flet_cli/utils/python_versions.py, so it is no longer hand-maintained.

Migration guide

If you imported the constant somewhere — typically from flet.version — switch to looking the release up from the new registry.

Code before migration:

import flet.version

print(f"Bundled Pyodide: {flet.version.pyodide_version}")

Code after migration:

from flet_cli.utils.python_versions import get_supported_python_versions

for release in get_supported_python_versions():
print(f" {release.short} → Pyodide {release.pyodide}")

If you only need the version that flet build is about to bundle, resolve the Python release the same way the CLI does:

from flet_cli.utils.python_versions import (
get_default_python_version,
get_release,
)

release = get_release(get_default_python_version())
print(f"Default Pyodide: {release.pyodide}")

Timeline

  • Removed in: 0.86.0

References