PackageTrack
Sign in Get early access

serious_python_windows

Windows implementations of the serious_python plugin

4.5.1 23K downloads/mo #2078 most downloaded on pub.dev flet-dev/serious-python

What this package is like to depend on

Last release 24 days ago

31 Jul 2026

Release timing varies

gaps range from 9 days to 2 months

Nearly every release is documented

notes for 49 of 49 stable releases

1 version withdrawn

withdrawn after publishing

3 years old

50 releases · first in 2023

31 releases in the last 12 months

see the full history below

Release timeline

50 releases · Nov 2023 to Jul 2026
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 50
  1. 4.5.1 31 Jul 2026
    Release notes

    What's Changed

    Full Changelog: v4.5.0...v4.5.1

    Open source →
    Release notes
    • Re-pins the bundled python-build snapshot to 20260730 and dart_bridge to 1.7.1. Both exist to sign the Apple XCFrameworks on both layers (see serious_python_darwin 4.5.1); no Python version moved from 20260729 (3.12.13 / 3.13.14 / 3.14.6), and nothing about Windows changed.
    Open source →
  2. 4.5.0 29 Jul 2026
    Release notes

    What's Changed

    • Bump to 4.5.0: preserve provider XCFramework signatures through staging by @FeodorFitsner in #244

    Full Changelog: v4.4.2...v4.5.0

    Open source →
    Release notes
    • Re-pins the bundled python-build snapshot to 20260729 and dart_bridge to 1.7.0. Both exist to provider-sign the Apple XCFrameworks (see serious_python_darwin 4.5.0); no Python version moved from 20260727 (3.12.13 / 3.13.14 / 3.14.6). dart_bridge.dll is rebuilt rather than byte-identical — MSVC stamps a build timestamp and PDB GUID into every DLL — but no Windows source changed between 1.6.1 and 1.7.0.
    Open source →
  3. 4.4.2 27 Jul 2026
    Release notes

    What's Changed

    • Bump to 4.4.2: Xcode build-provenance keys in iOS framework Info.plists by @FeodorFitsner in #242

    Full Changelog: v4.4.1...v4.4.2

    Open source →
    Release notes
    • Re-pins the bundled python-build snapshot to 20260727. Its only functional change is to the iOS frameworks' Info.plist (see serious_python_darwin 4.4.2); no versions moved and the Windows runtime is unchanged from 20260726.
    Open source →
  4. 4.4.1 26 Jul 2026
    Release notes

    What's Changed

    Full Changelog: v4.4.0...v4.4.1

    Open source →
    Release notes
    • Re-pins the bundled python-build snapshot to 20260726. Its only functional change is an iOS privacy-manifest fix (see serious_python_darwin 4.4.1); no versions moved and the Windows runtime is unchanged from 20260725.
    Open source →
  5. 4.4.0 25 Jul 2026
    Release notes

    What's Changed

    • Bump to 4.4.0: dart_bridge as a dynamic framework on Apple platforms by @FeodorFitsner in #240

    Full Changelog: v4.3.6...v4.4.0

    Open source →
    Release notes
    • Re-pins the bundled python-build snapshot to 20260725 (dart_bridge 1.5.1 → 1.6.1). 1.6.1 is an Apple-only packaging change (see serious_python_darwin 4.4.0); the Windows runtime is byte-identical to 20260720.
    Open source →
  6. 4.3.6 20 Jul 2026
    Release notes

    What's Changed

    • Bump to 4.3.6: Windows UTF-8 startup fix (dart_bridge 1.5.1, python-build 20260720) by @FeodorFitsner in #238
    • fix(android): make PEP 734 subinterpreters work (concurrent.interpreters / InterpreterPoolExecutor) by @ndonkoHenri in #239

    Full Changelog: v4.3.4...v4.3.6

    Open source →
    Release notes
    • Fix Windows startup when app paths or environment values contain non-ASCII characters. Dart FFI strings arrive as UTF-8, but the Windows boundary passed them straight to the ANSI CRT (_putenv_s, fopen), corrupting paths/env values through the process code page. The runtime now converts UTF-8 → UTF-16 and uses the wide CRT APIs (_wputenv_s, _wfopen_s), enables Python UTF-8 mode before Py_Initialize(), sets PYTHONUTF8=1 for multiprocessing helpers, and treats embedded env-setup failures as fatal. Delivered via dart_bridge 1.5.1 (bundled python-build snapshot re-pinned to 20260720). (flet-dev/flet#6641)
    Open source →
  7. 4.3.5 20 Jul 2026 withdrawn

    Nothing published for this version

  8. 4.3.4 19 Jul 2026
    Release notes

    What's Changed

    Full Changelog: v4.3.3...v4.3.4

    Open source →
    Release notes
    • Fix ModuleNotFoundError: No module named '_pyrepl' on Python 3.14. _pyrepl was pruned from the bundled Windows stdlib as a dev-only / interactive-REPL module, but CPython 3.14's pydoc (and pdb) import it at module load — so any app importing pydoc/pdb/pytest, or a dependency that does (e.g. NLTK → pydoc), crashed at startup. _pyrepl is no longer pruned. Re-pins the bundled python-build snapshot to 20260719 (previously 20260714). (flet-dev/serious-python#236)
    Open source →
  9. 4.3.3 16 Jul 2026
    Release notes

    What's Changed

    Full Changelog: v4.3.2...v4.3.3

    Open source →
    Release notes
    • Fix flet build windows failing on non-UTF-8 system locales with warning C4819 escalated to error C2220 while compiling serious_python_windows_plugin.cpp (flet-dev/flet#6686). A source comment contained a non-ASCII character (an em dash); on a system whose code page isn't UTF-8 — e.g. code page 936/GBK on Simplified-Chinese Windows — MSVC decodes the UTF-8 source as GBK, can't represent the byte sequence (C4819), and the Flutter template's /WX (warnings-as-errors) turns it into a fatal C2220. The character is removed, and the plugin now compiles with /utf-8 so any future non-ASCII source byte is read correctly regardless of the build machine's code page. Bundled Python and dart_bridge versions are unchanged from 4.3.2.
    Open source →
  10. 4.3.2 14 Jul 2026
    Release notes

    What's Changed

    • Bump to 4.3.2: python-build 20260712 (Android mimalloc seccomp crash, mobile _pyrepl restored) by @FeodorFitsner in #230
    • Mobile packaging fixes: iOS interdependent-dylib frameworks + Android native-init packages by @ndonkoHenri in #232
    • Re-pin python-build to 20260714: iOS _posixshmem restored (multiprocessing imports) by @FeodorFitsner in #233

    Full Changelog: v4.3.1...v4.3.2

    Open source →
    Release notes
    • Bump the bundled python-build snapshot to 20260714; aligns with the serious_python_* 4.3.2 release. The release contains only Android/iOS runtime fixes — no Windows-affecting changes.
    Open source →
  11. 4.3.1 10 Jul 2026
    Release notes
    • Version bump aligning with the serious_python_* 4.3.1 release.
    Open source →
  12. 4.3.0 09 Jul 2026
    Release notes
    • Bump dart_bridge to 1.5.0 (python-build snapshot 20260708): multiprocessing child-interception exports, including the Windows wide-char variants serious_python_is_mp_invocation_w / serious_python_main_w (→ Py_Main) consumed by the flet build template's wWinMain. See the serious_python 4.3.0 notes.
    • PYTHONINSPECT=1 is no longer set by any platform implementation. It had no effect on the embedded interpreter, but it leaked into the process environment where any real interpreter child (e.g. a serviced multiprocessing worker) would inherit it and hang in interactive mode after its command completed.
    • Fix flet build windows failing with file INSTALL cannot find "C:/WINDOWS/System32/vcruntime140_1.dll" for users who have VS Build Tools installed rather than full Visual Studio. The plugin harvests the CRT runtime DLLs (msvcp140.dll / vcruntime140.dll / vcruntime140_1.dll) from %WINDIR%\System32, but Flutter drives the CMake install step with the 32-bit cmake.exe bundled in VS Build Tools. Under WOW64 file-system redirection that process sees System32 transparently rewritten to SysWOW64, which holds the x86 CRT and doesn't contain vcruntime140_1.dll at all — so the x64 build copied wrong-arch DLLs and then failed. The CRT directory is now resolved via the Sysnative pseudo-folder (visible only to 32-bit processes, mapping back to the real 64-bit System32) when present, falling back to System32 for native 64-bit cmake. See flet-dev/flet#6436.
    Open source →
  13. 4.2.1 02 Jul 2026
    Release notes
    • Bump the bundled python-build snapshot to 20260701; aligns with the serious_python_* 4.2.1 release. The Windows runtimes are byte-identical to 20260630 (the release only rebuilds the iOS runtime).
    Open source →
  14. 4.2.0 01 Jul 2026
    Release notes
    • Bump the bundled python-build snapshot to 20260630 (dart_bridge 1.4.1); aligns with the serious_python_* 4.2.0 release.
    Open source →
  15. 4.1.1 29 Jun 2026
    Release notes
    • Version bump aligning with the serious_python_* 4.1.1 release.
    Open source →
  16. 4.1.0 25 Jun 2026
    Release notes
    • Version bump aligning with the serious_python_* 4.1.0 release.
    Open source →
  17. 4.0.0 22 Jun 2026
    Release notes
    • prepareApp() returns <exeDir>/app; the app's Python sources ship unpacked next to the bundled CPython Lib/DLLs/site-packages (no first-launch extraction). The CMakeLists copies SERIOUS_PYTHON_APP into the runner output.
    • Version bump aligning with the serious_python_* 4.0.0 release.
    Open source →
  18. 3.0.0 18 Jun 2026
    Release notes
    • In-process Python (dart_bridge FFI). The Python lifecycle is absorbed into dart_bridge.dll / dart_bridge.pyd (from flet-dev/dart-bridge 1.4.0) instead of a socket transport; both Release and Debug dart_bridge.pyd ship so 3.13/3.14 Debug builds resolve too.
    • Breaking change: requires Flutter 3.44.2.
    • CMakeLists.txt resolves the Python version from the generated python_versions.properties (a snapshot of python-build's manifest.json): SERIOUS_PYTHON_VERSION selects the version; the full version and build date derive from the table, with SERIOUS_PYTHON_FULL_VERSION / SERIOUS_PYTHON_BUILD_DATE left as escape hatches. Downloads continue to use python-build's date-keyed release scheme.
    • Remove the scaffold getPlatformVersion method.
    Open source →
  19. 2.0.0 07 Jun 2026
    Release notes
    • Breaking change: default bundled Python version is now 3.14 (was 3.12). The plugin downloads python-windows-for-dart-3.14.zip and bundles python314.dll / python314.lib unless SERIOUS_PYTHON_VERSION=3.12 is set in the build environment.
    • Multi-version Python support. PYTHON_VERSION in windows/CMakeLists.txt reads from SERIOUS_PYTHON_VERSION; the python-build download URL and the python312.lib / python312.dll filenames are derived from it (e.g. python313.lib, python314.dll).
    Open source →
  20. 1.0.1 06 Jun 2026
    Release notes

    Improvements

    • Cache downloaded Python distribution tarballs (python-android-dart-<py>-<abi>.tar.gz) across builds. The downloadDistArchive_* Gradle tasks now write to a persistent cache directory — $FLET_CACHE_DIR/python-build/v<python_version>/ if the env var is set, otherwise ~/.flet/cache/python-build/v<python_version>/ — and use onlyIfModified true + useETag "all" so subsequent builds issue a conditional GET (If-None-Match / If-Modified-Since) against objects.githubusercontent.com instead of re-downloading 30–100 MB per ABI per build. When the upstream release republishes a tarball at the same URL (e.g. a Python patch update under the existing v<py> release), the validators flip and the cache refreshes automatically; otherwise the build skips the download entirely. tempAndMove true guards against partial downloads being kept in the cache (flet-dev/flet#6555, #208) by @FeodorFitsner.

    Bug fixes

    • Set PIP_REQUIRE_VIRTUALENV=false for pip install in the package command so packaging works in environments where users have globally exported PIP_REQUIRE_VIRTUALENV=true (#202, #204) by @FeodorFitsner.
    Open source →
  21. 1.0.0 12 May 2026
    Release notes
    • Breaking change: --platform argument value Pyodide has been renamed to Emscripten to match what platform.system() returns in the Pyodide runtime, so PEP 508 markers like platform_system != 'Emscripten' work consistently.
    Open source →
  22. 0.9.12 03 May 2026
    Release notes
    • Fix web packaging to skip site-packages when appropriate (#199).
    Open source →
  23. 0.9.11 01 Mar 2026
    Release notes
    • Disable user-site packages in pip environment (#195).
    Open source →
  24. 0.9.10 21 Feb 2026
    Release notes
    • Android: Add debug logs and deduplicate FFI imports.
    • Android: Invalidate extracted assets when version keys change.
    Open source →
  25. 0.9.9 31 Jan 2026
    Release notes
    • Add zipDirectoryPosix to create POSIX-compliant app archives on Windows.
    • Enforce C++20 standard for serious_python plugin build.
    • Fix: Normalize WINDIR path for bundled DLLs in CMake.
    • Fix Logcat logging crash on some Android devices.
    Open source →
  26. 0.9.8 22 Dec 2025
    Release notes
    • Fix logging on Android.
    Open source →
  27. 0.9.7 18 Dec 2025
    Release notes
    • Fix app restart on Android 10.
    • Redirect Python output to logcat.
    Open source →
  28. 0.9.6 02 Dec 2025
    Release notes
    • Make zipDirectory call asynchronous.
    Open source →
  29. 0.9.5 01 Dec 2025
    Release notes
    • Bump archive to ^4.0.7.
    • Fixed iOS framework identifier generation.
    Open source →
  30. 0.9.4 21 Oct 2025
    Release notes
    • 16 KB memory page support for Android 15+ (by @ReYaNOW).
    Open source →
  31. 0.9.3 19 Oct 2025
    Release notes
    • Fix: Hidden files in site-packages are skipped when building macOS app.
    • Fix: Do not delete package metadata in .dist-info directories (#164).
    Open source →
  32. 0.9.2 11 Mar 2025
    Release notes
    • Breaking change: multiple --requirements options of package command must be passed as --requirements DEP_1 --requirements DEP_2 ... (or -r DEP_1 -r DEP_2 ...) instead of -r DEP_1,DEP_2,... to support dependency specifications with commas, e.g. pandas>=2.2,<3.
    • Fix site-packages packaging for Pyodide platform.
    Open source →
  33. 0.9.1 05 Mar 2025
    Release notes
    • Fix serious_python to work on macOS 12 Monterey and built with Xcode 14.
    Open source →
  34. 0.9.0 20 Feb 2025
    Release notes
    • Set MinimumOSVersion to 13.0 for generated Python frameworks.
    • iOS and macOS packaging: Python system libraries are put into python.bundle to pass App Store verification.
    • On macOS, Windows, and Linux, application site packages are copied in an unpacked state to the application bundle to speed up the first launch.
    • Pyodide 0.27.2
    • Python 3.12.9
    • Packaging --cleanup option replaced with two separate --cleanup-app and --cleanup-packages options.
    • New packaging options --cleanup-app-files and --cleanup-package-files to specify a list of globs to exclude files and directories from app and site packages.
    • New packaging --skip-site-packages option to skip site packages installation for faster re-builds.
    • Packaging --arch option accepts a list now.
    Open source →
  35. 0.8.7 07 Jan 2025
    Release notes
    • Fixed: xcframeworks migration script didn't work for sub-directories.
    Open source →
  36. 0.8.6 06 Jan 2025
    Release notes
    • Added com.flet.serious_python_android.PythonActivity holder class with mActivity holding a reference to an app MainActivity. Needed for plyer.
    • Android plugin sets MAIN_ACTIVITY_HOST_CLASS_NAME environment variable with the name of activity holder class name (com.flet.serious_python_android.PythonActivity).
    • Android plugin sets MAIN_ACTIVITY_CLASS_NAME environment variable with a class name of an app MainActivity.
    • Android plugin sets ANDROID_NATIVE_LIBRARY_DIR environment variable with the path to a directory containing app .so libraries. Needed for patching ctypes.find_library.
    • Changed behavior of SERIOUS_PYTHON_ALLOW_SOURCE_DISTRIBUTIONS environment variable that should contain a comma-separated list of packages to allow installation from source distribution.
    • Fixed: iOS site-packages to xcframeworks migration script supports both library.so and library.{something}.so.
    Open source →
  37. 0.8.5 01 Jan 2025
    Release notes
    • Added Java loadLibrary to Android plugin to support pyjnius (#128).
    Open source →
  38. 0.8.4 05 Dec 2024
    Release notes
    • Copy site-packages/flutter contents to SERIOUS_PYTHON_FLUTTER_PACKAGES.
    • Added SERIOUS_PYTHON_ALLOW_SOURCE_DISTRIBUTIONS variable to allow pip installing from source distributions.
    Open source →
  39. 0.8.3 03 Dec 2024
    Release notes
    • Remove PYTHONOPTIMIZE=2 to make CFFI work.
    Open source →
  40. 0.8.2 28 Oct 2024
    Release notes
    • Copy .so libraries from {site-packages}/opt to jniLibs.
    Open source →
  41. 0.8.1 15 Oct 2024
    Release notes
    • Remove --only-binary when packaging for desktop platforms (#112)
    • Fixed: only pass string args ('script') if they are not null. (#77)
    • Fixed: script set as empty string to fix windows build error (#83)
    Open source →
  42. 0.8.0 08 Oct 2024
    Release notes
    • New packaging, not based on Kivy and with pre-built binary packages.
    Open source →
  43. 0.7.1 21 Jun 2024
    Release notes
    • Added namespace definition to Android Gradle build.
    • Bump dependencies.
    Open source →
  44. 0.7.0 15 Jan 2024
    Release notes
    • runPython() method to support running Python script.
    • Updated flet_example to catch program output and errors, sys.exit() support.
    • package command to read dependencies from pyproject.toml.
    Open source →
  45. 0.6.1 21 Dec 2023
    Release notes
    • --exclude option for package command - to exclude directories and files from Python app package.
    • Re-create temp Python distributive directory on every run of package command.
    Open source →
  46. 0.6.0 13 Dec 2023
    Release notes
    • --verbose flag - verbose output.
    • --mobile flag - (removes .so) from app dest archive.
    • --web flag for packaging for pyodide.
    • --find-links option for installing pip dependencies from alternative sources (indexes).
    • --dep-mappings for rewriting flet dependency to either flet-embed or flet-pyodide.
    • --req-deps for adding required dependencies like flet-embed or flet-pyodide.
    • --platform option for use with sitecustomize.py to tweak pip to pull platform-specific packages.
    • More structured regular output.
    • Bump deps versions.
    Open source →
  47. 0.5.1 25 Nov 2023
    Release notes
    • Simplified Python initialization on Android.
    Open source →
  48. 0.5.0 24 Nov 2023
    Release notes
    • Python 3.11.6.
    Open source →
  49. 0.4.1 02 Nov 2023
    Release notes
    • Bumping version after fixing pubspec.yaml.
    Open source →
  50. 0.4.0 02 Nov 2023
    Release notes
    • Initial release of serious_python_windows package.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive