Metadata-Version: 1.1
Name: basicevents
Version: 1.2.0
Summary: python events non-blocking
Home-page: https://github.com/kianxineki/basicevents
Author: Alberto Galera Jimenez
Author-email: galerajimenez@gmail.com
License: GPL
Description: BasicEvents
        ===========
        
        python basic events send non-blocking
        
        Install
        -------
        
        .. code:: bash
        
            pip install basicevents
        
        Link pypi: https://pypi.python.org/pypi/basicevents
        
        Example
        -------
        
        .. code:: python
        
            # recommeded check all examples
            from basicevents.events import (subscribe, send_thread, send_queue,
                                            send_blocking, add_subcribe, send)
        
            @subscribe("pepito")
            def example(*args, **kwargs):
                print "recv signal, values:", args, kwargs
        
            def example2(*args, **kwargs):
                print "manual subscribe"
        
            # manual subscribe
            add_subscribe("pepito", example2)
        
            # add to queue signals (non-blocking)
            send("pepito", 1, 2, 3, example="added queue")
        
            # add to queue signals (non-blocking)
            send_queue("pepito", 1, 2, 3, example="added queue")
        
            # create new thread for this request (non-blocking)
            send_thread("pepito", 1, 2, 3, example="new thread")
        
            # This is blocking
            send_blocking("pepito", 1, 2, 3, example="blocking")
        
        Documentation
        -------------
        
        Functions
        ~~~~~~~~~
        
        @subscribe(name\_event) With this decorator you can subscribe to all
        events that are sent to name\_event.
        
        manual subscribe add\_subscribe(name\_event, function)
        
        -  added in queue (non-blocking)
        
        send\_queue(name\_event, \*args, \*\*kwargs)
        
        -  run in new thread (non-blocking)
        
        send\_thread(name\_event, \*args, \*\*kwargs)
        
        -  run blocking (blocking)
        
        send\_blocking(name\_event, \*args, \*\*kwargs)
        
        -  Note: Currently running as thread to allow sharing of memory, if you
           want an event to use more CPU (cores), you can run processes within
           the event.
        
        Attributes events
        ~~~~~~~~~~~~~~~~~
        
        -  events.subs
        
        return:
        
        .. code:: python
        
            {'juanito': [<function __main__.example2>],
             'pepito': [<function __main__.example>]}
        
        -  events.queue
        
        return queue
        
        queue is processed automatically and do not need to access this
        attribute, but if you want you can use
        https://docs.python.org/2/library/queue.html
        
        -  events.timeout
        
        return int
        
        It is the timeout of the get request queue. When it reaches the timeout
        check the MainThread is alive, if so wait to get back, if not, it sends
        a signal to the EventThread. You can modify it if you wish.
        
        .. code:: python
        
            from basicevents import events
            events.timeout = 1
        
        -  events.logger
        
        return function
        
        You can change the function that is executed when an exception occurs.
        Uses default print You can modify it if you wish.
        
        .. code:: python
        
            from basicevents import events
            events.logger = function
        
        -  events.send
        
        return function
        
        You can change the function send (It is a link). default is
        events.send\_queue
        
        .. code:: python
        
            from basicevents import events
            events.send = events.send_blocking # or other functions
        
        -  these parameters are too, have documented above:
        
        .. code:: python
        
            add_subscribe, send, send_queue, send_thread, send_blocking
        
        
        
        CHANGELOG
        =========
        
        1.2.0 (2015-09-22)
        ------------------
        
        -  You can change the method that executes when an exception occurs
        -  Remove deprecated functions
        -  Send internally calls send\_queue
        -  Official support python 3.5.0
        -  Permit change default send
        
        1.1.3 (2015-08-14)
        ------------------
        
        -  Fix bug in add\_subcribe
        
        1.1.1 (2015-08-14)
        ------------------
        
        -  Try fix changelog in pypi
        
        1.1.0 (2015-08-14)
        ------------------
        
        -  Refactor code
        -  Added new functions: send\_queue, send\_thread, send\_blocking,
           add\_subscribe
        
        1.0.2 (2015-08-14)
        ------------------
        
        -  increase performance function send (19%+)
        -  increase performance subscribe (2%+)
        
        1.0.1 (2015-08-13)
        ------------------
        
        -  fix pip install basicevents
        
        1.0.0 (2015-08-13)
        ------------------
        
        -  Now you can run blocker way events
        -  break compatibility function send (check documentation)
        
        0.1.5 (2015-08-12)
        ------------------
        
        -  update documentation
        
        0.1.4 (2015-08-12)
        ------------------
        
        -  update documentation
        -  remove instant key in kwargs
        
        0.1.3 (2015-08-12)
        ------------------
        
        -  Added changelog
        -  Auto convert md to rst in setup.py
        
        
Keywords: basicevents
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
