Skip to main content

A python task orchestrator to simplify real-time, static data pipelines.

Project description

streamtasks

Read the Documentation.

Demos

Overview

Streamtasks aims to simplify software integration for data pipelines.

How it works

Streamtasks is built on an internal network that distributes messages. The network is host agnostic. It uses the same network to communicate with services running in the same process as it does to communicate with services on a remote machine.

Getting started

Installation

pip install streamtasks[media,inference] # see pyproject.toml for more optional packages

Hardware encoders and decoders

To use hardware encoders and decoders you must have ffmpeg installed on your system. Verify that you system installation of ffmpeg has the hardware encoders/decoder with:

# list decoders
ffmpeg -decoders
# list encoders
ffmpeg -encoders

Install streamtasks without av binaries.

pip install streamtasks[media,inference] --no-binary av

If you have already installed streamtasks (and av), you can reinstall av with:

pip install av --no-binary av --ignore-installed

See the pyav documentation for more information.

llama.cpp with GPU

To install llama.cpp with GPU support you can either install streamtasks with:

CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install streamtasks[media,inference]

or you can reinstall llama-cpp-python with:

CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install llama-cpp-python --ignore-installed

See the llama-cpp-python documentation for more information.

Running an instance

You can run an instance of the streamtasks system with streamtasks -C or python -m streamtasks -C.

The flag -C indicates that the core components should be started as well.

Use streamtasks --help for more options.

Connecting two instances

When connecting two instances you need to have one main instance running the core components (using -C).

To create a connection endpoint (server), you can use the Connection Manager in the UI or you can specify a url to host a server on as a command line flag.

For example:

streamtasks -C --serve tcp://127.0.0.1:9002

You may specify multiple serve urls.

To connect the second system to the main system, you need to start your second system without the core components, specifying a connect url.

For example:

streamtasks --connect tcp://127.0.0.1:9002

See connection for more information.

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

streamtasks-0.1.7.tar.gz (3.3 MB view hashes)

Uploaded Source

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