Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add March 2024 status update. #554

Merged
merged 3 commits into from
Apr 1, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions content/news/buzz/march-2024-status-update/contents.lr
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
title: March 2024 Status Update
---
author: Russell Keith-Magee
---
body:

This month, we have less to report by raw feature count - but the changes we *have* made represent extremely significant progress.

What we've done
----------------

* Our primary focus this month has been making the changes to CPython needed to add support for `iOS <https://github.com/python/cpython/issues/114099>`__ and `Android <https://github.com/python/cpython/issues/116622>`__. We've made major progress towards this goal: all the patches required for iOS have been merged; a large number of patches have been submitted for Android, with only a small number still required. This month, we have:

- `Added test exclusions to support running the test suite on Android <https://github.com/python/cpython/pull/115918>`__
- `Fixed some issues with the process of building an Android libPython <https://github.com/python/cpython/pull/115955>`__
- `Modified sys.platform identification for Android so it returns "android" not "linux" <https://github.com/python/cpython/pull/116215>`__
freakboy3742 marked this conversation as resolved.
Show resolved Hide resolved
- `Added an API to get device and OS information on Android <https://github.com/python/cpython/pull/116674>`__
- `Modified ctypes so it can load libraries on Android <https://github.com/python/cpython/pull/116379>`__
- `Modified a signals test to make it more reliable on more platforms <https://github.com/python/cpython/pull/116423>`__
- `Added a build script and instructions for Android builds <https://github.com/python/cpython/pull/116426>`__
- `Added a custom module loader so that iOS apps can load binary modules from Frameworks <https://github.com/python/cpython/pull/116454>`__
- `Modified test_doctest to support platforms that don't support subprocesses <https://github.com/python/cpython/pull/116758>`__
- `Modified the standard library to support iOS <https://github.com/python/cpython/pull/117052>`__
- `Added documentation for the iOS platform <https://github.com/python/cpython/pull/117057>`__
- `Corrected some additional test failures introduced on Android <https://github.com/python/cpython/pull/117299>`__

* `PEP 738 <https://peps.python.org/pep-0738/>`__, adding official Android support to CPython, has been formally approved by the Python Steering Council.

* We `updated the CPython Developer Guide to describe the iOS development process <https://github.com/python/devguide/pull/1296>`__.

* We `improved Briefcase's handling of stdout for some tools <https://github.com/beeware/briefcase/pull/1687>`__. We're hoping this will fix - or at least make it easier to diagnose - a mode of failure we've had reported for the Android emulator on Windows.

* We added `color to Android's log output <https://github.com/beeware/briefcase/pull/1676>`__.

* We `corrected the handling of key shortcuts on Window and GTK <https://github.com/beeware/toga/pull/2415>`__, adding a lot of key combinations that weren't previously possible to represent.

* We `restructured the Toga documentation landing page <https://github.com/beeware/toga/pull/2463>`__, making it easier to find the documentation you're likely to need.

* We landed the `MapView widget <https://github.com/beeware/toga/pull/2379>`__, and have completed most of the work on a new `Geolocation service <https://github.com/beeware/toga/pull/2462>`__.

What's next?
--------------

In April, we're hoping to wrap up the work on iOS and Android patches for CPython, and add buildbots for those platforms. With the buildbots in place, iOS and Android will officially be Tier 3 supported CPython platforms. We also plan to revisit the BeeWare tutorial, adding some more steps in preparation for a `tutorial presentation at PyCon US <https://us.pycon.org/2024/schedule/presentation/41/>`__ in May. If you're coming to Pittsburgh and you'd like to attend that tutorial session, `ticket sales are open! <https://us.pycon.org/2024/attend/information/>`__

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. `Correctly handle incomplete project deletions <https://github.com/beeware/briefcase/issues/394>`__
8. `Add an option to select the Android base image when creating new emulators <https://github.com/beeware/briefcase/issues/737>`__
9. `Print notarisation log failures when building macOS apps <https://github.com/beeware/briefcase/issues/1472>`__
10. `Add an API to replace a child of a widget <https://github.com/beeware/toga/issues/2301>`__
11. `Add an API to entirely replace the style of a widget <https://github.com/beeware/toga/issues/2305>`__
12. `Add the ability to define content when creating a window <https://github.com/beeware/toga/issues/2307>`__

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-04-02