Skip to main content

SGN

ci ci documentation pypi version

SGN is a lightweight Python library for building streaming data pipelines. Connect sources, transforms, and sinks into clear workflows while SGN handles asynchronous execution under the hood. Zero external dependencies.

Installation

pip install sgn

Example

import functools
from sgn import Pipeline, IterSource, CallableTransform, CollectSink

def scale(frame, factor: float):
    return None if frame.data is None else frame.data * factor

src = IterSource(name="src", source_pad_names=["H1"], iters={"H1": [1, 2, 3]})

transform = CallableTransform.from_callable(
    name="t1",
    sink_pad_names=["H1"],
    callable=functools.partial(scale, factor=10),
    output_pad_name="H1",
)

sink = CollectSink(name="snk", sink_pad_names=["H1"])

p = Pipeline()
p.connect(src, transform)
p.connect(transform, sink)
p.run()

assert list(sink.collects["H1"]) == [10, 20, 30]

Documentation

  • Tutorial — New to SGN? Build your first pipeline step by step.
  • User Guide — Solve specific problems: connecting elements, grouping, parallelism, and more.
  • Background — Understand how SGN works: execution model, core concepts, and design decisions.
  • Reference — Elements and auto-generated API documentation.
  • sgn-ts: TimeSeries utilities for SGN
  • sgn-ligo: LSC specific utilities for SGN

Instructions for reviewers

  • We will use glreview for this project. Please familiarize yourself with it.

Unreviewed modules

  • A librarian or designated person will generate issues using glreview for all modules
    • The issue will contain an AI review with Claude
    • An AI generated merge request will be made to address issues. The librarian/designee may take liberties to guide that process so that it is high quality
    • The librarian/designee will seek out a human to be assigned to each issue at this point
  • The assigned human will:
    • Verify the pre-review checklist in the git issue (and check boxes if appropriate)
    • Post independent findings as well as notes on the AI review in findings
    • Fill out the overall summary table
    • update the MR (if required) and work with the code authors to approve and merge the MR
    • The issue will be closed when the MR is merged
    • run glreview signoff after the issue is closed

Reviewed modules - updating when code changes

  • FIXME. More to say on this later

Metadata

Release files for sgn 0.12.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sgn 0.12.3
File Size Uploaded
sgn-0.12.3.tar.gz 1.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sgn 0.12.3
File Interpreter ABI Platform
sgn-0.12.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / sgn-0.12.3.tar.gz

Download URL sgn-0.12.3.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
048f93a653a027cc49520105ecf18fed790e21053031558e3e8b84648e13ec87
BLAKE2b-256 checksum
How to use checksums
60c009aabe653ec6f174986cf57e29c6380d1db9ffe11b87f50b6c27cb1549b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release files / sgn-0.12.3-py3-none-any.whl

Download URL sgn-0.12.3-py3-none-any.whl
Size 146.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbfdcde5050df01e36c2153339ee0ae7b3b8d49f32427dad03718c9cad23447d
BLAKE2b-256 checksum
How to use checksums
3c5a911541d5dd31f47e435fc8b5aa149abc8e878a279e2916480e92b2bc77d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

0.12.3 This release

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page