Skip to main content

Streaming Graph Navigator. A framework to help navigate buffers through a graph. The buffers must flow.

Project description

sgn

This is an attempt to sketch a streaming framework to replace some good aspects of gstlal.

There are the following concepts defined

  • Buffer: An object designed to carry data through some execution graph
  • Source Pad: An object that is designed to create a buffer when asked
  • Sink Pad: An object that will receive a buffer when asked
  • Source Elements: These manage the creation of buffers on one or more Pads with the assumption that they will be executed as part of a graph
  • Sink Elements: These manage the consumption of buffers on one or more Pads with the assumption that they will be executed as part of a graph
  • Transform Elements: These manage the consumption of buffers that immediately result in the production of new buffers.
  • Pipelines: These manage the graph execution to pull buffers through the graph and potentially handle other events.

limitations

At the moment only single src / sink elements are supported for trivial linear graphs. There is a skeleton to start expanding it and it is written such that hopefully it will be possible.

Getting started

Clone the repo and run

$ python tests/test_graph.py 
buffer flow:  'src1:H1:src' -> 'H1trans1:H1:src' -> 'snk1:H1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans1:L1:src' -> 'snk1:L1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans2:L1:src' -> 'snk2:L1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:V1:src' -> 'snk2:V1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:K1:src' -> 'snk2:K1:sink'
buffer flow:  'src1:H1:src' -> 'H1trans1:H1:src' -> 'snk1:H1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans1:L1:src' -> 'snk1:L1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans2:L1:src' -> 'snk2:L1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:V1:src' -> 'snk2:V1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:K1:src' -> 'snk2:K1:sink'
buffer flow:  'src1:H1:src' -> 'H1trans1:H1:src' -> 'snk1:H1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans1:L1:src' -> 'snk1:L1:sink'
buffer flow:  'src1:L1:src' -> 'L1trans2:L1:src' -> 'snk2:L1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:V1:src' -> 'snk2:V1:sink'
buffer flow:  'src2:V1:src'+'src2:K1:src' -> 'V1K1trans1:K1:src' -> 'snk2:K1:sink'

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

sgn-0.0.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

sgn-0.0.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file sgn-0.0.2.tar.gz.

File metadata

  • Download URL: sgn-0.0.2.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for sgn-0.0.2.tar.gz
Algorithm Hash digest
SHA256 bd7b239939f8e31ba0fc4bd9a6675bcfb9814df41d390984701ee8e6d9d41705
MD5 41fa5abe603dfaf765fbb3358785043d
BLAKE2b-256 28ef09b7d80fb3fa3d67b1800a23c3fb56fd5f60b08f0820a01815141c2088e1

See more details on using hashes here.

File details

Details for the file sgn-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: sgn-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for sgn-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 15575388aebde723dd05b753f522175c1dd02d9ba642276451b903441d8c5bda
MD5 481b5214c8802c68f87bbdec440873b9
BLAKE2b-256 2f2b2f7f88c1aa7d7cd59e172141d08dad813ddc3f394fcc901fbeb3d3ff8d06

See more details on using hashes here.

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