In July, BeeWare hit some more major milestones in our work on mobile packaging - but we also found time to make some improvements to other parts of BeeWare.
What we've done
- We attended EuroPython, where we gave a tutorial and a talk, attended the WebAssembly summit, and ran a sprint - at which we gave out 25 BeeWare challenge coins to first-time contributors.
- cibuildwheel 3.1 has been released - which includes support for building Android wheels! As a result, we've been able to submit a pull request for lru-dict; we're expecting to submit Android support PRs for other projects in the coming months.
- We started the process of adding Android builds to CPython's CI. This also means we're in a position to generate Android release artefacts as part of the release process - possibly as soon as Python 3.14.
- The Emscripten buildbot is now passing all tests! This formally restores Emscripten to the Tier-3 support level.
- Pillow 11.3.0 has been released, including official iOS wheels.
- We submited a pull request to add iOS support for NumPy. This PR is waiting on a release of
meson-python
before it can be submitted for review, but it is passing the NumPy test suite. - Briefcase has been updated to use WiX 5.0. This enabled us to resolve a number of issues related to MSI support, including resolving an issue with long file names in packaged content.
- We added support for port forwarding when running Android apps. This will be used as part of adding debugger support to Briefcase.
- We added a new topic guide on publishing apps to the macOS App Store.
- We improved a number of error messages generated by Briefcase, providing more guidance on how to run an iOS app on a device, problems that can be caused by virus scanners, and how to resolve inconsistent file content in macOS wheels.
- We reviewed our contribution guides for Briefcase and Toga to remove inconsistencies in the contribution experience.
- We added a DateInput widget to Toga's GTK backend.
- We completed a review of Toga's example code to ensure that they all run without warnings, and use the current preferred syntax for describing styles.
- We corrected the naming of the wheel for Toga's Winforms backend to reflect that it contains a platform-specific binary.
- We added a shorthand property for defining all the features of a widget's font in one declaration.
- We simplified Toga's color representations to be better aligned with CSS color interpretations.
- We refactored Toga's font handling so that font loading logic (and, in particular, error handling) is consistent across platforms.
What's next?
With cibuildwheel now supporting both iOS and Android, our work on binary packaging can now shift fully to the upstream projects that will use cibuildwheel to produce wheels. Over the coming months, we expect to submit PRs to more upstream projects; we're also planning to look at packaging that doesn't use cibuildwheel (such as Rust-based packages that use Maturin for packaging). We're also going to start documenting what we've learned about binary packaging for iOS and Android, so that the wider community can start contributing iOS and Android recipes.
We're also going to continue the process of integrating the production of iOS and Android binary artefacts into Python's CI and release processes. We've already begun this process for Android; iOS requires a little more preparatory work, which will be a major area of focus in August.
Lastly, we're planning to look at adding post-install scripts to Briefcase installers. We'll be focussing on Windows installers initially; but the intention is that any changes we implement could also be implemented on macOS or Linux.
Want to get involved?
Want to get involved? We curate issues that should be approachable for first-time contributors to BeeWare. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users:
- If you're interested in the tooling for deploying applications to various platforms, take a look at Briefcase
- Or, if you're interested in GUI widgets, take a look at Toga
These lists can also be filtered by platform - so you can find issues that are specific to your preferred operating system. 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.
- Previous entry
- 2025Q3 Roadmap