stnatter / eventkit

Event-driven data pipelines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis build PyPi Documentation

Introduction

The primary use cases of eventkit are

  • to send events between loosely coupled components;
  • to compose all kinds of event-driven data pipelines.

The interface is kept as Pythonic as possible, with familiar names from Python and its libraries where possible. For scheduling asyncio is used and there is seamless integration with it.

See the examples and the introduction notebook to get a true feel for the possibilities.

Installation

pip3 install eventkit

Python version 3.6 or higher is required.

Examples

Create an event and connect two listeners

Create a simple pipeline

Output:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D'), (4, 'E')]

Create a pipeline to get a running average and standard deviation

Output:

[(0.00790957852672618, 1.0345673260655333)]

Combine async iterators together

Output:

('X', '1')
('Y', '2')
('Z', '3')

Real-time video analysis pipeline

Full source code

Distributed computing

The distex library provides a poolmap extension method to put multiple cores or machines to use:

Inspired by:

Documentation

The complete API documentation.

About

Event-driven data pipelines

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%