Skip to content

Meta: Status of free-threaded support and prebuilt wheels #346

@Tremeschin

Description

@Tremeschin

Hi @pthom, thought about creating a tracker to raise awareness for the status of freethreaded wheels of the project.

While I'm personally not fully invested into the experimental mode yet, imgui-bundle is one of the few dependencies in all my projects without prebuilt wheels for it. The demo script PYTHON_GIL=0 imgui_bundle_demo ran without any immediate problems, segfaults, or artifacts with a uv's managed cpython-3.13.3+freethreaded-linux-x86_64-gnu interpreter - or perhaps I didn't notice or test enough.

However, I'm fully aware you have no current official support for it, as importing the package raises the following warning. I didn't try to spawn many threads, sharing resources (bad thing in opengl), concurrently modifying states, etc tho.

Point is, at least it run.

<frozen importlib._bootstrap>:488: RuntimeWarning: The global interpreter lock (GIL) has been enabled to
load module 'imgui_bundle._imgui_bundle', which has not declared that it can run safely without the GIL.
To override this behavior and keep the GIL disabled (at your own risk), run with PYTHON_GIL=0 or -Xgil=0.

Sidenote: Per issue #345, I had to compile from source as cmake updated, which will be fixed in the next release of yours.


I stumbled on the discussion #334 (reply in thread), but you seem worried of PyPI storage limits and I left a comment for the possibility to increase it via their support. Linking the points, I can understand why this isn't a priority nor currently a wanted feature that would be "wasted" space in a synthetic issue Python itself is technically accountable for. Given that it at least runs, experimental support for it shouldn't be too far away, the risk is opt-in at the end of the day!

Not really trying to make a point or request here, I myself haven't updated my own stuff to support freethread mode.

Just asking to at least have it on your low priority list, thanks for your time 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions