Python framework that provides the basic building blocks to implement data processing graphs.
Project description
Hydra Framework
Description
Hydra is a framework (actually, currently more of a collection of classes) that provides the basic building blocks to implement data processing software as a graph of nodes while making heavy use of the publisher/subscriber design pattern.
There are four kinds of nodes in each graph:
-
Sources: Nodes which are only publishing data items to subscribing nodes in the graph (e.g. file readers, sockets to read data from, REST endpoints etc).
-
Sinks: Nodes that are only consuming data from publishing nodes. These are the end-points of the graph (e.g. loggers, display widgets, sockets used to send data, REST endpoints, websockets etc).
-
SourceSinks: Nodes that are both consuming and producing data and are graph end-points at the same time (e.g. sockets used to send and receive data).
-
Intermediate nodes: Nodes which are both consuming (subscribers) and publishing data at the same time. Such nodes can be used for various purposes such as buffering, examining, transforming, filtering data etc.
The available classes are broken down to the following modules:
hydra_core: Contains the basic classes from which graphs are built.hydra_common: Classes for commonly used node types (e.g. queues).hydra_net: TCP and UDP SourceSinks.hydra_rest: REST API endpoint node (usesFlaskand its built-in development server).
Installation
Install with pip:
pip install hydra-framework
Examples
See example.py.
TODO
- Implement the following modules:
hydra_websocket: Module that provides REST and websocket sinks and sources.hydra_gui_qt5: Module that provides GUI components for QT5 (Python for QT).
- Add a REST client node implementation based on the
requestsmodule.
Requirements
- Python 3.x
- Flask (for hydra-rest)
License
MIT license
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 hydra_framework-0.2.2.tar.gz.
File metadata
- Download URL: hydra_framework-0.2.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
441eb2f80bc248e3fe7913db4f45b4e47d7ecbfc9a93d1851467c80819501ddd
|
|
| MD5 |
b449fcb12d30ed1ab000bc35b84ddba0
|
|
| BLAKE2b-256 |
9ae5f7f36ffe2f488f483f9f149ac0741c2044f15cb886b9bc9340631f59b722
|
File details
Details for the file hydra_framework-0.2.2-py3-none-any.whl.
File metadata
- Download URL: hydra_framework-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0982d70854af01223c59f31f50495a910ea309f457bed5203085cc82be3f4318
|
|
| MD5 |
34c4bdb2d183fc0c8ac35ee545559435
|
|
| BLAKE2b-256 |
be9a21e008ceadb5a122ef5e30c8f809b1826011dda084d658d949dbd2be657a
|