Skip to content

Test support for free-threading #2671

@SnoopJ

Description

@SnoopJ

Requested Feature

Follow-on work from #2608

It would be good to know if Sopel can run under the new (as of 3.13.0) CPython support for free-threading. This issue exists to represent that work.

At time of filing no specific feature work is anticipated for this, but it is likely that there are blockers in upstream dependencies that would require some adjustments to version to support free-threading, so I expect this to evolve as we learn more about how Sopel behaves in this mode.

Problems Solved

Although Sopel has excellent support for running each Trigger event on a separate Thread, the GIL means that only one of these threads will be doing something useful at any given moment. Free-threading could provide a nice boost in bot performance when handling multiple simultaneous events, e.g. across multiple active channels.

It is also helpful to know what potential issues are along this path of development, even if free-threading is not a priority feature. Think of it as 'feature reconnaissance'.

Alternatives

Ignore free-threading.

Notes

I am filing this issue because I've just become aware of the existence of the pytest-freethreaded plugin that aims to make this kind of testing for free-threading support more straightforward.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions