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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e992a87426af733ddcba9019e2f54b6757544f3e8f008ba225c93255164bb83e
|
|
| MD5 |
1d956d0b193ce6af317463775f25d264
|
|
| BLAKE2b-256 |
ceb5250efb3e0080657063995db1f0659157872791e03489749f3cecf2217b51
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef3624d1b80713be91b37988978eea41123add40773ac71249878f6aedf09ba9
|
|
| MD5 |
99596969ba20d12ad8b20a1174126f23
|
|
| BLAKE2b-256 |
2c4c4ffd8b0d6c2f8555479c41fa418b2b202339e8b4b3b13abe1ce37c8d8f50
|