From 95c2102e739d120c9bb6e2256ea770cc9a79c28a Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Mon, 30 Sep 2024 13:36:54 +0800 Subject: [PATCH 1/4] Add September 2024 status update. --- .../september-2024-status-update/contents.lr | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 content/news/buzz/september-2024-status-update/contents.lr diff --git a/content/news/buzz/september-2024-status-update/contents.lr b/content/news/buzz/september-2024-status-update/contents.lr new file mode 100644 index 0000000000..f34e268c9c --- /dev/null +++ b/content/news/buzz/september-2024-status-update/contents.lr @@ -0,0 +1,63 @@ +title: September 2024 Status Update +--- +author: Russell Keith-Magee +--- +body: + +In September, BeeWare hit an important milestone for Android support, made good progress on packaging for iOS, and landed some significant changes to Toga. + +What we've done +---------------- + +* Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buidlbots. The Android-related changes to documentation have also been merged; the `Python 3.13.0rc3 release `__ incorporates all these changes. + +* We complete the `updates to Mobile Forge to support the new official iOS wheel format `__, and published updated wheels in this format for the packages for which we have recipes. As part of these changes, we've also added CI checks to Mobile Forge. + +* We've `submitted a patch to support iOS in pip `__. This patch also requires some patches to `packaging `__ and `distlib `__ that pip includes as vendored copies. + +* We've `submitted a patch to crossenv `__ that allows cross-compiling Python packages for iOS. There is some additional work required before this patch can land - crossenv's testing framework is currently broken, so it's not currently possible to verify changes in CI. We'll be working on restoring this testing support in the very near future. + +* We attended the CPython core team summit. During this week-long sprint, we were able to resolve a number of open questions about Python support on mobile, and begin planning for work that will hopefully be incorporated into the Python 3.14 release. + +* We released `Toga 0.4.7 `__, incorporating fixes for a number of bugs discovered in the recent 0.4.6 release, as well as some minor feature additions. + +* We transitioned Toga's GTK backend to use `PyGObject's native asyncio support `__. This allowed us to deprecate `Gbulb `__, the GTK asyncio plugin that we've been maintaining for several years. + +* We corrected an issue with the `use of recent Textual versions in Toga `__, and `added a bare-bones runtime test `__ to ensure that the problem doesn't re-occur. This also required a fix for `macOS console app testing in Briefcase `__. + +* We made some `usability improvements to the rendering of Toga's documentation `__, and modified Toga's ReadTheDocs configuration to `encourage search engines to return the stable documentation by default `__. + +* We modified the handling of Toga's app icons on macOS to `improve compatibility with PyInstaller `__. + +* We corrected a number of issues with WebView handling, including `ensuring that DOM storage is always available `__, and `improving error handling when the WebView cannot be initialised on Windows `__. + +* We added protection against an edge case of asynchronous Task handling that could lead to the `premature garbage collection of long lived tasks `__. We've also had some discussions with the CPython core team about `fixing this problem in Python itself `__. + +* We spoke at `PyBay `__ on building mobile apps in Python. + +What's next? +-------------- + +In October, we will continuing working on binary package support for mobile platforms. In addition to responding to any review feedback on the patches we've already submitted, we'll be working on new patches for ``cibuildwheel`` and ``meson-python``, as well as tooling to make it easy for third-party libraries to run CPython test suites on mobile platforms. We should also be able finalise Briefcase's Python 3.13 support for Android, and start work on Android packaging. Supporting packaging for mobile platforms is a long term project which we expect to continue for several months; the hope is that by the end of the year, we will be able to contribute patches to third-party projects so that iOS and Android wheels become officially produced, rather than BeeWare maintained artefacts. + +Want to get involved? +----------------------- + +Want to get involved? Here are some open issues that would be a great place to get started with contributing to a BeeWare project. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users: + +1. `Update the Toga testbed test suite to use Pixel 7 Pro device sizes `__ +2. `Filter out a message generated after Xcode updates `__ +3. `Add the ability to configure the ABIs built by an Android project `__ +4. `Rationalise the application of adhoc signing on macOS `__ +5. `Add support for custom PyPI repositories `__ +6. `Document how to debug an application in popular IDEs `__ +7. `Add an option to select the Android base image when creating new emulators `__ +8. `Add an API to entirely replace the style of a widget `__ +9. `Correct the handling of quotation marks in Android apps `__ + +Pick one of these tickets, drop a comment on the ticket to let others know you're looking at it, and try your hand at a PR! We have a `guide on setting up a Briefcase development environment `__; but if you need any additional assistance or guidance, you can ask on the ticket, or join us on the `BeeWare Discord server `__. + +--- +mastodon_handle: @freakboy3742@cloudisland.nz +--- +pub_date: 2024-10-01 From dd7288d1c1b56c330d85663dfafbbbf40e384bc3 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 1 Oct 2024 06:13:35 +0800 Subject: [PATCH 2/4] Apply suggestions from review Co-authored-by: Malcolm Smith --- content/news/buzz/september-2024-status-update/contents.lr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/buzz/september-2024-status-update/contents.lr b/content/news/buzz/september-2024-status-update/contents.lr index f34e268c9c..8f55f4f9b5 100644 --- a/content/news/buzz/september-2024-status-update/contents.lr +++ b/content/news/buzz/september-2024-status-update/contents.lr @@ -11,7 +11,7 @@ What we've done * Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buidlbots. The Android-related changes to documentation have also been merged; the `Python 3.13.0rc3 release `__ incorporates all these changes. -* We complete the `updates to Mobile Forge to support the new official iOS wheel format `__, and published updated wheels in this format for the packages for which we have recipes. As part of these changes, we've also added CI checks to Mobile Forge. +* We completed the `updates to Mobile Forge to support the new official iOS wheel format `__, and published updated wheels in this format for the packages for which we have recipes. As part of these changes, we've also added CI checks to Mobile Forge. * We've `submitted a patch to support iOS in pip `__. This patch also requires some patches to `packaging `__ and `distlib `__ that pip includes as vendored copies. @@ -38,7 +38,7 @@ What we've done What's next? -------------- -In October, we will continuing working on binary package support for mobile platforms. In addition to responding to any review feedback on the patches we've already submitted, we'll be working on new patches for ``cibuildwheel`` and ``meson-python``, as well as tooling to make it easy for third-party libraries to run CPython test suites on mobile platforms. We should also be able finalise Briefcase's Python 3.13 support for Android, and start work on Android packaging. Supporting packaging for mobile platforms is a long term project which we expect to continue for several months; the hope is that by the end of the year, we will be able to contribute patches to third-party projects so that iOS and Android wheels become officially produced, rather than BeeWare maintained artefacts. +In October, we will continuing working on binary package support for mobile platforms. In addition to responding to any review feedback on the patches we've already submitted, we'll be working on new patches for ``cibuildwheel`` and ``meson-python``, as well as tooling to make it easy for third-party libraries to run CPython test suites on mobile platforms. We should also be able finalise Briefcase's Python 3.13 support for Android, and start work on Android packaging. Supporting packaging for mobile platforms is a long term project which we expect to continue for several months; the hope is that by the end of the year, we will be able to contribute patches to third-party projects so that iOS and Android wheels become officially produced, rather than BeeWare-maintained artefacts. Want to get involved? ----------------------- From 71e72a103dafd8583141daf5aafe0db2634bcc0f Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 1 Oct 2024 08:50:20 +0800 Subject: [PATCH 3/4] Remove explicit reference to rc3. --- content/news/buzz/september-2024-status-update/contents.lr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/buzz/september-2024-status-update/contents.lr b/content/news/buzz/september-2024-status-update/contents.lr index 8f55f4f9b5..6b347ddaa6 100644 --- a/content/news/buzz/september-2024-status-update/contents.lr +++ b/content/news/buzz/september-2024-status-update/contents.lr @@ -9,7 +9,7 @@ In September, BeeWare hit an important milestone for Android support, made good What we've done ---------------- -* Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buidlbots. The Android-related changes to documentation have also been merged; the `Python 3.13.0rc3 release `__ incorporates all these changes. +* Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buidlbots. The Android-related changes to documentation have also been merged; Python 3.13.0rc3 (due for release any day now) will incorporate all these changes. * We completed the `updates to Mobile Forge to support the new official iOS wheel format `__, and published updated wheels in this format for the packages for which we have recipes. As part of these changes, we've also added CI checks to Mobile Forge. @@ -38,7 +38,7 @@ What we've done What's next? -------------- -In October, we will continuing working on binary package support for mobile platforms. In addition to responding to any review feedback on the patches we've already submitted, we'll be working on new patches for ``cibuildwheel`` and ``meson-python``, as well as tooling to make it easy for third-party libraries to run CPython test suites on mobile platforms. We should also be able finalise Briefcase's Python 3.13 support for Android, and start work on Android packaging. Supporting packaging for mobile platforms is a long term project which we expect to continue for several months; the hope is that by the end of the year, we will be able to contribute patches to third-party projects so that iOS and Android wheels become officially produced, rather than BeeWare-maintained artefacts. +In October, we will continuing working on binary package support for mobile platforms. In addition to responding to any review feedback on the patches we've already submitted, we'll be working on new patches for ``cibuildwheel`` and ``meson-python``, as well as tooling to make it easy for third-party libraries to run CPython test suites on mobile platforms. We should also be able finalise Briefcase's Python 3.13 support for Android, and start work on Android packaging. Supporting packaging for mobile platforms is a long term project which we expect to continue for several months; the hope is that by the end of the year, we will be able to contribute patches to third-party projects so that iOS and Android wheels become officially produced, rather than BeeWare-maintained artefacts. Want to get involved? ----------------------- From daf297a9501b9e23a1ae17f33dd5fb90b48c8c7d Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 1 Oct 2024 08:53:16 +0800 Subject: [PATCH 4/4] Fix typo. --- content/news/buzz/september-2024-status-update/contents.lr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/buzz/september-2024-status-update/contents.lr b/content/news/buzz/september-2024-status-update/contents.lr index 6b347ddaa6..1679328888 100644 --- a/content/news/buzz/september-2024-status-update/contents.lr +++ b/content/news/buzz/september-2024-status-update/contents.lr @@ -9,7 +9,7 @@ In September, BeeWare hit an important milestone for Android support, made good What we've done ---------------- -* Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buidlbots. The Android-related changes to documentation have also been merged; Python 3.13.0rc3 (due for release any day now) will incorporate all these changes. +* Android is `now officially a Tier 3 platform in CPython `__! Over the last month, we've resolved a number of bugs that were preventing us from deploying a reliable buildbot for Android (on both x86_64 and ARM64); as a result, the CPython buildbot fleet now contains Android buildbots. The Android-related changes to documentation have also been merged; Python 3.13.0rc3 (due for release any day now) will incorporate all these changes. * We completed the `updates to Mobile Forge to support the new official iOS wheel format `__, and published updated wheels in this format for the packages for which we have recipes. As part of these changes, we've also added CI checks to Mobile Forge.