Metadata-Version: 1.0
Name: Pykka
Version: 0.5
Summary: Pykka is a concurrency abstraction which let you use concurrent actors like regular objects
Home-page: http://jodal.github.com/pykka/
Author: Stein Magnus Jodal
Author-email: stein.magnus@jodal.no
License: Apache License, Version 2.0
Description: =====
        Pykka
        =====
        
        Pykka is a concurrency abstraction which let you use concurrent actors like
        regular objects.
        
        Pykka let you call methods on an actor like you would on a regular object, but
        it runs the code in the actor's own thread. Similarily, when you access the
        actor's fields, they are read in the actor's thread, serialized and copied to
        the reading thread.
        
        Both method calling and attribute reads returns futures which ensures that the
        calling thread does not block before the value from the object's thread is
        actually used.
        
        The goal of Pykka is to provide a convenient to use concurrency abstractions
        for Python. If you need raw performance, look somewhere else.
        
        
        What can it do?
        ===============
        
        Given the following code::
        
            from pykka import Actor
        
            class Adder(Actor):
                def add_one(self, i):
                    print '%s: %d' % (self.name, i)
                    return i + 1
        
            class Counter(Actor):
                def __init__(self, adder):
                    self.adder = adder
        
                def count_to(self, target):
                    i = 0
                    while i < target:
                        print '%s: %d' % (self.name, i)
                        i = self.adder.add_one(i + 1).get()
        
            if __name__ == '__main__':
                adder = Adder.start()
                counter = Counter.start(adder)
                counter.count_to(10).wait()
                counter.stop()
                adder.stop()
        
        We get the following output::
        
            $ PYTHONPATH=. python examples/counter.py
            Thread-2: 0
            Thread-1: 1
            Thread-2: 2
            Thread-1: 3
            Thread-2: 4
            Thread-1: 5
            Thread-2: 6
            Thread-1: 7
            Thread-2: 8
            Thread-1: 9
        
        See the ``examples/`` dir for more runnable examples.
        
        
        License
        =======
        
        Pykka is licensed under the Apache License, Version 2.0. See ``LICENSE`` for
        the full license text.
        
        
        Dependencies
        ============
        
        Python 2.6 or 2.7
        
        
        Installation
        ============
        
        To install Pykka you can use pip::
        
            pip install pykka
        
        To upgrade your Pykka installation to the latest released version::
        
            pip install --upgrade pykka
        
        To install the latest development snapshot::
        
            pip install pykka==dev
        
        
        Project resources
        =================
        
        - `Documentation <http://jodal.github.com/pykka/>`_
        - `Source code <http://github.com/jodal/pykka>`_
        - `Issue tracker <http://github.com/jodal/pykka/issues>`_
        - `Download development snapshot <http://github.com/jodal/pykka/tarball/master#egg=pykka-dev>`_
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries
