Skip to content
This repository has been archived by the owner on Sep 13, 2024. It is now read-only.

Add Support for Python 3.14+ #171

Open
rmartin16 opened this issue Aug 6, 2024 · 1 comment
Open

Add Support for Python 3.14+ #171

rmartin16 opened this issue Aug 6, 2024 · 1 comment
Labels
enhancement New features, or improvements to existing features.

Comments

@rmartin16
Copy link
Member

rmartin16 commented Aug 6, 2024

What is the problem or limitation you are having?

Python 3.12 deprecated AbstractChildWatcher as captured in #76 and it has been removed in Python 3.14. The plan seemed to be to use PidfdChildWatcher once support for Python 3.8 was dropped....however, PidfdChildWatcher has been removed from Python 3.14 as well. In general, it appears the whole concept of "child watchers" was removed from Python.

Therefore, Python 3.14 and beyond is not currently supported.

Describe the solution you'd like

Add support for Python 3.14+.

Changes in #137 already skip imports for GLibChildWatcher for 3.14+ and with a few additional hacks, I was able to get gbulb to work but the tests still fail.

Describe alternatives you've considered

n/a

Additional context

With the availability of Python 3.14.0a0, I was curious about the current level of support. This was the first blocker I ran in to for building a Briefcase app.

@rmartin16 rmartin16 added the enhancement New features, or improvements to existing features. label Aug 6, 2024
@freakboy3742
Copy link
Member

Definitely something we would need to address for Python 3.14 support - but FWIW, It's entirely likely that gbulb as a project will be deprecated very soon. As noted in #32, the next release of PyGObject will have support for native asyncio integration, and with that, there's no need for gbulb.

My initial experimentation is that this new native support isn't subject to #58 and #73, and requires almost no code changes to Toga. See beeware/toga#2550 for a prototype patch. I'd be very surprised if we don't adopt that, rather than trying to fix gbulb for 3.14 support.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New features, or improvements to existing features.
Projects
None yet
Development

No branches or pull requests

2 participants