Segment Evaluation & Generation Application
Project description
sega
Segment Evaluation & Generation Application
Evaluate data quality conditions on detector channel data and produce IGWN XML segment files or publish directly to DQSegDB. SEGA is built on the SGN streaming pipeline framework and driven by declarative YAML configuration.
Resources
Installation
pip install sega
Where to Start
- Tutorial -- New to SEGA? Write a config file and generate your first segments step by step.
- User Guide -- Configuration, condition types, data sources, output modes, and the CLI.
- API Reference -- API documentation.
Features
- Declarative YAML configuration with includes, defaults, and bulk expansion
- Per-sample threshold, range, and bitwise condition checks
- Aggregate statistics (mean, RMS) with trend detection
- Boolean condition logic with arbitrary nesting (
all_of,any_of,not) - Infix expression syntax for complex boolean conditions (
a & !b | c) - Multiple data sources: gravitational wave frames, Arrakis, or synthetic data
- Output to IGWN XML segment files or DQSegDB
- Dry-run mode for config validation
Quickstart
Write a configuration file
Create a file called config.yaml:
meta:
ifo: H1
subsystem: DQ
conditions:
calibrated:
operator: bits_set
channel: H1:GDS-CALIB_STATE_VECTOR
bits: [0, 6]
low_noise:
operator: below
channel: H1:PEM-CS_ACC_BEAMTUBE_X_DQ
threshold: 500.0
science_ready:
operator: boolean
expr: "calibrated & low_noise"
segments:
H1:DQ-SCIENCE_READY:
condition: science_ready
version: 1
limit: 16
comment: "Calibrated and low noise"
Run from frame files
sega --config config.yaml --source frames \
--frames /path/to/H-H1_R-*.gwf \
--start 1187000000 --end 1187001000
This evaluates the conditions over the specified time range and writes an XML segment file to the current directory.
Validate a config without running
sega --config config.yaml --source fake --dry-run
The --dry-run flag parses and validates the configuration, printing a summary
table of conditions and output segments. Use -v to include the full segment
listing.
Stream from Arrakis
sega --config config.yaml --source arrakis
Without --start and --end, SEGA streams live data continuously. Press
Ctrl+C to stop.
Publish to DQSegDB
sega --config config.yaml --source arrakis \
--output-mode dqsegdb \
--segment-server https://segments.ligo.org
Boolean expressions
Boolean conditions support infix notation with & (AND), | (OR), and !
(NOT), with standard precedence:
conditions:
calibrated:
operator: bits_set
channel: H1:GDS-CALIB_STATE_VECTOR
bits: [0, 6]
injecting:
operator: bits_set
channel: H1:GDS-CALIB_STATE_VECTOR
bits: [5]
low_noise:
operator: below
channel: H1:PEM-CS_ACC_BEAMTUBE_X_DQ
threshold: 500.0
analysis_ready:
operator: boolean
expr: "calibrated & !injecting & low_noise"
This is equivalent to the explicit form:
analysis_ready:
operator: boolean
all_of:
- calibrated
- not: injecting
- low_noise
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 sega-0.1.0.tar.gz.
File metadata
- Download URL: sega-0.1.0.tar.gz
- Upload date:
- Size: 231.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16cd28f695a9360bf2ccc6401d7639775bf5b0f72d47f08baabc0007f6eed3ea
|
|
| MD5 |
f54abbb60db44d304d84179433970e56
|
|
| BLAKE2b-256 |
659e28d949da1a6cdd38acacef43c6a03552e6108f97c95b9183f1fb0ce95fac
|
File details
Details for the file sega-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sega-0.1.0-py3-none-any.whl
- Upload date:
- Size: 55.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51bcf50f4d3a465795220eca7f0202efec937fb8ebef098b8ff152c20c8d9ccb
|
|
| MD5 |
14a20539f8613b6a12b1aba8a67cf8f0
|
|
| BLAKE2b-256 |
742c8c9adc7985e26f6488aa5d8e0ff21706e5ca8c71a8a8efb82b6e47aa403a
|