beeware / beeware/briefcase

Add support for free threading

Open
#2,483 4 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.