Skip to main content

A modular and extensible Python framework for building, managing, and executing pipelines.

Project description

StreamLoom

Create reusable blocks and weave them into beautiful pipelines.

StreamLoom is a modular and extensible Python framework designed for building, managing, and executing pipelines. With its intuitive block-based structure, users can easily chain tasks and manage data flow, all while seamlessly switching between various executors and transports.

Features

  • Atomic & Series Data Handling: StreamLoom can process both singular atomic data and series data streams.

  • Multiple Executors: Execute blocks using a variety of methods including Process, Async, Threads, Containers, and more.

  • Flexible Transports: Switch between data transports like sockets, Kafka queues, files, etc., with ease.

  • Extensible & Modular Design: Easily extend StreamLoom with custom blocks, executors, and transports.

Installation

Install StreamLoom via pip:

pip install streamloom

Quick Start

Here's a simple example to get started:

from streamloom import AddBlock, Pipeline, ProcessExecutor, SocketTransport

# Define and connect blocks
add1 = AddBlock(x=10, y=20)
add2 = AddBlock(x=add1.result, y=100)

# Create pipeline with outputs
pipeline = Pipeline(blocks=[add1, add2], outputs={"final_sum": add2.result})

# Execute the pipeline
result = pipeline.execute()
print(result)  # Outputs: {final_sum: 130}

For more detailed examples and tutorials, check out our documentation.

Documentation

Detailed documentation is available here.

Contribution

We welcome contributions to StreamLoom! Please check out our CONTRIBUTING.md for guidelines.

License

StreamLoom is licensed under the MIT License.

Acknowledgements

Special thanks to the community and contributors for their invaluable feedback and contributions.

Contact

For queries or feedback, please contact sanygeek@gmail.com.

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

StreamLoom-0.1.2.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

StreamLoom-0.1.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file StreamLoom-0.1.2.tar.gz.

File metadata

  • Download URL: StreamLoom-0.1.2.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for StreamLoom-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e992a87426af733ddcba9019e2f54b6757544f3e8f008ba225c93255164bb83e
MD5 1d956d0b193ce6af317463775f25d264
BLAKE2b-256 ceb5250efb3e0080657063995db1f0659157872791e03489749f3cecf2217b51

See more details on using hashes here.

File details

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

File metadata

  • Download URL: StreamLoom-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for StreamLoom-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3624d1b80713be91b37988978eea41123add40773ac71249878f6aedf09ba9
MD5 99596969ba20d12ad8b20a1174126f23
BLAKE2b-256 2c4c4ffd8b0d6c2f8555479c41fa418b2b202339e8b4b3b13abe1ce37c8d8f50

See more details on using hashes here.

Supported by

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