sgn-drift 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. sgn_drift-0.1.0/.gitignore +12 -0
  2. sgn_drift-0.1.0/.gitlab-ci.yml +57 -0
  3. sgn_drift-0.1.0/PKG-INFO +91 -0
  4. sgn_drift-0.1.0/README.md +40 -0
  5. sgn_drift-0.1.0/build_requirements.txt +9 -0
  6. sgn_drift-0.1.0/docs/api/sinks/drift_sink.md +1 -0
  7. sgn_drift-0.1.0/docs/api/transforms/drift.md +1 -0
  8. sgn_drift-0.1.0/docs/api/transforms/psd.md +1 -0
  9. sgn_drift-0.1.0/docs/api/util/drift.md +1 -0
  10. sgn_drift-0.1.0/docs/api/util/psd_estimators.md +1 -0
  11. sgn_drift-0.1.0/docs/index.md +24 -0
  12. sgn_drift-0.1.0/mkdocs.yml +58 -0
  13. sgn_drift-0.1.0/pyproject.toml +135 -0
  14. sgn_drift-0.1.0/setup.cfg +4 -0
  15. sgn_drift-0.1.0/src/sgn_drift.egg-info/PKG-INFO +91 -0
  16. sgn_drift-0.1.0/src/sgn_drift.egg-info/SOURCES.txt +39 -0
  17. sgn_drift-0.1.0/src/sgn_drift.egg-info/dependency_links.txt +1 -0
  18. sgn_drift-0.1.0/src/sgn_drift.egg-info/entry_points.txt +7 -0
  19. sgn_drift-0.1.0/src/sgn_drift.egg-info/requires.txt +41 -0
  20. sgn_drift-0.1.0/src/sgn_drift.egg-info/top_level.txt +1 -0
  21. sgn_drift-0.1.0/src/sgndrift/__init__.py +0 -0
  22. sgn_drift-0.1.0/src/sgndrift/_version.py +34 -0
  23. sgn_drift-0.1.0/src/sgndrift/bin/__init__.py +0 -0
  24. sgn_drift-0.1.0/src/sgndrift/bin/estimate_drift.py +278 -0
  25. sgn_drift-0.1.0/src/sgndrift/bin/plot_drift.py +177 -0
  26. sgn_drift-0.1.0/src/sgndrift/bin/plot_drift_comparison.py +211 -0
  27. sgn_drift-0.1.0/src/sgndrift/bin/plot_drift_super.py +272 -0
  28. sgn_drift-0.1.0/src/sgndrift/bin/plot_drift_super_comp.py +360 -0
  29. sgn_drift-0.1.0/src/sgndrift/bin/plot_drift_time.py +210 -0
  30. sgn_drift-0.1.0/src/sgndrift/psd/__init__.py +0 -0
  31. sgn_drift-0.1.0/src/sgndrift/psd/drift.py +73 -0
  32. sgn_drift-0.1.0/src/sgndrift/psd/estimators.py +150 -0
  33. sgn_drift-0.1.0/src/sgndrift/sinks/__init__.py +0 -0
  34. sgn_drift-0.1.0/src/sgndrift/sinks/drift_sink.py +154 -0
  35. sgn_drift-0.1.0/src/sgndrift/transforms/__init__.py +0 -0
  36. sgn_drift-0.1.0/src/sgndrift/transforms/drift.py +145 -0
  37. sgn_drift-0.1.0/src/sgndrift/transforms/psd.py +190 -0
  38. sgn_drift-0.1.0/tests/test_psd_drift.py +174 -0
  39. sgn_drift-0.1.0/tests/test_psd_estimators.py +463 -0
  40. sgn_drift-0.1.0/tests/test_sinks_drift_sink.py +206 -0
  41. sgn_drift-0.1.0/tests/test_transforms_drift.py +327 -0
@@ -0,0 +1,12 @@
1
+ # artifacts
2
+ *.egg-info
3
+ build/
4
+ dist/
5
+ site/
6
+ __pycache__
7
+ _version.py
8
+ .coverage
9
+
10
+ # IDE specific files
11
+ .vscode/
12
+ .idea/
@@ -0,0 +1,57 @@
1
+ include:
2
+ - component: git.ligo.org/computing/gitlab/components/python/sdist@1
3
+ - component: git.ligo.org/computing/gitlab/components/python/wheel@1
4
+ - component: git.ligo.org/computing/gitlab/components/python/code-quality@1
5
+ inputs:
6
+ requirements: ".[lint]"
7
+ - component: git.ligo.org/computing/gitlab/components/python/dependency-scanning@1
8
+ # - component: git.ligo.org/computing/gitlab/components/python/type-checking@1
9
+ - component: git.ligo.org/computing/gitlab/components/python/test@1
10
+ inputs:
11
+ install_extra: test
12
+ python_versions:
13
+ - "3.10"
14
+ - "3.11"
15
+ - "3.12"
16
+ - "3.13"
17
+ - component: git.ligo.org/computing/gitlab/components/mkdocs/build@1
18
+ inputs:
19
+ image: python:3.12
20
+ project_dir: "."
21
+ requirements: ".[docs]"
22
+ - component: git.ligo.org/computing/gitlab/components/mkdocs/pages@1
23
+ inputs:
24
+ pages_when: "default"
25
+
26
+
27
+ python_test:
28
+ before_script:
29
+ - echo "Manually installing system dependencies"
30
+ - |
31
+ apt-get update
32
+ - echo "Installing SGN Family libraries"
33
+ - |
34
+ pip install -r build_requirements.txt
35
+
36
+ mkdocs:
37
+ before_script:
38
+ - echo "Manually installing system dependencies"
39
+ - |
40
+ apt-get update
41
+ - echo "Upgrading pip"
42
+ - |
43
+ pip install --upgrade pip
44
+ - echo "Installing SGN Family libraries"
45
+ - |
46
+ pip install -r build_requirements.txt
47
+
48
+
49
+ flake8-code_quality:
50
+ image: python:3.12
51
+ before_script:
52
+ - echo "Manually installing system dependencies"
53
+ - |
54
+ apt-get update
55
+ - echo "Installing SGN Family libraries"
56
+ - |
57
+ pip install -r build_requirements.txt
@@ -0,0 +1,91 @@
1
+ Metadata-Version: 2.4
2
+ Name: sgn-drift
3
+ Version: 0.1.0
4
+ Summary: PSD Drift Data Quality Extensions for the SGN Framework
5
+ Author-email: James Kennington <jmk7376@psu.edu>, Zach Yarbrough <jmk7376@psu.edu>, Joshua Black <jmk7376@psu.edu>
6
+ License-Expression: MPL-2.0
7
+ Project-URL: Homepage, https://git.ligo.org/james.kennington/sgn-drift
8
+ Project-URL: Documentation, https://docs.ligo.org/james.kennington/sgn-drift
9
+ Project-URL: Issues, https://git.ligo.org/james.kennington/sgn-drift/issues
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.10
13
+ Description-Content-Type: text/markdown
14
+ Requires-Dist: gwpy
15
+ Requires-Dist: h5py
16
+ Requires-Dist: igwn-ligolw
17
+ Requires-Dist: igwn-segments
18
+ Requires-Dist: lalsuite>=7.26
19
+ Requires-Dist: scipy<1.17
20
+ Requires-Dist: sgn>=0.4
21
+ Requires-Dist: sgn-ts>=0.4
22
+ Requires-Dist: sgn-ligo
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest; extra == "test"
25
+ Requires-Dist: pytest-cov; extra == "test"
26
+ Requires-Dist: pytest-freezer; extra == "test"
27
+ Requires-Dist: pytest-markdown-docs; extra == "test"
28
+ Provides-Extra: docs
29
+ Requires-Dist: mkdocs; extra == "docs"
30
+ Requires-Dist: mkdocstrings; extra == "docs"
31
+ Requires-Dist: mkdocstrings-python; extra == "docs"
32
+ Requires-Dist: mkdocs-material; extra == "docs"
33
+ Requires-Dist: pymdown-extensions; extra == "docs"
34
+ Provides-Extra: lint
35
+ Requires-Dist: black; extra == "lint"
36
+ Requires-Dist: flake8; extra == "lint"
37
+ Requires-Dist: flake8-bandit; extra == "lint"
38
+ Requires-Dist: flake8-black; extra == "lint"
39
+ Requires-Dist: flake8-bugbear; extra == "lint"
40
+ Requires-Dist: flake8-future-annotations; extra == "lint"
41
+ Requires-Dist: flake8-isort; extra == "lint"
42
+ Requires-Dist: flake8-logging-format; extra == "lint"
43
+ Requires-Dist: flake8-pyproject; extra == "lint"
44
+ Requires-Dist: isort; extra == "lint"
45
+ Requires-Dist: mypy; extra == "lint"
46
+ Requires-Dist: mypy-extensions; extra == "lint"
47
+ Provides-Extra: dev
48
+ Requires-Dist: sgn-drift[docs]; extra == "dev"
49
+ Requires-Dist: sgn-drift[lint]; extra == "dev"
50
+ Requires-Dist: sgn-drift[test]; extra == "dev"
51
+
52
+ # SGN-Drift
53
+
54
+ **Geometric Spectral Diagnostics for Gravitational Wave Detectors.**
55
+
56
+ `sgn-drift` is an extension to the [SGN](https://git.ligo.org/greg/sgn) framework designed to quantify the stability of
57
+ the detector noise floor using Information Geometry.
58
+
59
+ ## Installation
60
+
61
+ ```bash
62
+ pip install sgn-drift
63
+ ```
64
+
65
+ ## Example Usage
66
+
67
+ ### Command Line
68
+
69
+ ```bash
70
+ sgn-drift-estimate --detector L1 --start 1263085000 --end 1263089096 --output drift_L1.csv --bands "low:10:50,mid:50:300"
71
+ ```
72
+
73
+ ### Python API
74
+
75
+ ```python
76
+ from sgndrift.bin.estimate_drift import estimate_drift
77
+
78
+ bands = {
79
+ "v_low": (10, 50),
80
+ "v_mid": (50, 300)
81
+ }
82
+
83
+ estimate_drift(
84
+ start=1262600000,
85
+ end=1262604096,
86
+ detector="L1",
87
+ output_drift="analysis.csv",
88
+ bands=bands,
89
+ verbose=True
90
+ )
91
+ ```
@@ -0,0 +1,40 @@
1
+ # SGN-Drift
2
+
3
+ **Geometric Spectral Diagnostics for Gravitational Wave Detectors.**
4
+
5
+ `sgn-drift` is an extension to the [SGN](https://git.ligo.org/greg/sgn) framework designed to quantify the stability of
6
+ the detector noise floor using Information Geometry.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ pip install sgn-drift
12
+ ```
13
+
14
+ ## Example Usage
15
+
16
+ ### Command Line
17
+
18
+ ```bash
19
+ sgn-drift-estimate --detector L1 --start 1263085000 --end 1263089096 --output drift_L1.csv --bands "low:10:50,mid:50:300"
20
+ ```
21
+
22
+ ### Python API
23
+
24
+ ```python
25
+ from sgndrift.bin.estimate_drift import estimate_drift
26
+
27
+ bands = {
28
+ "v_low": (10, 50),
29
+ "v_mid": (50, 300)
30
+ }
31
+
32
+ estimate_drift(
33
+ start=1262600000,
34
+ end=1262604096,
35
+ detector="L1",
36
+ output_drift="analysis.csv",
37
+ bands=bands,
38
+ verbose=True
39
+ )
40
+ ```
@@ -0,0 +1,9 @@
1
+ # Build requirements for SGN family of packages
2
+
3
+ stillsuit @ git+https://git.ligo.org/greg/stillsuit.git@main
4
+ gw-strike @ git+https://git.ligo.org/greg/strike.git@main
5
+ sgn @ git+https://git.ligo.org/greg/sgn.git@main
6
+ sgn-event @ git+https://git.ligo.org/greg/sgn-event.git@main
7
+ sgn-ts @ git+https://git.ligo.org/greg/sgn-ts.git@main
8
+ sgn-ligo @ git+https://git.ligo.org/greg/sgn-ligo.git@main
9
+ zlw @ git+https://git.ligo.org/james.kennington/zlw.git@main
@@ -0,0 +1 @@
1
+ ::: sgndrift.sinks.drift_sink
@@ -0,0 +1 @@
1
+ ::: sgndrift.transforms.drift
@@ -0,0 +1 @@
1
+ ::: sgndrift.transforms.psd
@@ -0,0 +1 @@
1
+ ::: sgndrift.psd.drift
@@ -0,0 +1 @@
1
+ ::: sgndrift.psd.estimators
@@ -0,0 +1,24 @@
1
+ # SGN-Drift Documentation
2
+
3
+ **SGN-Drift** provides a specialized toolkit for analyzing the non-stationarity of gravitational wave detector noise. It
4
+ builds upon the `sgn-ligo` ecosystem to provide real-time and offline estimates of spectral stability.
5
+
6
+ ## Key Features
7
+
8
+ * **Fisher Velocity Metric:** Implements the rigorous geometric definition of spectral drift (Paper A2).
9
+ * **Band-Limited Analysis:** Decompose instability into frequency bands (e.g., distinguishing Scattering from Whistles).
10
+ * **Recursive Estimators:** Includes fast, infinite-impulse-response (IIR) PSD estimators for low-latency tracking.
11
+ * **SGN Integration:** Fully compatible with GStreamer-based pipelines via the `sgn` framework.
12
+
13
+ ## Component Overview
14
+
15
+ | Component | Description |
16
+ |:-----------------|:------------------------------------------------------------------------|
17
+ | `FisherVelocity` | Transform element that calculates the drift metric between PSD frames. |
18
+ | `RecursivePSD` | Fast PSD estimator suitable for tracking rapidly changing noise floors. |
19
+ | `DriftCSVSink` | Specialized sink for writing sparse drift event data to disk. |
20
+
21
+ ## Getting Started
22
+
23
+ Check the [API Reference](api/util/psd_estimators.md) for details on the underlying mathematics, or see the `bin/`
24
+ directory for example scripts.
@@ -0,0 +1,58 @@
1
+ site_name: SGN-Drift Documentation
2
+
3
+ nav:
4
+ - Home: index.md
5
+ - API Reference:
6
+ - Utilities:
7
+ - PSD Estimators: api/util/psd_estimators.md
8
+ - Drift Estimators: api/util/drift.md
9
+ - Transforms:
10
+ - PSD: api/transforms/psd.md
11
+ - Drift: api/transforms/drift.md
12
+ - Sinks:
13
+ - DriftSink: api/sinks/drift_sink.md
14
+
15
+ plugins:
16
+ - search
17
+ - mkdocstrings:
18
+ handlers:
19
+ python:
20
+ options:
21
+ show_inheritance_diagram: true
22
+ show_root_heading: true
23
+ show_root_toc_entry: true
24
+ show_symbol_type_heading: true
25
+ heading_level: 1
26
+
27
+ theme:
28
+ name: material
29
+ # logo: assets/img/sgndrift-small.png
30
+ features:
31
+ - content.code.copy
32
+
33
+ extra_css:
34
+ - assets/css/sgn.css
35
+ - assets/css/mkdocstrings-custom.css
36
+ - https://unpkg.com/katex@0/dist/katex.min.css
37
+
38
+
39
+ markdown_extensions:
40
+ - pymdownx.superfences:
41
+ - toc:
42
+ permalink: true
43
+ toc_depth: 4
44
+ - admonition: {}
45
+ - pymdownx.arithmatex:
46
+ generic: true
47
+
48
+ extra_javascript:
49
+ - assets/js/katex.js
50
+ - https://unpkg.com/katex@0/dist/katex.min.js
51
+ - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js
52
+
53
+
54
+ extra:
55
+ analytics:
56
+ provider: google
57
+ property: G-FCGJLPECE2
58
+
@@ -0,0 +1,135 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools>=42",
4
+ "setuptools_scm[toml]>=3.4.3",
5
+ "wheel",
6
+ "pyproject-flake8",
7
+ ]
8
+ build-backend = "setuptools.build_meta"
9
+
10
+ [project]
11
+ name = "sgn-drift"
12
+ dynamic = ["version"]
13
+ dependencies = [
14
+ "gwpy",
15
+ "h5py",
16
+ "igwn-ligolw",
17
+ "igwn-segments",
18
+ "lalsuite>=7.26",
19
+ "scipy < 1.17",
20
+ "sgn >= 0.4",
21
+ "sgn-ts >= 0.4",
22
+ "sgn-ligo",
23
+ ]
24
+ requires-python = ">=3.10"
25
+ authors = [
26
+ { name = "James Kennington", email = "jmk7376@psu.edu" },
27
+ { name = "Zach Yarbrough", email = "jmk7376@psu.edu" },
28
+ { name = "Joshua Black", email = "jmk7376@psu.edu" },
29
+ ]
30
+ description = "PSD Drift Data Quality Extensions for the SGN Framework"
31
+ readme = "README.md"
32
+ license = "MPL-2.0"
33
+ classifiers = [
34
+ "Programming Language :: Python :: 3",
35
+ "Operating System :: OS Independent",
36
+ ]
37
+
38
+ [project.urls]
39
+ Homepage = "https://git.ligo.org/james.kennington/sgn-drift"
40
+ Documentation = "https://docs.ligo.org/james.kennington/sgn-drift"
41
+ Issues = "https://git.ligo.org/james.kennington/sgn-drift/issues"
42
+
43
+ [project.optional-dependencies]
44
+ test = [
45
+ "pytest",
46
+ "pytest-cov",
47
+ "pytest-freezer",
48
+ "pytest-markdown-docs",
49
+ ]
50
+ docs = [
51
+ "mkdocs",
52
+ "mkdocstrings",
53
+ "mkdocstrings-python",
54
+ "mkdocs-material",
55
+ "pymdown-extensions",
56
+ ]
57
+ lint = [
58
+ "black",
59
+ "flake8",
60
+ "flake8-bandit",
61
+ "flake8-black",
62
+ "flake8-bugbear",
63
+ "flake8-future-annotations",
64
+ "flake8-isort",
65
+ "flake8-logging-format",
66
+ "flake8-pyproject",
67
+ "isort",
68
+ "mypy",
69
+ "mypy-extensions",
70
+ ]
71
+ dev = [
72
+ "sgn-drift[docs]",
73
+ "sgn-drift[lint]",
74
+ "sgn-drift[test]",
75
+ ]
76
+
77
+ [tool.setuptools.packages.find]
78
+ where = ["src"]
79
+
80
+ [tool.setuptools.package-data]
81
+ sgnl = [
82
+ "py.typed",
83
+ ]
84
+
85
+ [tool.setuptools_scm]
86
+ write_to = "src/sgndrift/_version.py"
87
+
88
+ [tool.coverage.paths]
89
+ source = [
90
+ "src/sgndrift/",
91
+ "*/sgndrift/",
92
+ ]
93
+
94
+ [tool.coverage.report]
95
+ omit = ["_version.py", "tests/*", "examples/*", "setup.py", "*/__init__.py"]
96
+
97
+ [tool.isort]
98
+ profile = "black"
99
+
100
+ [tool.mypy]
101
+ ignore_missing_imports = true
102
+ exclude = [
103
+ "build",
104
+ "docs",
105
+ ]
106
+
107
+ [tool.pytest.ini_options]
108
+ addopts = "-p no:warnings --cov-config=.coveragerc --cov=sgndrift --cov-report=term-missing --markdown-docs-syntax=superfences"
109
+
110
+ [tool.flake8]
111
+ max-line-length = 88
112
+ extend-ignore = [
113
+ "E203",
114
+ "S101",
115
+ ]
116
+ per-file-ignores = [
117
+ "__init__.py:F401",
118
+ "_version.py:BLK100",
119
+ "docs/conf.py:E501",
120
+ "tests/test_datasource.py:S108",
121
+ "tests/*.py:E731",
122
+ ]
123
+ exclude = [
124
+ "build",
125
+ "docs",
126
+ "_version.py",
127
+ ]
128
+
129
+ [project.scripts]
130
+ sgn-drift-estimate = "sgndrift.bin.estimate_drift:main"
131
+ sgn-drift-plot = "sgndrift.bin.plot_drift:main"
132
+ sgn-drift-plot-comp = "sgndrift.bin.plot_drift_comparison:main"
133
+ sgn-drift-plot-time = "sgndrift.bin.plot_drift_time:main"
134
+ sgn-drift-plot-super = "sgndrift.bin.plot_drift_super:main"
135
+ sgn-drift-plot-super-comp = "sgndrift.bin.plot_drift_super_comp:main"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,91 @@
1
+ Metadata-Version: 2.4
2
+ Name: sgn-drift
3
+ Version: 0.1.0
4
+ Summary: PSD Drift Data Quality Extensions for the SGN Framework
5
+ Author-email: James Kennington <jmk7376@psu.edu>, Zach Yarbrough <jmk7376@psu.edu>, Joshua Black <jmk7376@psu.edu>
6
+ License-Expression: MPL-2.0
7
+ Project-URL: Homepage, https://git.ligo.org/james.kennington/sgn-drift
8
+ Project-URL: Documentation, https://docs.ligo.org/james.kennington/sgn-drift
9
+ Project-URL: Issues, https://git.ligo.org/james.kennington/sgn-drift/issues
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.10
13
+ Description-Content-Type: text/markdown
14
+ Requires-Dist: gwpy
15
+ Requires-Dist: h5py
16
+ Requires-Dist: igwn-ligolw
17
+ Requires-Dist: igwn-segments
18
+ Requires-Dist: lalsuite>=7.26
19
+ Requires-Dist: scipy<1.17
20
+ Requires-Dist: sgn>=0.4
21
+ Requires-Dist: sgn-ts>=0.4
22
+ Requires-Dist: sgn-ligo
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest; extra == "test"
25
+ Requires-Dist: pytest-cov; extra == "test"
26
+ Requires-Dist: pytest-freezer; extra == "test"
27
+ Requires-Dist: pytest-markdown-docs; extra == "test"
28
+ Provides-Extra: docs
29
+ Requires-Dist: mkdocs; extra == "docs"
30
+ Requires-Dist: mkdocstrings; extra == "docs"
31
+ Requires-Dist: mkdocstrings-python; extra == "docs"
32
+ Requires-Dist: mkdocs-material; extra == "docs"
33
+ Requires-Dist: pymdown-extensions; extra == "docs"
34
+ Provides-Extra: lint
35
+ Requires-Dist: black; extra == "lint"
36
+ Requires-Dist: flake8; extra == "lint"
37
+ Requires-Dist: flake8-bandit; extra == "lint"
38
+ Requires-Dist: flake8-black; extra == "lint"
39
+ Requires-Dist: flake8-bugbear; extra == "lint"
40
+ Requires-Dist: flake8-future-annotations; extra == "lint"
41
+ Requires-Dist: flake8-isort; extra == "lint"
42
+ Requires-Dist: flake8-logging-format; extra == "lint"
43
+ Requires-Dist: flake8-pyproject; extra == "lint"
44
+ Requires-Dist: isort; extra == "lint"
45
+ Requires-Dist: mypy; extra == "lint"
46
+ Requires-Dist: mypy-extensions; extra == "lint"
47
+ Provides-Extra: dev
48
+ Requires-Dist: sgn-drift[docs]; extra == "dev"
49
+ Requires-Dist: sgn-drift[lint]; extra == "dev"
50
+ Requires-Dist: sgn-drift[test]; extra == "dev"
51
+
52
+ # SGN-Drift
53
+
54
+ **Geometric Spectral Diagnostics for Gravitational Wave Detectors.**
55
+
56
+ `sgn-drift` is an extension to the [SGN](https://git.ligo.org/greg/sgn) framework designed to quantify the stability of
57
+ the detector noise floor using Information Geometry.
58
+
59
+ ## Installation
60
+
61
+ ```bash
62
+ pip install sgn-drift
63
+ ```
64
+
65
+ ## Example Usage
66
+
67
+ ### Command Line
68
+
69
+ ```bash
70
+ sgn-drift-estimate --detector L1 --start 1263085000 --end 1263089096 --output drift_L1.csv --bands "low:10:50,mid:50:300"
71
+ ```
72
+
73
+ ### Python API
74
+
75
+ ```python
76
+ from sgndrift.bin.estimate_drift import estimate_drift
77
+
78
+ bands = {
79
+ "v_low": (10, 50),
80
+ "v_mid": (50, 300)
81
+ }
82
+
83
+ estimate_drift(
84
+ start=1262600000,
85
+ end=1262604096,
86
+ detector="L1",
87
+ output_drift="analysis.csv",
88
+ bands=bands,
89
+ verbose=True
90
+ )
91
+ ```
@@ -0,0 +1,39 @@
1
+ .gitignore
2
+ .gitlab-ci.yml
3
+ README.md
4
+ build_requirements.txt
5
+ mkdocs.yml
6
+ pyproject.toml
7
+ docs/index.md
8
+ docs/api/sinks/drift_sink.md
9
+ docs/api/transforms/drift.md
10
+ docs/api/transforms/psd.md
11
+ docs/api/util/drift.md
12
+ docs/api/util/psd_estimators.md
13
+ src/sgn_drift.egg-info/PKG-INFO
14
+ src/sgn_drift.egg-info/SOURCES.txt
15
+ src/sgn_drift.egg-info/dependency_links.txt
16
+ src/sgn_drift.egg-info/entry_points.txt
17
+ src/sgn_drift.egg-info/requires.txt
18
+ src/sgn_drift.egg-info/top_level.txt
19
+ src/sgndrift/__init__.py
20
+ src/sgndrift/_version.py
21
+ src/sgndrift/bin/__init__.py
22
+ src/sgndrift/bin/estimate_drift.py
23
+ src/sgndrift/bin/plot_drift.py
24
+ src/sgndrift/bin/plot_drift_comparison.py
25
+ src/sgndrift/bin/plot_drift_super.py
26
+ src/sgndrift/bin/plot_drift_super_comp.py
27
+ src/sgndrift/bin/plot_drift_time.py
28
+ src/sgndrift/psd/__init__.py
29
+ src/sgndrift/psd/drift.py
30
+ src/sgndrift/psd/estimators.py
31
+ src/sgndrift/sinks/__init__.py
32
+ src/sgndrift/sinks/drift_sink.py
33
+ src/sgndrift/transforms/__init__.py
34
+ src/sgndrift/transforms/drift.py
35
+ src/sgndrift/transforms/psd.py
36
+ tests/test_psd_drift.py
37
+ tests/test_psd_estimators.py
38
+ tests/test_sinks_drift_sink.py
39
+ tests/test_transforms_drift.py
@@ -0,0 +1,7 @@
1
+ [console_scripts]
2
+ sgn-drift-estimate = sgndrift.bin.estimate_drift:main
3
+ sgn-drift-plot = sgndrift.bin.plot_drift:main
4
+ sgn-drift-plot-comp = sgndrift.bin.plot_drift_comparison:main
5
+ sgn-drift-plot-super = sgndrift.bin.plot_drift_super:main
6
+ sgn-drift-plot-super-comp = sgndrift.bin.plot_drift_super_comp:main
7
+ sgn-drift-plot-time = sgndrift.bin.plot_drift_time:main
@@ -0,0 +1,41 @@
1
+ gwpy
2
+ h5py
3
+ igwn-ligolw
4
+ igwn-segments
5
+ lalsuite>=7.26
6
+ scipy<1.17
7
+ sgn>=0.4
8
+ sgn-ts>=0.4
9
+ sgn-ligo
10
+
11
+ [dev]
12
+ sgn-drift[docs]
13
+ sgn-drift[lint]
14
+ sgn-drift[test]
15
+
16
+ [docs]
17
+ mkdocs
18
+ mkdocstrings
19
+ mkdocstrings-python
20
+ mkdocs-material
21
+ pymdown-extensions
22
+
23
+ [lint]
24
+ black
25
+ flake8
26
+ flake8-bandit
27
+ flake8-black
28
+ flake8-bugbear
29
+ flake8-future-annotations
30
+ flake8-isort
31
+ flake8-logging-format
32
+ flake8-pyproject
33
+ isort
34
+ mypy
35
+ mypy-extensions
36
+
37
+ [test]
38
+ pytest
39
+ pytest-cov
40
+ pytest-freezer
41
+ pytest-markdown-docs
@@ -0,0 +1 @@
1
+ sgndrift
File without changes
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '0.1.0'
32
+ __version_tuple__ = version_tuple = (0, 1, 0)
33
+
34
+ __commit_id__ = commit_id = 'ge68e85fce'
File without changes