Skip to main content

Python package to create and manage fast parallelized data processing pipeline for real-time application

Project description

PyStream - Real Time Python Pipeline Manager

This package provides tools to build and boost up a python data pipeline for real time processing. This package is managed using Poetry.

For more detailed guidelines, visit this project documentation.

Concepts

In general, PyStream is a package, fully implemented in python, that helps you manage a data pipeline and optimize its operation performance. The main feature of PyStream is that it can build your data pipeline in asynchronous and independent multi-threaded stages model, and hopefully multi-process model in the future.

A PyStream pipeline is constructed by several stages, where each stage represents a single set of data processing operations that you define by your own. When the stages have been defined, the pipeline can be operated in two modes:

  • Serial mode: In this mode, each stage are executed in blocking fashion. The later stages will only be executed when the previous ones have been executed, and the next data can only be processed if the previous data have been processed by the final stage. There is only one data stream that can be processed at any time.
  • Parallel mode: In this mode, each stage live in a separate parallel thread. If a data has been finished being processed by a stage, the results will be send to the next stage. Since each stage runs in parallel, that stage can immediately take next data input if exist and process it immediately. This way, we can process multiple data at one time, thus increasing the throughput of your pipeline.

Whatever the mode you choose, you only need to focus on implementation of your own data processing codes and pack them into several stages. PyStream will handle the pipeline executions including the threads and the linking of stages for you.

Installation

You can install this package using pip.

pip install pystream-pipeline

If you want to build this package from source or develop it, we recommend you to use Poetry. First install Poetry by following the instructions in its documentation site (you can google it). Then clone this repository and install all the dependencies. Poetry can help you do this and it will also setup a new virtual environment for you.

poetry install

To build the wheel file, you can run

poetry build

You can find the wheel file inside dist directory.

Sample Usage

API of PyStream can be found in this project documentation. See dummy_pipeline.py to see how PyStream can be used to build a dummy pipeline.

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

pystream-pipeline-0.1.2.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

pystream_pipeline-0.1.2-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file pystream-pipeline-0.1.2.tar.gz.

File metadata

  • Download URL: pystream-pipeline-0.1.2.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Windows/10

File hashes

Hashes for pystream-pipeline-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cb2f92a23e7686e1f760fac20e944fd88a454d8ae6476498382f15ad6773a4d7
MD5 a798ec22db08d55a14ab9adfbae0f7c1
BLAKE2b-256 de5718225712fd381207cbe68c7f9e04d2e237ccad1d730aed9cd252efa074c6

See more details on using hashes here.

File details

Details for the file pystream_pipeline-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pystream_pipeline-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7959c531f870a5828d6604fa46997571564d6323aa2b4dd61579fa56a914a1e
MD5 822576e29b183d2363e26e44d149060b
BLAKE2b-256 bfd0fef9dffa3261ff69f198529e22468187c7b0f86f69aca339d442cb8c8910

See more details on using hashes here.

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