I was given the task of upgrading a Python/Tkinter GUI application toYou can publish it in the Python package index - see
the latest versions of Python and Tk. After a while, I realized that the
application had not been written in a thread-safe manner. Multiple
threads would simply use the Tk object directly. The application
apparently ran fine (i.e., didn't crash!) using older versions of Python
(2.2) and Tk (8.3), but it started to have serious problems (i.e.,
crashing) after using the latest versions.
The problem is that there isn't enough budget to fix the whole
application. So, I invested a bit of time to develop mtTkinter, a
thread-safe version of Tkinter. Importing mtTkinter actually modifies
the original Tkinter in such a way to make it thread-safe, recognizing
and diverting out-of-thread calls to the Tk object creation thread via a
queue and an 'after' event. I think it works quite well, requiring
basically no changes to the application other than to import mtTkinter
instead of (or in addition to) Tkinter. Even packages that use Tkinter
(e.g., Pmw) benefit.
I would like to contribute this module (single file, about 160 lines) to
the Python community, but I don't know how. I'm new to Python and am not
initiated in the deep Pythonic developer world. Can someone give me some
pointers? Many thanks.
http://pypi.python.org/pypi/
If you want to have it considered for inclusion into future versions of
Python then you should post a bug to bugs.python.org wiht your patch as
an attachment and the test of the above mail as a rationale for the change.
Thanks for going to these lengths to contribute!
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/