-
-
Notifications
You must be signed in to change notification settings - Fork 740
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #586 from freakboy3742/oct-2024-status
October 2024 status update.
- Loading branch information
Showing
1 changed file
with
57 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
title: October 2024 Status Update | ||
--- | ||
author: Russell Keith-Magee | ||
--- | ||
body: | ||
|
||
In October, BeeWare saw some important releases, plus more good progress on binary packaging for iOS. | ||
|
||
What we've done | ||
---------------- | ||
|
||
* Most importantly, we released `Briefcase 0.3.20 <https://pypi.org/project/briefcase/0.3.20/>`__ and `Toga 0.4.8 <https://pypi.org/project/toga/0.4.8/>`__, including support for Python 3.13 - which includes the official support in Python for iOS and Android! This is a major milestone for BeeWare as a project, representing a significant portion of the work done over the last 12 months. | ||
|
||
* We've prepared an `initial patch to cibuildwheel that is able to build and test simple iOS wheels <https://github.com/freakboy3742/cibuildwheel/tree/ios-support>`__. This patch isn't ready to submit upstream, but it is able to build simple iOS wheels. | ||
|
||
* We've submitted a patch to Pillow to `isolate its build system from Homebrew when building on macOS <https://github.com/python-pillow/Pillow/pull/8497>`__. This is essential for iOS support, as it's easy for Homebrew macOS ARM64 binaries to leak into iOS builds; but it also has benefits for macOS builds. | ||
|
||
* We've made `a number of improvements to multibuild <https://github.com/multi-build/multibuild>`__, the tooling that Pillow uses to compile non-Python binary dependencies. | ||
|
||
* We've `modified the CPython iOS testbed project <https://github.com/python/cpython/pull/126169>`__ so that it can be used as a testbed for *any* iOS Python project. | ||
|
||
* We've `improved error reporting when Briefcase can't clone a template <https://github.com/beeware/briefcase/pull/2033>`__. | ||
|
||
* We've switched to using ``httpx`` instead of ``requests`` for `Briefcase's internal download handling <https://github.com/beeware/briefcase/pull/2041>`__. This provides slightly better error handling, better options for improving HTTP/2 usage, and we're now consistently using ``httpx`` in Briefcase and in our example code. | ||
|
||
* We've modified Toga to `lazily load components <https://github.com/beeware/toga/pull/2686>`__, rather than importing everything into the ``toga`` namespace at startup. This should improve application startup times, especially on platforms like mobile and web where this startup time is noticeable. | ||
|
||
* We resolved an issue causing `intermittent test failures when testing Toga on Wayland <https://github.com/beeware/toga/pull/2893>`__. | ||
|
||
What's next? | ||
-------------- | ||
|
||
We will be continuing to work on binary packaging in November. We're using Pillow as a demonstrator for this work - it's a package that has a significant binary component, is widely used (including on mobile), but has a non-trivial build process (largely due to the non-Python binary dependencies). The hope is that by the time we're able to compile Pillow for iOS, we will have resolved many of the issues facing other binary packages. Our goal remains to have at least *some* third-party projects officially supporting iOS and Android by the end of the year, but this may be impeded by the sequence of dependencies that need to land and be published before upstream projects can accept iOS and Android patches. | ||
|
||
We'll also be speaking at `PyCon AU <https://2024.pycon.org.au>`__ at the end of the month, including attending both days of the sprints. If you're able to make it to Narrm/Melbourne, we hope we'll see you there! | ||
|
||
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 <https://github.com/beeware/toga/issues/2251>`__ | ||
2. `Filter out a message generated after Xcode updates <https://github.com/beeware/briefcase/issues/780>`__ | ||
3. `Add the ability to configure the ABIs built by an Android project <https://github.com/beeware/briefcase/issues/808>`__ | ||
4. `Rationalise the application of adhoc signing on macOS <https://github.com/beeware/briefcase/issues/1099>`__ | ||
5. `Add support for custom PyPI repositories <https://github.com/beeware/briefcase/issues/1270>`__ | ||
6. `Document how to debug an application in popular IDEs <https://github.com/beeware/briefcase/issues/1393>`__ | ||
7. `Add an option to select the Android base image when creating new emulators <https://github.com/beeware/briefcase/issues/737>`__ | ||
8. `Add an API to entirely replace the style of a widget <https://github.com/beeware/toga/issues/2305>`__ | ||
9. `Correct the handling of quotation marks in Android apps <https://github.com/beeware/briefcase/issues/1876>`__ | ||
|
||
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 <https://briefcase.readthedocs.io/en/latest/how-to/contribute-code.html>`__; but if you need any additional assistance or guidance, you can ask on the ticket, or join us on the `BeeWare Discord server <https://beeware.org/bee/chat/>`__. | ||
|
||
--- | ||
mastodon_handle: @freakboy3742@cloudisland.nz | ||
--- | ||
pub_date: 2024-11-01 |