Metadata-Version: 2.4
Name: sgn-arrakis
Version: 0.5.1
Summary: Arrakis interfaces for sgn-ts
Project-URL: Homepage, https://git.ligo.org/ngdd/sgn-arrakis
Project-URL: Repository, https://git.ligo.org/ngdd/sgn-arrakis.git
Project-URL: Issues, https://git.ligo.org/ngdd/sgn-arrakis/issues
Author-email: Olivia Godwin <olivia.godwin@ligo.org>, Jameson Graef Rollins <jameson.rollins@ligo.org>
License-Expression: LGPL-3.0-or-later
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: arrakis>=0.11
Requires-Dist: sgn-ts>=0.8
Requires-Dist: sgn>=0.8
Provides-Extra: dev
Requires-Dist: markdown-callouts>=0.2; extra == 'dev'
Requires-Dist: markdown-exec>=0.5; extra == 'dev'
Requires-Dist: mkdocs-coverage>=0.2; extra == 'dev'
Requires-Dist: mkdocs-gen-files>=0.3; extra == 'dev'
Requires-Dist: mkdocs-literate-nav>=0.4; extra == 'dev'
Requires-Dist: mkdocs-material-igwn; extra == 'dev'
Requires-Dist: mkdocs-section-index>=0.3; extra == 'dev'
Requires-Dist: mkdocs>=1.3; extra == 'dev'
Requires-Dist: mkdocstrings[python]; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: mypy-extensions; extra == 'dev'
Requires-Dist: pip; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-arrakis[publish]>=0.2; (python_version >= '3.11') and extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: toml>=0.10; extra == 'dev'
Provides-Extra: docs
Requires-Dist: markdown-callouts>=0.2; extra == 'docs'
Requires-Dist: markdown-exec>=0.5; extra == 'docs'
Requires-Dist: mkdocs-coverage>=0.2; extra == 'docs'
Requires-Dist: mkdocs-gen-files>=0.3; extra == 'docs'
Requires-Dist: mkdocs-literate-nav>=0.4; extra == 'docs'
Requires-Dist: mkdocs-material-igwn; extra == 'docs'
Requires-Dist: mkdocs-section-index>=0.3; extra == 'docs'
Requires-Dist: mkdocs>=1.3; extra == 'docs'
Requires-Dist: mkdocstrings[python]; extra == 'docs'
Requires-Dist: toml>=0.10; extra == 'docs'
Provides-Extra: lint
Requires-Dist: mypy; extra == 'lint'
Requires-Dist: mypy-extensions; extra == 'lint'
Requires-Dist: pip; extra == 'lint'
Requires-Dist: ruff; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-arrakis[publish]>=0.2; (python_version >= '3.11') and extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Description-Content-Type: text/markdown

<h1 align="center">sgn-arrakis</h1>

<p align="center"><a href="https://git.ligo.org/ngdd/arrakis-python">Arrakis</a> source and sink elements for <a href="https://git.ligo.org/greg/sgn-ts">sgn-ts</a></p>

<p align="center">
  <a href="https://git.ligo.org/ngdd/sgn-arrakis/-/pipelines/latest">
    <img alt="ci" src="https://git.ligo.org/ngdd/sgn-arrakis/badges/main/pipeline.svg" />
  </a>
  <a href="https://git.ligo.org/ngdd/sgn-arrakis/-/pipelines/latest">
    <img alt="coverage" src="https://git.ligo.org/ngdd/sgn-arrakis/badges/main/coverage.svg" />
  </a>
  <a href="https://docs.ligo.org/ngdd/sgn-arrakis">
    <img alt="documentation" src="https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat" />
  </a>
  <a href="https://pypi.org/project/sgn-arrakis/">
    <img alt="pypi version" src="https://img.shields.io/pypi/v/sgn-arrakis.svg" />
  </a>
</p>

---

## Resources

* [Documentation](https://docs.ligo.org/ngdd/sgn-arrakis)
* [Source Code](https://git.ligo.org/ngdd/sgn-arrakis)
* [Issue Tracker](https://git.ligo.org/ngdd/sgn-arrakis/-/issues)

## Installation

```
pip install sgn-arrakis
```

## Quickstart

### Stream data from Arrakis

``` python
from sgn_arrakis import ArrakisSource
from sgn.apps import Pipeline

src = ArrakisSource(
    source_pad_names=["L1:GDS-CALIB_STRAIN"],
    start=1187008882,
    duration=64,
)

pipeline = Pipeline()
pipeline.insert(src, ...)
pipeline.run()
```

### Publish data to Arrakis

``` python
from sgn_arrakis import ArrakisSink
from sgn.apps import Pipeline

sink = ArrakisSink(
    publisher_id="my-publisher-id",
    sink_pad_names=["H1:GDS-CALIB_STRAIN"],
)

pipeline = Pipeline()
pipeline.insert(..., sink)
pipeline.run()
```
