Skip to content

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

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 🙂

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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