April was a shortened development month due to the Easter break, plus some other employer-related travel commitments, but we've still been able to make some important progress in the BeeWare ecosystem.
What we've done
- We contributed changes to the Meson buildsystem that support building on iOS; we have a second set of changes in review. We also have an iOS support PR for Meson-python, the library that provides the PEP 517 build interface for Meson-based Python projects. Work on the patch for NumPy to support iOS builds also continued.
- We landed some changes to CPython's iOS testbed to accomodate changes introduced in Xcode 16.3.
- We modified CPython's iOS compiler shims to ensure better support for enforcing minimum iOS version levels.
- We contributed some improvements to CPython's build system to clean up warnings due to over-specified linking requirements.
- We modified CPython's usage of the HACL* hashing library to use a safer memory clearing implementation on iOS.
- We made some improvements to CPython's Android build script to make it more resilient to network failures.
- pip 25.1 was released, including support for Android packaging.
- We completed work on a patch to allow the declaration of tools that are needed by the iOS build process.
- We've submitted the first parts of a patch to add Android build support to cibuildwheel. This is getting close to being ready to submit for review, but still requires some additional work.
- We added support for visionOS; support for MacCatalyst is also underway.
- We updated the Textual backend. This resolved a number of small issues that had emerged as a result of changes in Textual.
- Briefcase has been modified to accept more names for change log files.
- Briefcase can now enforce a minimum OS version on iOS, macOS and Android. This is an important feature for ensuring the availability of OS-level features.
- Our student contributors have been investigating the current state of Toga's web backend, and Briefcase's tools for running and testing that backend. They've already landed a new DateInput, and ScrollContainer widget, and they've started the process of updating the web backend to make better use of Pyscript APIs, resolving a number of errors with event handling.
What's next?
Our focus for May will be preparing for and attending PyCon US. We've already spent some time in April getting prepared for the talk and tutorial that we're presenting, as well as a presentation to the Language Summit; we also hope to be attending the Packaging Summit to discuss issues related to cross-platform build environments. We'll be around the Anaconda booth in the main hall at various times, and we'll be at the first three days of the sprints. Tickets are still available - we hope to see you there!
Allowing for travel time, just attending PyCon US will take up almost 2 weeks of May. For the rest of the month, we'll be continuing to work on binary packaging - iOS patches for NumPy (including the tools to build NumPy) are almost complete. Android support in cibuildwheel is also progressing; once those changes are in place, and a cibuildwheel version with iOS and Android support has been officially released, we will be able to start officially submitting patches to upstream projects to support iOS and Android.
Progress on Python Emscripten support stalled this month due to other commitments. The Emscripten buildbot is still ready to launch, with one last technical issue to resolve. We hope we'll be able to resolve this before or at PyCon US.
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.
- Poprzedni wpis
- 2025Q2 Roadmap