
Pykka - Actors For Python - SkyMarshal
http://pykka.readthedocs.org/
======
bascule
Hi there, I'm working on a similar actor library in Ruby:

<http://celluloid.io/>

The main thing I'd like to say is that there is a well-researched way to
combine actors and object oriented programming. After stumbling upon this
particular combination myself, I discovered it had been done a decade and a
half earlier in Python:

<http://python.org/workshops/1997-10/proceedings/atom/>

I believe the original source code has since been lost, but I would strongly
encourage you to read their paper.

Actor-based concurrent object oriented programming makes using actors as
transparent as using objects.

------
chaostheory
Actor model concurrency is way more fun and easy to use than handling threads
on your own. It's really nice to see this coming to Python. Let's just hope
that this project doesn't get neglected like the one for Ruby.

~~~
ruxkor
Apparently this was already done for python a few years ago:

I just discovered a very similar, albeit older project that essentially does
the same (i.e. implementing the actor model on top of threads, greenlets or
stacklets)

<http://osl.cs.uiuc.edu/parley/>

The most important part, i.e. the download section, seems to be down though.

------
inportb
The fun thing is that Pykka works with Gevent. Now, if only it did networking
too...

------
halayli
How is it different from xmlrpclib?

[http://docs.python.org/library/xmlrpclib.html#example-of-
cli...](http://docs.python.org/library/xmlrpclib.html#example-of-client-usage)

~~~
meeb
They're not even comparable. xmlrpclib is a library for remote procedure call.
Pykka provides an implementation of the Actor model, which is a model of
concurrent computation.

~~~
apgwoz
WikiPedia defines 3 basic things that make up actors:

* send a finite number of messages to other actors; * create a finite number of new actors; * designate the behavior to be used for the next message receives.

Now, I'm not saying that xmlrpclib and actors are the same, but one could
implement a system that has these properties using xmlrpclib as the basis of
transport, and to "designate the behavior to be used for the next message
receieves." The way you'd designate is the message you sent, is the handler
that gets run.

And, if you want to get even more actor like, run xmlrpc servers in their own
threads.

But, yeah, a real actor system would probably never do this.

------
srparish
The name made me hope that it would let you communicate from python with akka
actors. Apparently not.

------
reinhardt
Wondering how it compares with Pyro4 (at least if such comparison actually
makes sense)

------
magnusmorton
Won't the GIL really limit the performance of this?

~~~
bascule
Not on Jython, which has no GIL by virtue of the JVM. Work on Jython has
recently resumed and the new work is focusing on adding InvokeDynamic support,
which I think is really exciting.

(I say this all as a Rubyist who as seen these same problems on the Ruby side)

~~~
sciurus
It's great to see that Jython development has picked up! For the interested,
details are at

[http://sourceforge.net/mailarchive/forum.php?thread_name=jja...](http://sourceforge.net/mailarchive/forum.php?thread_name=jjarhr%245e0%241%40dough.gmane.org&forum_name=jython-
dev)

