python events non-blocking
Project description
[![pythonversions](https://img.shields.io/pypi/pyversions/basicevents.svg)](https://pypi.python.org/pypi/basicevents)
[![Code Climate](https://img.shields.io/codeclimate/github/kianxineki/basicevents.svg)](https://codeclimate.com/github/kianxineki/basicevents)
[![Codecov](https://img.shields.io/codecov/c/github/kianxineki/basicevents.svg)](https://codecov.io/github/kianxineki/basicevents)
[![Travis](https://img.shields.io/travis/kianxineki/basicevents.svg)](https://travis-ci.org/kianxineki/basicevents)
[![License](https://img.shields.io/pypi/l/basicevents.svg)](http://www.gnu.org/licenses/gpl-3.0.txt)
# BasicEvents
python basic events send non-blocking
## Install
```bash
pip install basicevents
```
Link pypi: https://pypi.python.org/pypi/basicevents
## Example
```python
# recommeded check all examples
from basicevents import (subscribe, send_thread, send_queue,
send_blocking, add_subscribe, send, run)
@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")
run()
send("STOP")
```
## 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 in individual process.
### Attributes events
- events.subs
return:
```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
```
- 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.
```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
```python
from basicevents import events
events.send = events.send_blocking # or other functions
```
- these parameters are too, have documented above:
```python
add_subscribe, send, send_queue, send_thread, send_blocking
```
# CHANGELOG
## 2.0.8(2017-01-31)
- Fix default argument
## 2.0.7(2017-01-31)
- Support waiting for stop loop
## 2.0.6(2016-10-20)
- events to Events
- correct shutdown
## 2.0.5(2016-10-20)
- events to Events
## 2.0.4(2016-10-20)
- Update document
- Remove old code
## 2.0.3(2016-10-19)
- PEP8
## 2.0.2(2016-09-28)
- It lets you send messages from different processes. (Required to import of basicevents before starting the process)
## 2.0.1 (2016-07-06)
- Fix tests
## 2.0.0 (2016-07-05)
- Require call run() for init events loop
## 1.2.5 (2016-06-15)
- Fix MANIFEST.in
## 1.2.4 (2015-10-15)
- Fix support python 3
## 1.2.3 (2015-10-14)
- Remove 3.2 support
- Prepare travis
## 1.2.2 (2015-10-14)
- Fix readme
## 1.2.1 (2015-10-14)
- Remove bad examples
- Update readme
## 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
[![Code Climate](https://img.shields.io/codeclimate/github/kianxineki/basicevents.svg)](https://codeclimate.com/github/kianxineki/basicevents)
[![Codecov](https://img.shields.io/codecov/c/github/kianxineki/basicevents.svg)](https://codecov.io/github/kianxineki/basicevents)
[![Travis](https://img.shields.io/travis/kianxineki/basicevents.svg)](https://travis-ci.org/kianxineki/basicevents)
[![License](https://img.shields.io/pypi/l/basicevents.svg)](http://www.gnu.org/licenses/gpl-3.0.txt)
# BasicEvents
python basic events send non-blocking
## Install
```bash
pip install basicevents
```
Link pypi: https://pypi.python.org/pypi/basicevents
## Example
```python
# recommeded check all examples
from basicevents import (subscribe, send_thread, send_queue,
send_blocking, add_subscribe, send, run)
@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")
run()
send("STOP")
```
## 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 in individual process.
### Attributes events
- events.subs
return:
```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
```
- 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.
```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
```python
from basicevents import events
events.send = events.send_blocking # or other functions
```
- these parameters are too, have documented above:
```python
add_subscribe, send, send_queue, send_thread, send_blocking
```
# CHANGELOG
## 2.0.8(2017-01-31)
- Fix default argument
## 2.0.7(2017-01-31)
- Support waiting for stop loop
## 2.0.6(2016-10-20)
- events to Events
- correct shutdown
## 2.0.5(2016-10-20)
- events to Events
## 2.0.4(2016-10-20)
- Update document
- Remove old code
## 2.0.3(2016-10-19)
- PEP8
## 2.0.2(2016-09-28)
- It lets you send messages from different processes. (Required to import of basicevents before starting the process)
## 2.0.1 (2016-07-06)
- Fix tests
## 2.0.0 (2016-07-05)
- Require call run() for init events loop
## 1.2.5 (2016-06-15)
- Fix MANIFEST.in
## 1.2.4 (2015-10-15)
- Fix support python 3
## 1.2.3 (2015-10-14)
- Remove 3.2 support
- Prepare travis
## 1.2.2 (2015-10-14)
- Fix readme
## 1.2.1 (2015-10-14)
- Remove bad examples
- Update readme
## 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
basicevents-2.0.9.tar.gz
(4.4 kB
view hashes)