November has been a busy month, seeing improvements in documentation, a number of improvements to Briefcase, Linux support in Toga, and the first iOS binary wheels written in Rust!
What we've done
- We made multiple contributions to Maturin and PyO3, including a fix for iOS wheel naming strategies, adding support for iOS cross-platform virtual environments, improving the mechanism by which the build interpreter is detected when building ABI3 wheels, and ensuring
libpythonis linked into iOS binary wheels. As a result, we've been able to publish Rust-based iOS wheels for Cryptography to the BeeWare package repository. Once the changes to Maturin and PyO3 have been formally released, we'll be able to submit PRs adding official iOS builds to Cryptography. - We completed a large refactor of BeeWare's documentation. The BeeWare website now has a clear "Documentation" heading, and all of BeeWare's main projects serve their documentation from
beeware.orgsubdomains. - We expanded the BeeWare tutorial to include a section on runtime icon handling.
- We completed an update to Chaquopy, the tooling underpinning Briefcase's Android support, adding support for Python 3.14, as well as a number of other updates to adapt to changes in the Android ecosystem.
- We released a number of Android wheels for Python 3.10, for packages which were previously only available for the end-of-life Python 3.8.
- We added integration with PDB and VSCode debuggers for Briefcase apps. This allows users to use their IDE to debug Windows, Linux, macOS and iOS apps. Support for Android should be added soon. Support for PyCharm and other debuggers should also be possible given the debugging framework that has been put in place.
- We added the ability to customize the install directory, and configure pre-uninstall options in Windows MSI installers.
- We modified
briefcase devto install local source paths in editable mode. - We added support for a cross-platform Bluetooth permission in Briefcase apps.
- We improved Python version detection when building apps on Linux.
- We added a new Qt backend to Toga! This will allow Linux users with a KDE desktop to have fully native apps, instead of relying on GTK theme emulation. The Qt backend is still in development, but it already has support for a lot of simple widgets, including Button, Label, Switch and ImageView.
- We added Button, TextInput, Canvas DateInput testing, and Activityindicator widgets to Toga's GTK4 implementation, as well as adding support for fonts and icons.
- We added a handler for window resize events on Toga Windows.
- We added support in Toga's DecimalInput for locales that use a comma as a decimal separator.
- We improved Toga's WebView, ensuring that it can access
SharedArrayBufferAPIs on GTK. We also modified the Positron static plugin to set headers that are necessary for usingSharedArrayBufferin an app. - We made some improvements that improve the reliability of some Toga tests.
- We contributed a new feature to cibuildwheel that allows the specification of arguments to the test executor. This was primarily needed to provide a workaround for some instability in GitHub Actions, but it has the added benefit of adding configurability to some test execution functionality that was previously hard coded.
- We corrected an issue with how the iOS testbed handles command-line arguments with spaces.
- We made a small modification to the iOS XCframework build process to add a
libfolder. This improves compatibility of iOS XCframeworks with traditional Unix-style build systems.
What's next?
December will be a short month due to end-of-year holidays; but we're still hoping to see some developments in Android packaging, an iOS package for Pandas, and some improvements to Briefcase building on the work our Curtin students have done over the course of the year. We expect to release a new version of both Briefcase and Toga in the coming week.
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.
- Anterior entrada
- 2025 Curtin University Capstone Project