Add support for free threading
- Dominant language
- Python
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 40
Description
### What is the problem or limitation you are having?
With the release of Python 3.14, free threading will become a non-experimental feature of Python. Briefcase should support generating apps that use free threading.
### Describe the solution you'd like
An app should be able to set `free_threading = true`; the resulting app would use the `t` ABI variants in support packages and wheels.
### Describe alternatives you've considered
Do nothing, and wait until free threading is either the default or abandoned as an approach.
### Additional context
There are a lot of moving pieces that need to be implemented:
1. The `free_threading` option in Briefcase
2. Modifying the support packages to include free threading builds
3. Modifying the app templates to use `libpythont` rather than `libpython`.
Once the base free threading option is available, support can be added on a per-platform basis - so it should be possible to (for example) implement support for Windows, but raise an error on macOS.
Contributor guide
Research direction
Start by tracing how Briefcase exposes app options, selects support packages and wheels, and renders app templates. Review the free_threading option, the support-package builds, and template handling together. Done means an app can set free_threading = true, use the t ABI variants and libpythont, while unsupported platforms raise an error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100