tasklet library based on PEP 0342

2009-01-19 Thread charlie137
Hello all,

Using new features of python generators, as described in PEP 0342, it
is possible to write some sort of "tasklets" in a maner very similar
to stackless python, but running on cpython. For example :

@tasklet
def my_task():
yield Timer(10)
yield "result"

@tasklet
def other_task():
result = yield my_task()

other_task().start(callback=on_return)


I wrote an implementation of this in the scope of an open source
project for openmoko [0], there is also an other very similar
implementation from the kiwi project [1].

This kind of tool is very useful, but unfortunately there is no
standard library that would provide a unified way to use it
independently of the underlying event loop.

Does someone know if a similar library could eventually be added into
python standard libraries ? Would it be accepted as a PEP ?

Guillaume

[0] http://git.openmoko.org/?p=tichy.git;a=blob;f=tichy/tasklet.py
[1] http://www.async.com.br/projects/kiwi/api/kiwi.tasklet.html
--
http://mail.python.org/mailman/listinfo/python-list


Re: tasklet library based on PEP 0342

2009-01-19 Thread charlie137
On Jan 20, 6:37 am, Terry Reedy  wrote:
> charlie...@gmail.com wrote:
> > Using new features of python generators, as described in PEP 0342, it
> > is possible to write some sort of "tasklets" in a maner very similar
> > to stackless python, but running on cpython. For example :
>
> > @tasklet
> > def my_task():
> >     yield Timer(10)
> >     yield "result"
>
> > @tasklet
> > def other_task():
> >     result = yield my_task()
>
> > other_task().start(callback=on_return)
>
> > I wrote an implementation of this in the scope of an open source
> > project for openmoko [0], there is also an other very similar
> > implementation from the kiwi project [1].
>
> > This kind of tool is very useful, but unfortunately there is no
> > standard library that would provide a unified way to use it
> > independently of the underlying event loop.
>
> > Does someone know if a similar library could eventually be added into
> > python standard libraries ? Would it be accepted as a PEP ?
>
> Start by listing your module/library onhttp://pypi.python.org/pypi
> To ever get in the stdlib, it must be tested, used by several different
> people, the best of its type, and relative stable.

I am afraid my implementation passes none of those requirement.
I will send a message to the python idea mailing list though. Thanks
for the answers.

Guillaume
--
http://mail.python.org/mailman/listinfo/python-list