Skip to main content

Analytics library

Project description

# <a href=”https://tributary.readthedocs.io”><img src=”docs/img/icon.png” width=”300”></a> Python Data Streams

[![Build Status](https://dev.azure.com/tpaine154/tributary/_apis/build/status/timkpaine.tributary?branchName=master)](https://dev.azure.com/tpaine154/tributary/_build/latest?definitionId=2&branchName=master) [![GitHub issues](https://img.shields.io/github/issues/timkpaine/tributary.svg)]() [![Coverage](https://img.shields.io/azure-devops/coverage/tpaine154/tributary/2)]() [![BCH compliance](https://bettercodehub.com/edge/badge/timkpaine/tributary?branch=master)](https://bettercodehub.com/) [![PyPI](https://img.shields.io/pypi/l/tributary.svg)](https://pypi.python.org/pypi/tributary) [![PyPI](https://img.shields.io/pypi/v/tributary.svg)](https://pypi.python.org/pypi/tributary) [![Docs](https://img.shields.io/readthedocs/tributary.svg)](https://tributary.readthedocs.io)

![](https://raw.githubusercontent.com/timkpaine/tributary/master/docs/img/example.gif)

# Installation Install from pip:

pip install tributary

or from source

python setup.py install

# Stream Types Tributary offers several kinds of streams:

## Streaming These are synchronous, reactive data streams, built using asynchronous python generators. They are designed to mimic complex event processors in terms of event ordering.

## Functional These are functional streams, built by currying python functions (callbacks).

## Lazy These are lazily-evaluated python streams, where outputs are propogated only as inputs change.

# Examples - [Streaming](docs/examples/streaming.md) - [Lazy](docs/examples/lazy.md)

# Sources and Sinks ## Sources - python function/generator/async function/async generator - random - file - kafka - websocket - http - socket io

## Sinks - file - kafka - http - websocket - TODO socket io

# Transforms - Delay - Streaming wrapper to delay a stream - Apply - Streaming wrapper to apply a function to an input stream - Window - Streaming wrapper to collect a window of values - Unroll - Streaming wrapper to unroll an iterable stream - UnrollDataFrame - Streaming wrapper to unroll a dataframe into a stream - Merge - Streaming wrapper to merge 2 inputs into a single output - ListMerge - Streaming wrapper to merge 2 input lists into a single output list - DictMerge - Streaming wrapper to merge 2 input dicts into a single output dict. Preference is given to the second input (e.g. if keys overlap) - Reduce - Streaming wrapper to merge any number of inputs

# Calculations - Noop - Negate - Invert - Add - Sub - Mult - Div - RDiv - Mod - Pow - Not - And - Or - Equal - NotEqual - Less - LessOrEqual - Greater - GreaterOrEqual - Log - Sin - Cos - Tan - Arcsin - Arccos - Arctan - Sqrt - Abs - Exp - Erf - Int - Float - Bool - Str - Len

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tributary-0.0.7.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

tributary-0.0.7-py2.py3-none-any.whl (50.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file tributary-0.0.7.tar.gz.

File metadata

  • Download URL: tributary-0.0.7.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/0.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.5

File hashes

Hashes for tributary-0.0.7.tar.gz
Algorithm Hash digest
SHA256 2f85c75f4bb62c3a061e5ef3008a22858afbf81b6c07bb70863c418388c79430
MD5 fe403f6a6b3a174d42f24d99fdb393be
BLAKE2b-256 9770201cbe220ad98b17209d9ebbd84c5702d28af7ee9db3afa8b025a76c1e81

See more details on using hashes here.

Provenance

File details

Details for the file tributary-0.0.7-py2.py3-none-any.whl.

File metadata

  • Download URL: tributary-0.0.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 50.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/0.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.5

File hashes

Hashes for tributary-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 28149e7dac86a697ba656f9ca797b78d3f11b2da790cab1c90c734524240874a
MD5 12897b520d69d09f9599b46b21297989
BLAKE2b-256 592d023100286b554b5907caac8e2cdc9fcda09bce15f73c96c99944522e6385

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page