by Péter Szabó
Stackless Python and the greenlet package for CPython are two different implementations of coroutine support for Python. (Coroutines are fundamental building blocks of I/O frameworks like gevent, Eventlet, Concurrence and Syncless to conveniently handle thousands of socket connections at a time without creating threads.) Stackless and greenlet implement a different interface. However, each is powerful enough so that it can be used to emulate the other one. In this talk we explore the differences and discuss design decisions and testing strategies of the emulations we have implemented.
by Anselm Kruis
Stackless Python supports pickling of a wider range of types than conventional C-Python, including stack frames and code objects. On this basis it is possible to extend further the pickle.Pickler class in order to serialise classes, modules, packages up to certain limits. The sPickle package (http://pypi.python.org/pypi/sPickle) provides such an extended Pickler. The code was developed as part of a commercial project and recently released as free software by science + computing ag. Currently it requires Stackless Python 2.7.
In my presentation, I'll first demonstrate some applications of the sPickle package including serialisation of modules and executing parts of a program on a remote computer using RPyC and Paramiko.
In the second part of my speech, I'll give some insight in the internal operations of sPickle and the lessons learned during its development. Extending the Pickler showed to be like opening a can of worms. You have take care of many odds and ends to get it right. I'll point out some weak points in the implementation of the conventional pickling code and I'll also show the limits of the current sPickle implementation.