Skip to main content
wxAnyThread: allow methods on wxPython objects to be called from any thread

In wxPython, methods that alter the state of the GUI are only safe to call from
the thread running the main event loop. Other threads must typically post
events to the GUI thread instead of invoking methods directly.

While there are builtin shortcuts for this (e.g. wx.CallAfter) they do not
capture the full semantics of a function call. This module provides an easy
way to invoke methods from any thread *transparently*, propagating return
values and exceptions back to the calling thread.

The main interface is a decorator named "anythread", which can be applied
to methods to make them safe to call from any thread, like so:

class MyFrame(wx.Frame):

@anythread
def GetSomeData():
dlg = MyQueryDialog(self,"Enter some data")
if dlg.ShowModal() == wx.ID_OK:
resp = dlg.GetResponse()
return int(resp)
else:
raise NoDataEnteredError()

The GetSomeData method can now be directly invoked from any thread.
The calling thread will block while the main GUI thread shows the dialog,
and will then receive a return value or exception as appropriate.

Metadata

Release files for wxAnyThread 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wxAnyThread 0.2.2
File Size Uploaded Provenance Actions
wxAnyThread-0.2.2.tar.gz 2.9 kB Without provenance Details for wxAnyThread-0.2.2.tar.gz

Release files / wxAnyThread-0.2.2.tar.gz

Download URL wxAnyThread-0.2.2.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0c2fbf68c55c932748065254be31cacf8761d86ad52b4dc35a252152e403285d
BLAKE2b-256 checksum
How to use checksums
9366c70094a3bbaae1feaee51b80a2c467eff8b7e924a597149804d43fedae50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for wxAnyThread 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page