SuperNova Async Pipeline: base package
Project description
SuperNova Async Pipeline
This package contains base for asynchronous real-time data analysis pipeline. It was designed for the supernova neutrino signal detection.
Documentation: https://snap-base.readthedocs.io
Features
- Running chains of generators and functions asynchronously.
- Computationally heavy/blocking code is run in parallel threads/processes.
- Pipeline is configured in a
yaml
file, where the steps are assembled and parameters are set. - Branching support: data can be fed to parallel chains for various processing.
- IO interfaces to connect running nodes with each other:
- ZeroMQ
- Hopskotch
Installation
pip install snap-base
This will install only the core functionality.
To install also the i/o interfaces use
pip install "snap-base[zmq,hop]"
or
pip install "snap-base[io]"
Defining the pipeline
The pipeline definition consist of
- A python module (or modules) where all the processing steps should be defined
yaml
configuration file, defining how the data should flow through these steps.
While this package defines some basic functions, like sending and receiving data via ZMQ or running analysis step in parallel processes, all other needed functions will need to be defined by user in the python package.
Package snap-combine contains more utility functions for the supernova neutrino signals combinations.
Running
Go to the directory where your
Run the node named node_name
from config.yml
:
snap config.yml -n node_name
Example
Put the example module example.py and configuration example_cfg.yml in a directory.
Run the example node with branching:
snap example_cfg.yml -n node_branching
And you should see the output of the generated random walk , and it's analysis in two branches.
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
Hashes for snap_base-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5223c317594e00b099db77c145a1062fef9adc1ef0729819173d538e54dc551c |
|
MD5 | f613f431172c4caef9b7c97ab47cc36b |
|
BLAKE2b-256 | c3686aff9e67e071dec497e093c8f908d1b3daae441b9f36ec7b21c38043fd54 |