This month has seen BeeWare reach one major milestone, almost reach a second, as well as landing several smaller improvements.
What we've done
- iOS is officially a Tier 3 supported platform for CPython! All the patches needed to support iOS have been merged, and a buildbot has been deployed to verify that CPython can run on iOS. As a result, PEP 730 has been moved into "Final" status.
- Android support in CPython is getting very close to completion. The last three patches (adding a test harness for running the test suite on Android, redirecting stdout and stderr to the Android log, and updating sysconfig to support Android) are currently in review; once those have been merged, and a buildbot has been deployed, Android should also be at Tier 3 status.
- We landed a new Geolocation service for Toga, providing access to GPS data on mobile devices and macOS.
- We made some modifications to how Toga handles application icons, removing the need to duplicate the icon in application data. These changes are in final review.
- We added a new wizard to add a Briefcase configuration to an existing Python project.
- We modified how Briefcase handles splash screens on mobile devices, and corrected some issues with icons seen on recent Android releases.
- We corrected a problem in Rubicon ObjC caused by a change to the ctypes module in CPython 3.13. It might be possible to upstream this fix to CPython itself; but for now, Rubicon ObjC is able to support Python 3.13.0a6.
- We drafted a new tutorial step about customising application appearance. This update is in review, and should be live in the near future.
What's next?
The bulk of May will be taken up by preparing for and attending PyCon US. We're presenting a talk and a tutorial; we're also presenting at the Language Summit, we will have a booth in the community section of the Expo Hall, and we'll be there for the first 3 days of the sprints. If you're coming to Pittsburgh and you'd like to attend that tutorial session, ticket sales are open!. We're also hoping that we'll be able to wrap up the work on Android support in CPython, and start work on supporting command line applications in Briefcase.
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:
- Update the Toga testbed test suite to use Pixel 7 Pro device sizes
- Filter out a message generated after Xcode updates
- Add the ability to configure the ABIs built by an Android project
- Rationalise the application of adhoc signing on macOS
- Add support for custom PyPI repositories
- Document how to debug an application in popular IDEs
- Correctly handle incomplete project deletions
- Add an option to select the Android base image when creating new emulators
- Print notarisation log failures when building macOS apps
- Add an API to replace a child of a widget
- Add an API to entirely replace the style of a widget
- Add the ability to define content when creating a window
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.
- Next entry
- May 2024 Status Update
- Previous entry
- 2024Q2 Roadmap