Merge pull request #544 from freakboy3742/nov-2023-status-update
Add November 2023 status update.
This commit is contained in:
commit
a8348e47ca
1 changed files with 61 additions and 0 deletions
61
content/news/buzz/november-2023-status-update/contents.lr
Normal file
61
content/news/buzz/november-2023-status-update/contents.lr
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
title: November 2023 Status Update
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
November has been a month of focus on the code that enables us to run Python on iOS and Android - but there has still been some other high profile developments in other parts of BeeWare.
|
||||||
|
|
||||||
|
What we've done
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* `PEP730 <https://peps.python.org/pep-0730/>`__, formalizing the introduction of iOS as a Tier 3 platform in CPython, has been `submitted to the Python Steering Council for ratification <https://github.com/python/steering-council/issues/218>`__.
|
||||||
|
|
||||||
|
* One of the major topics covered by the `discussion about PEP730 <https://discuss.python.org/t/pep-730-adding-ios-as-a-supported-platform/35854>`__ was the use of a deprecated compiler argument. This led to some re-examination of how CPython could be delivered on iOS without using that argument. As a result of that discussion, modifications to `use CPython as a dynamically loaded framework <https://github.com/beeware/Python-Apple-support/pull/191>`__ have been prepared. Although the original focus of this work was iOS, the same change will be also used for macOS - which means BeeWare no longer needs to compile a macOS support package (although we will still be lightly re-packaging the official CPython installer).
|
||||||
|
|
||||||
|
* We modified Toga's Image APIs so that `Pillow images can be used as source data <https://github.com/beeware/toga/pull/2231>`__.
|
||||||
|
|
||||||
|
* We `switched CI testing of Android apps to use a Linux machine <https://github.com/beeware/toga/pull/2230>`__. This wasn't previously possible, because Github didn't expose the necessary permissions in their Linux images; however, now that *is* possible, our Android tests run up to 5 times faster, and are less likely to be held up in CI because of availability of macOS testing machines.
|
||||||
|
|
||||||
|
* We corrected an issue on macOS where an OS-level setting controlling the use of tabs could `cause test failures in the Toga test suite <https://github.com/beeware/toga/pull/2218>`__.
|
||||||
|
|
||||||
|
* There have been some extended discussions and draft PRs related to Toga's `Application base class <https://github.com/beeware/toga/pull/2244>`__, and the addition of support for `status icons <https://github.com/beeware/toga/pull/2238>`__. These PRs are still in active development, but they will open up some interesting possibilities for Toga apps when they are completed.
|
||||||
|
|
||||||
|
* `Briefcase <https://github.com/beeware/briefcase/pull/1550>`__, `Toga <https://github.com/beeware/toga/pull/2229>`__ and `Rubicon ObjC <https://github.com/beeware/rubicon-objc/pull/387>`__ were all modified to use PEP621 metadata, removing the need for ``setup.cfg``, ``setup.py``, and ``MANIFEST.in`` files. As part of this change, we wrote a new `setuptools plugin <https://github.com/beeware/setuptools_dynamic_dependencies>`__ to allow for dependencies to be dynamically defined.
|
||||||
|
|
||||||
|
* We modified Briefcase so that `answers to the new project wizard <https://github.com/beeware/briefcase/pull/1552>`__ and `values for configuration settings when running commands <https://github.com/beeware/briefcase/pull/1542>`__ can be overridden at the command line. This is mostly useful for testing purposes - it's now possible to generate a project and build it against a local template or support package build without needing to modify a ``pyproject.toml`` file or override input handling.
|
||||||
|
|
||||||
|
* We refactored the new project wizard so that `support for GUI toolkits is generated by an extensible plugin <https://github.com/beeware/briefcase/pull/1524>`__. Although we still ship with support for Toga, PySide, Pygame and PPB, this support is provided through a public interface, allowing other GUI toolkits to provide Briefcase with toolkit-specific modifications to the new project.
|
||||||
|
|
||||||
|
* We switched the default Android skin used by Briefcase from the `Pixel 3a device skin to the Pixel 7 skin <https://github.com/beeware/briefcase/pull/1554>`__. This is an entirely cosmetic change, but it does mean that screenshots will use a device that looks a little more modern.
|
||||||
|
|
||||||
|
* We've made significant progress on the `modifications to Chaquopy to support CPython 3.12 <https://github.com/chaquo/chaquopy/milestone/3>`__. This support will hopefully be released at the same time as the upcoming Android Studio "Hedgehog" release.
|
||||||
|
|
||||||
|
* We've made significant progress on running CPython's unit test suite on iOS in a CI configuration.
|
||||||
|
|
||||||
|
What's next?
|
||||||
|
--------------
|
||||||
|
|
||||||
|
We won't see as much progress as normal in December as a result of the end-of-year holidays. However, before we sign off for the year, we're hoping to start looking at OptionContainer on mobile platforms, and possibly start looking at Camera API support.
|
||||||
|
|
||||||
|
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>`__
|
||||||
|
|
||||||
|
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: 2023-12-01
|
||||||
Loading…
Reference in a new issue