Hi, While I remember, here's a list of programming related tasks, which someone who wants to get more in-depth with Stackless might try.
Arguments to stackless.run (easy): Currently, someone customises the behaviour of the scheduler, by passing a variety of keyword arguments to this function. However, you can also cause the scheduler to run in limited bursts by using channels or calling run on specific tasklets. It would be nice to be able to set some of those customised behaviours without having to call this function, so that those other bursts of scheduler running can also engage in those behaviour. One small C programming level project might be to investigate which run flags are suitable for use outside of run() and expose an API through which they can be set directly. Bug fixing stacklesssocket (easy): As my previous email stated, my focus in getting the module to be testable with the Python standard library unit tests, was TCP. Because of this, there are two UDP unit tests which fail. One small Python project which would give the chance to get famliar with how this module works, and even how UDP sockets work to some degree, would be to look into these two failures and to prepare a patch to fix them. Investigating tasklet threads support (hard): I referenced that this needs some work in the stacklesssocket related post earlier today, and went into further detail in a reply to a response to that post. One larger and more complex C programming level project might be to investigate how this works, whether it is possible to make it more consistent or change it to work in a more useful way. Then to provide a patch that implements an agreed upon solution. Anyone who wants to learn more about this area may want to just look into the low level mechanics and then participate discussing a solution, for someone else (perhaps Kristjan Valur or I) to write the patch. The research and discussion is the barrier to it getting done in any case. Porting Stackless example code to Python 3.x (easy to hard): The Stackless examples project is primary oriented about code for Python 2.x. There are some modules like stacklesssocket, that provide an alternate Python 3.x version, but even so that code is probably old and unmaintained. It would be good to get updated Python 3.x versions of the scripts written, to put alongside the Python 2.x versions. e.g. 'stacklesssocket.py' & 'stacklesssocket3.py'. The hard part of this task is in relation to stacklesssocket which deals with Python version dependent implementation details, and may require extensive rewrites to get working with Python 3.x. However, even in this case, there is a 'stacklesssocket30.py' which may have already done most of the work. Cheers, Richard. _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
