hanula / pipelined

Simple pipeline toolkit in Python [Status: IDEA]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple pipeline processing

Overview

...

Usage examples

import pipelined

def detect_ddos(stream):
    access = pipelined.utils.limit_counter(10*1000)
    for log in stream:
        access[log.ip] += 1
        yield from access.over(100)

def block_ips(stream):
    for ip in stream:
        # block the ip
        yield ip

ddos_monitor = [
    detect_ddos,
    block_ips,
]

source_logs = pipelined.files.follow('/path/to/server/access.log')
for ip in pipelined.run(ddos_monitor, source_logs):
    print(ip, "has been blocked.")

Resources

License

See LICENSE.

About

Simple pipeline toolkit in Python [Status: IDEA]

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%