Bump version in:
pubspec.yamlsrc/serious_python_android/android/build.gradlesrc/serious_python_darwin/ios/serious_python_darwin.podspec
Bump serious_python dependency version with flutter pub get in example lock files:
src/serious_python/example/flask_example/pubspec.locksrc/serious_python/example/run_example/pubspec.locksrc/serious_python/example/bridge_example/pubspec.lock
Update CHANGELOG.md.
The supported Python versions, their CPython / Pyodide / dart_bridge details, and
which versions get built are all defined in a single source of truth: the
manifest.json in flet-dev/python-build,
published as an asset on each date-keyed (YYYYMMDD) release.
serious_python pins one release date (pythonReleaseDate) and commits generated
snapshots of that manifest — never hand-edit these:
src/serious_python/lib/src/python_versions.dart— read by the CLI commandspython_versions.propertiesin each platform package — read by the Android / Darwin / Linux / Windows build configs
To add or bump a Python / Pyodide / dart_bridge version:
-
Edit
manifest.jsonin python-build and cut a new release (run the Build Python Packages workflow with aYYYYMMDDrelease_date). -
Regenerate the snapshots from the new release:
cd src/serious_python dart run serious_python:gen_version_tables --release-date <YYYYMMDD>(Omit
--release-dateto re-fetch the currently pinned release.) -
Commit the regenerated
python_versions.dartandpython_versions.propertiesfiles. CI's Version tables in sync with manifest job fails if they drift.
Token locations on different OSes: https://stackoverflow.com/a/70487480/1435891
Login to pub.dev:
flutter pub login
Encode token to base64:
cat $HOME/Library/Application\ Support/dart/pub-credentials.json | base64