Emit is a Python library for realtime data processing. It can distribute work with Celery or RQ, coordinate execution in other languages, and let you swing from the trees of your graph with Tarzan-like precision.
A taste:
from emit import router
router = Router()
@router.node(['word'], entry_point=True)
def parse_document(msg):
for word in msg.document.strip().split(' '):
yield word
@router.node(['word', 'count'], 'parse_document')
def count_word(msg):
return msg.word, redis.zincrby('word_counts', msg.word, 1)
import random
document = 'the words in this document will be counted and emitted by count_word'.split(' ')
router(document=' '.join(random.choice(document) for i in range(20)))
So how do you get it? On PyPI!
pip install emit
Some Links:
Supported Pythons:
CPython 2.6
CPython 2.7
CPython 3.2
CPython 3.3 (except for Celery, currently)
PyPy 1.9
Installing from source/development branch:
Emit’s releases are fairly frequent, so you should be good to use a released version. However, if you need something currently not in a version, try the develop branch:
pip install git+git://github.com/BrianHicks/emit.git@develop
Just do be warned that things will break. And be sure to check Travis to see if the platform you want is currently passing. It should be, but maybe not.
Release files for emit 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| emit-0.4.0.tar.gz | 13.5 kB | Details |
Release files / emit-0.4.0.tar.gz
| Download URL | emit-0.4.0.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec43c757dbc95294913a1cc10a351c3c8be7932ff84b6c6abaac75d1ec097aba
|
|
BLAKE2b-256 checksum How to use checksums |
7152b9cbac9b3e5fb2557ffe4d6d5024278349abd3ebc42b9923fca9c094fd18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |