segwo 0.2.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.
segwo-0.2.0/LICENSE ADDED
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024, Olaf Hartwig and Jean-Baptiste Bayle.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
segwo-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.3
2
+ Name: segwo
3
+ Version: 0.2.0
4
+ Summary: Sensitivity Estimation for Gravitational-Wave Observatories
5
+ License: BSD 3-Clause
6
+ Keywords: gravitational-wave,sensitivity curve,noise budget
7
+ Author: Jean-Baptiste Bayle
8
+ Author-email: j2b.bayle@gmail.com
9
+ Requires-Python: >=3.11,<4.0
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Topic :: Scientific/Engineering :: Astronomy
12
+ Classifier: Topic :: Scientific/Engineering :: Physics
13
+ Requires-Dist: healpy (>=1.18.1,<2.0.0)
14
+ Requires-Dist: lisaconstants (>=1.3.6,<2.0.0)
15
+ Requires-Dist: matplotlib (>=3.10.1,<4.0.0)
16
+ Requires-Dist: numpy (>=2.2.4,<3.0.0)
17
+ Requires-Dist: pytdi (>=1.3.1,<2.0.0)
18
+ Requires-Dist: scipy (>=1.15.2,<2.0.0)
19
+ Requires-Dist: sympy (>=1.13.3,<2.0.0)
20
+ Project-URL: Documentation, https://j2b.bayle.gitlab.io/segwo
21
+ Project-URL: Download, https://gitlab.com/j2b.bayle/segwo/-/releases
22
+ Project-URL: Issue Tracker, https://gitlab.com/j2b.bayle/segwo/-/issues
23
+ Project-URL: Repository, https://gitlab.com/j2b.bayle/segwo
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Sensitivity Estimation for Gravitational-Wave Observatories
27
+
28
+ Easily build the noise and sensitivity curves for your favorite
29
+ gravitational-wave detector!
30
+
31
+ This package provides tools to build time and frequency-dependent noise
32
+ covariance matrices under the assumption of local stationnarity; to compute the
33
+ response of a gravitational-wave detector with an arbitrary number of links, and
34
+ sky average the response; to transform the noise and the signal to an arbitrary
35
+ set of observables; and finally, to compute the optimal sensitivity for a given
36
+ set of observables.
37
+
38
+ ## Install
39
+
40
+ The package is available on PyPI. You can install it with
41
+
42
+ ```bash
43
+ pip install segwo
44
+ ```
45
+
46
+ The documentation for the latest stable release can be found
47
+ [here](https://j2b.bayle.gitlab.io/segwo).
48
+
49
+ ## Contributing
50
+
51
+ ### Report an issue
52
+
53
+ We use the issue-tracking management system associated with the project provided
54
+ by Gitlab. If you want to report a bug or request a feature, open an issue at
55
+ <https://gitlab.com/j2b.bayle/segwo/-/issues>. You may also thumb-up
56
+ or comment on existing issues.
57
+
58
+ ### Development environment
59
+
60
+ This project uses Poetry 2 for dependency management. To install the
61
+ dependencies and the project itself, run the following command:
62
+
63
+ ```bash
64
+ poetry install
65
+ ```
66
+
67
+ We recommend you install pre-commit hooks to detect errors before you even
68
+ commit.
69
+
70
+ ```bash
71
+ pre-commit install
72
+ ```
73
+
74
+ You can now run commands inside a dedicated virtual environment by running
75
+
76
+ ```bash
77
+ poetry run <your-command>
78
+ ```
79
+
80
+ Refer to the [Poetry documentation](https://python-poetry.org/docs/) for more
81
+ information.
82
+
83
+ ### Syntax
84
+
85
+ We enforce PEP 8 (Style Guide for Python Code) with Pylint syntax checking, and
86
+ code formatting with Black. Both are implemented in the continuous integration
87
+ system, and merge requests cannot be merged if it fails. Pre-commit hooks will
88
+ also run Black before you commit.
89
+
90
+ You can run them locally with
91
+
92
+ ```bash
93
+ poetry run pylint segwo
94
+ poetry run black .
95
+ ```
96
+
97
+ ### Unit tests
98
+
99
+ Correction of the code is checked by the pytest testing framework. It is
100
+ implemented in the continuous integration system, but we recommend you run the
101
+ tests locally before you commit, with
102
+
103
+ ```bash
104
+ poetry run pytest
105
+ ```
106
+
segwo-0.2.0/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # Sensitivity Estimation for Gravitational-Wave Observatories
2
+
3
+ Easily build the noise and sensitivity curves for your favorite
4
+ gravitational-wave detector!
5
+
6
+ This package provides tools to build time and frequency-dependent noise
7
+ covariance matrices under the assumption of local stationnarity; to compute the
8
+ response of a gravitational-wave detector with an arbitrary number of links, and
9
+ sky average the response; to transform the noise and the signal to an arbitrary
10
+ set of observables; and finally, to compute the optimal sensitivity for a given
11
+ set of observables.
12
+
13
+ ## Install
14
+
15
+ The package is available on PyPI. You can install it with
16
+
17
+ ```bash
18
+ pip install segwo
19
+ ```
20
+
21
+ The documentation for the latest stable release can be found
22
+ [here](https://j2b.bayle.gitlab.io/segwo).
23
+
24
+ ## Contributing
25
+
26
+ ### Report an issue
27
+
28
+ We use the issue-tracking management system associated with the project provided
29
+ by Gitlab. If you want to report a bug or request a feature, open an issue at
30
+ <https://gitlab.com/j2b.bayle/segwo/-/issues>. You may also thumb-up
31
+ or comment on existing issues.
32
+
33
+ ### Development environment
34
+
35
+ This project uses Poetry 2 for dependency management. To install the
36
+ dependencies and the project itself, run the following command:
37
+
38
+ ```bash
39
+ poetry install
40
+ ```
41
+
42
+ We recommend you install pre-commit hooks to detect errors before you even
43
+ commit.
44
+
45
+ ```bash
46
+ pre-commit install
47
+ ```
48
+
49
+ You can now run commands inside a dedicated virtual environment by running
50
+
51
+ ```bash
52
+ poetry run <your-command>
53
+ ```
54
+
55
+ Refer to the [Poetry documentation](https://python-poetry.org/docs/) for more
56
+ information.
57
+
58
+ ### Syntax
59
+
60
+ We enforce PEP 8 (Style Guide for Python Code) with Pylint syntax checking, and
61
+ code formatting with Black. Both are implemented in the continuous integration
62
+ system, and merge requests cannot be merged if it fails. Pre-commit hooks will
63
+ also run Black before you commit.
64
+
65
+ You can run them locally with
66
+
67
+ ```bash
68
+ poetry run pylint segwo
69
+ poetry run black .
70
+ ```
71
+
72
+ ### Unit tests
73
+
74
+ Correction of the code is checked by the pytest testing framework. It is
75
+ implemented in the continuous integration system, but we recommend you run the
76
+ tests locally before you commit, with
77
+
78
+ ```bash
79
+ poetry run pytest
80
+ ```
@@ -0,0 +1,86 @@
1
+ [project]
2
+ name = "segwo"
3
+ description = "Sensitivity Estimation for Gravitational-Wave Observatories"
4
+ authors = [
5
+ {name = "Jean-Baptiste Bayle", email = "j2b.bayle@gmail.com"},
6
+ {name = "Olaf Hartwig", email = "olaf.hartwig@aei.mpg.de"},
7
+ ]
8
+ keywords = [ "gravitational-wave", "sensitivity curve", "noise budget" ]
9
+ license = {text = "BSD 3-Clause"}
10
+ readme = "README.md"
11
+ requires-python = ">=3.11,<4.0"
12
+ classifiers = [
13
+ "Intended Audience :: Science/Research",
14
+ "Topic :: Scientific/Engineering :: Astronomy",
15
+ "Topic :: Scientific/Engineering :: Physics",
16
+ ]
17
+ dependencies = [
18
+ "numpy (>=2.2.4,<3.0.0)",
19
+ "scipy (>=1.15.2,<2.0.0)",
20
+ "matplotlib (>=3.10.1,<4.0.0)",
21
+ "healpy (>=1.18.1,<2.0.0)",
22
+ "pytdi (>=1.3.1,<2.0.0)",
23
+ "lisaconstants (>=1.3.6,<2.0.0)",
24
+ "sympy (>=1.13.3,<2.0.0)",
25
+ ]
26
+ dynamic = []
27
+ version = "0.2.0"
28
+
29
+ [project.urls]
30
+ repository = "https://gitlab.com/j2b.bayle/segwo"
31
+ documentation = "https://j2b.bayle.gitlab.io/segwo"
32
+ "Download" = "https://gitlab.com/j2b.bayle/segwo/-/releases"
33
+ "Issue Tracker" = "https://gitlab.com/j2b.bayle/segwo/-/issues"
34
+
35
+ [tool.poetry]
36
+
37
+ [tool.poetry.group.dev.dependencies]
38
+ ipython = "^9.0.2"
39
+ black = {extras = ["jupyter"], version = "^25.1.0"}
40
+ mypy = "^1.15.0"
41
+ pylint = "^3.3.6"
42
+ pytest = "^8.3.5"
43
+ pre-commit = "^4.2.0"
44
+ isort = "^6.0.1"
45
+ anybadge = "^1.16.0"
46
+ pytest-cov = "^6.1.1"
47
+ nb-clean = "^4.0.1"
48
+
49
+ [tool.poetry.group.test.dependencies]
50
+ pytest = "^8.3.5"
51
+ pytest-cov = "^6.1.1"
52
+ pytest-mock = "^3.14.0"
53
+
54
+ [tool.poetry.group.docs.dependencies]
55
+ sphinx = "^8.2.3"
56
+ sphinx-rtd-theme = "^3.0.2"
57
+ sphinx-autodoc-typehints = "^3.1.0"
58
+ sphinxcontrib-bibtex = "^2.6.3"
59
+ esbonio = "^0.16.5"
60
+ myst-nb = "^1.2.0"
61
+ papermill = "^2.6.0"
62
+ setuptools = "^78.1.0"
63
+
64
+ [tool.poetry.group.notebooks]
65
+ optional = true
66
+
67
+ [tool.poetry.group.notebooks.dependencies]
68
+ lisaorbits = "^2.4.2"
69
+
70
+ [tool.isort]
71
+ profile = "black"
72
+
73
+ [tool.mypy]
74
+ disable_error_code = "import-untyped"
75
+
76
+ [tool.poetry-dynamic-versioning]
77
+ enable = false
78
+ vcs = "git"
79
+ style = "semver"
80
+
81
+ [tool.poetry.requires-plugins]
82
+ poetry-dynamic-versioning = { version = ">=1.0.0,<2.0.0", extras = ["plugin"] }
83
+
84
+ [build-system]
85
+ requires = ["poetry-core>=2.0.0,<3.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
86
+ build-backend = "poetry_dynamic_versioning.backend"
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """SEGWO package."""
4
+
5
+ import importlib.metadata
6
+
7
+ from . import cov, response, sensitivity, sym
8
+
9
+ __copyright__ = "2025, Olaf Hartwig and Jean-Baptiste Bayle"
10
+ __author__ = "Olaf Hartwig and Jean-Baptiste Bayle"
11
+ __version__ = importlib.metadata.version("segwo")