nullpol 0.1.1__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 (79) hide show
  1. nullpol-0.1.1/LICENSE +21 -0
  2. nullpol-0.1.1/PKG-INFO +72 -0
  3. nullpol-0.1.1/README.rst +16 -0
  4. nullpol-0.1.1/pyproject.toml +349 -0
  5. nullpol-0.1.1/src/nullpol/.gitignore +1 -0
  6. nullpol-0.1.1/src/nullpol/__init__.py +43 -0
  7. nullpol-0.1.1/src/nullpol/asimov/__init__.py +0 -0
  8. nullpol-0.1.1/src/nullpol/asimov/analysis_defaults.yaml +56 -0
  9. nullpol-0.1.1/src/nullpol/asimov/asimov.py +195 -0
  10. nullpol-0.1.1/src/nullpol/asimov/nullpol.ini +246 -0
  11. nullpol-0.1.1/src/nullpol/asimov/nullpol_analysis.yaml +4 -0
  12. nullpol-0.1.1/src/nullpol/asimov/pesummary.py +191 -0
  13. nullpol-0.1.1/src/nullpol/asimov/tgrflow.py +566 -0
  14. nullpol-0.1.1/src/nullpol/asimov/utility.py +281 -0
  15. nullpol-0.1.1/src/nullpol/calibration/__init__.py +3 -0
  16. nullpol-0.1.1/src/nullpol/calibration/antenna_pattern.py +32 -0
  17. nullpol-0.1.1/src/nullpol/clustering/__init__.py +7 -0
  18. nullpol-0.1.1/src/nullpol/clustering/clustering.py +60 -0
  19. nullpol-0.1.1/src/nullpol/clustering/plot.ipynb +120 -0
  20. nullpol-0.1.1/src/nullpol/clustering/plot.py +43 -0
  21. nullpol-0.1.1/src/nullpol/clustering/single.py +77 -0
  22. nullpol-0.1.1/src/nullpol/clustering/sky_maximized_spectrogram.py +70 -0
  23. nullpol-0.1.1/src/nullpol/clustering/test.png +0 -0
  24. nullpol-0.1.1/src/nullpol/clustering/threshold_filter.py +29 -0
  25. nullpol-0.1.1/src/nullpol/detector/__init__.py +4 -0
  26. nullpol-0.1.1/src/nullpol/detector/networks.py +103 -0
  27. nullpol-0.1.1/src/nullpol/detector/whiten.py +51 -0
  28. nullpol-0.1.1/src/nullpol/injection/__init__.py +3 -0
  29. nullpol-0.1.1/src/nullpol/injection/injection.py +68 -0
  30. nullpol-0.1.1/src/nullpol/job_creation/__init__.py +5 -0
  31. nullpol-0.1.1/src/nullpol/job_creation/analysis_node.py +136 -0
  32. nullpol-0.1.1/src/nullpol/job_creation/generation_node.py +17 -0
  33. nullpol-0.1.1/src/nullpol/job_creation/nullpol_pipe_dag_creator.py +121 -0
  34. nullpol-0.1.1/src/nullpol/likelihood/__init__.py +6 -0
  35. nullpol-0.1.1/src/nullpol/likelihood/chi2_time_frequency_likelihood.py +80 -0
  36. nullpol-0.1.1/src/nullpol/likelihood/fractional_projection_time_frequency_likelihood.py +78 -0
  37. nullpol-0.1.1/src/nullpol/likelihood/gaussian_time_frequency_likelihood.py +72 -0
  38. nullpol-0.1.1/src/nullpol/likelihood/time_frequency_likelihood.py +516 -0
  39. nullpol-0.1.1/src/nullpol/null_stream/__init__.py +7 -0
  40. nullpol-0.1.1/src/nullpol/null_stream/antenna_pattern.py +130 -0
  41. nullpol-0.1.1/src/nullpol/null_stream/encoding.py +23 -0
  42. nullpol-0.1.1/src/nullpol/null_stream/null_stream.py +94 -0
  43. nullpol-0.1.1/src/nullpol/null_stream/projector.py +61 -0
  44. nullpol-0.1.1/src/nullpol/null_stream/signal_estimator.py +37 -0
  45. nullpol-0.1.1/src/nullpol/null_stream/time_shift.py +52 -0
  46. nullpol-0.1.1/src/nullpol/prior/__init__.py +3 -0
  47. nullpol-0.1.1/src/nullpol/prior/default.py +24 -0
  48. nullpol-0.1.1/src/nullpol/prior/prior_files/polarization.prior +3 -0
  49. nullpol-0.1.1/src/nullpol/result/__init__.py +3 -0
  50. nullpol-0.1.1/src/nullpol/result/result.py +257 -0
  51. nullpol-0.1.1/src/nullpol/source/__init__.py +3 -0
  52. nullpol-0.1.1/src/nullpol/source/simple_map.py +30 -0
  53. nullpol-0.1.1/src/nullpol/time_frequency_transform/__init__.py +5 -0
  54. nullpol-0.1.1/src/nullpol/time_frequency_transform/helper.py +34 -0
  55. nullpol-0.1.1/src/nullpol/time_frequency_transform/inverse_wavelet_freq_funcs.py +136 -0
  56. nullpol-0.1.1/src/nullpol/time_frequency_transform/inverse_wavelet_time_funcs.py +231 -0
  57. nullpol-0.1.1/src/nullpol/time_frequency_transform/stft.py +21 -0
  58. nullpol-0.1.1/src/nullpol/time_frequency_transform/transform_freq_funcs.py +268 -0
  59. nullpol-0.1.1/src/nullpol/time_frequency_transform/transform_time_funcs.py +168 -0
  60. nullpol-0.1.1/src/nullpol/time_frequency_transform/wavelet_transforms.py +206 -0
  61. nullpol-0.1.1/src/nullpol/tools/__init__.py +0 -0
  62. nullpol-0.1.1/src/nullpol/tools/config.ini +363 -0
  63. nullpol-0.1.1/src/nullpol/tools/create_injection.py +180 -0
  64. nullpol-0.1.1/src/nullpol/tools/create_time_frequency_filter_from_sample.py +187 -0
  65. nullpol-0.1.1/src/nullpol/tools/data_analysis.py +283 -0
  66. nullpol-0.1.1/src/nullpol/tools/data_generation.py +443 -0
  67. nullpol-0.1.1/src/nullpol/tools/default_config_create_injection.ini +13 -0
  68. nullpol-0.1.1/src/nullpol/tools/default_config_create_time_frequency_filter_from_sample.ini +14 -0
  69. nullpol-0.1.1/src/nullpol/tools/example_signal_parameters_create_injection.json +17 -0
  70. nullpol-0.1.1/src/nullpol/tools/get_asimov_yaml.py +42 -0
  71. nullpol-0.1.1/src/nullpol/tools/input.py +218 -0
  72. nullpol-0.1.1/src/nullpol/tools/main.py +228 -0
  73. nullpol-0.1.1/src/nullpol/tools/parser.py +238 -0
  74. nullpol-0.1.1/src/nullpol/utils/__init__.py +9 -0
  75. nullpol-0.1.1/src/nullpol/utils/config.py +22 -0
  76. nullpol-0.1.1/src/nullpol/utils/convert_type.py +45 -0
  77. nullpol-0.1.1/src/nullpol/utils/error.py +11 -0
  78. nullpol-0.1.1/src/nullpol/utils/filesystem.py +39 -0
  79. nullpol-0.1.1/src/nullpol/utils/log.py +58 -0
nullpol-0.1.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Chun-Fung Wong
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
nullpol-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: nullpol
3
+ Version: 0.1.1
4
+ Summary: A package to perform model-independent polarization test of gravitational-wave signals.
5
+ Author: Thomas Ng, Balázs Cirok
6
+ Author-email: "Isaac C.F. Wong" <chunfung.wong@kuleuven.be>
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/x-rst
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ License-File: LICENSE
17
+ Requires-Dist: matplotlib>=3.6.0
18
+ Requires-Dist: numpy>=1.24,<2.0
19
+ Requires-Dist: bilby
20
+ Requires-Dist: bilby_pipe>=1.6.0
21
+ Requires-Dist: gwpy
22
+ Requires-Dist: numba
23
+ Requires-Dist: rocket-fft
24
+ Requires-Dist: scipy
25
+ Requires-Dist: ConfigArgParse
26
+ Requires-Dist: pycbc
27
+ Requires-Dist: healpy
28
+ Requires-Dist: cbcflow
29
+ Requires-Dist: asimov>=0.5.8
30
+ Requires-Dist: h5py
31
+ Requires-Dist: pandas
32
+ Requires-Dist: pyspark>=3.0.0 ; extra == "spark"
33
+ Requires-Dist: bandit[toml]==1.8.2 ; extra == "test"
34
+ Requires-Dist: black==25.1.0 ; extra == "test"
35
+ Requires-Dist: check-manifest==0.50 ; extra == "test"
36
+ Requires-Dist: flake8-bugbear==24.12.12 ; extra == "test"
37
+ Requires-Dist: flake8-docstrings ; extra == "test"
38
+ Requires-Dist: flake8-formatter_junit_xml ; extra == "test"
39
+ Requires-Dist: flake8 ; extra == "test"
40
+ Requires-Dist: flake8-pyproject ; extra == "test"
41
+ Requires-Dist: pre-commit==4.1.0 ; extra == "test"
42
+ Requires-Dist: pylint==3.3.4 ; extra == "test"
43
+ Requires-Dist: pylint_junit ; extra == "test"
44
+ Requires-Dist: pytest-cov==6.0.0 ; extra == "test"
45
+ Requires-Dist: pytest-mock<3.14.1 ; extra == "test"
46
+ Requires-Dist: pytest-runner ; extra == "test"
47
+ Requires-Dist: pytest==8.3.4 ; extra == "test"
48
+ Requires-Dist: pytest-github-actions-annotate-failures ; extra == "test"
49
+ Requires-Dist: shellcheck-py==0.10.0.1 ; extra == "test"
50
+ Project-URL: Documentation, https://git.ligo.org/bayesian-null-stream/nullpol/docs
51
+ Project-URL: Source, https://git.ligo.org/bayesian-null-stream/nullpol
52
+ Project-URL: Tracker, https://git.ligo.org/bayesian-null-stream/nullpol/-/issues
53
+ Provides-Extra: spark
54
+ Provides-Extra: test
55
+
56
+ |pipeline status|
57
+
58
+ nullpol
59
+ =======
60
+
61
+
62
+ Installation
63
+ ------------
64
+
65
+ To install the package, run the following command::
66
+
67
+ pip install .
68
+
69
+
70
+ .. |pipeline status| image:: https://git.ligo.org/bayesian-null-stream/nullpol/badges/master/pipeline.svg
71
+ :target: https://git.ligo.org/bayesian-null-stream/nullpol/commits/main
72
+
@@ -0,0 +1,16 @@
1
+ |pipeline status|
2
+
3
+ nullpol
4
+ =======
5
+
6
+
7
+ Installation
8
+ ------------
9
+
10
+ To install the package, run the following command::
11
+
12
+ pip install .
13
+
14
+
15
+ .. |pipeline status| image:: https://git.ligo.org/bayesian-null-stream/nullpol/badges/master/pipeline.svg
16
+ :target: https://git.ligo.org/bayesian-null-stream/nullpol/commits/main
@@ -0,0 +1,349 @@
1
+ [build-system]
2
+ requires = ["flit_core >=2,<4"]
3
+ build-backend = "flit_core.buildapi"
4
+
5
+ [project]
6
+ name = "nullpol"
7
+ description = "A package to perform model-independent polarization test of gravitational-wave signals."
8
+ authors = [{name="Isaac C.F. Wong",email="chunfung.wong@kuleuven.be"},
9
+ {name="Thomas Ng"},
10
+ {name="Balázs Cirok"}]
11
+ readme = "README.rst"
12
+ classifiers = [
13
+ "Development Status :: 3 - Alpha",
14
+ "Intended Audience :: Developers",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Programming Language :: Python :: 3 :: Only",
17
+ "Programming Language :: Python :: 3.10",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
+ ]
21
+ requires-python = ">=3.10"
22
+ dynamic = ["version"]
23
+ dependencies = [
24
+ "matplotlib>=3.6.0",
25
+ "numpy>=1.24,<2.0",
26
+ "bilby",
27
+ "bilby_pipe>=1.6.0",
28
+ "gwpy",
29
+ "numba",
30
+ "rocket-fft",
31
+ "scipy",
32
+ "ConfigArgParse",
33
+ "pycbc",
34
+ "healpy",
35
+ "cbcflow",
36
+ "asimov>=0.5.8",
37
+ "h5py",
38
+ "pandas",
39
+ ]
40
+
41
+ [project.optional-dependencies]
42
+ spark = [
43
+ "pyspark>=3.0.0"
44
+ ]
45
+ test = [
46
+ "bandit[toml]==1.8.2",
47
+ "black==25.1.0",
48
+ "check-manifest==0.50",
49
+ "flake8-bugbear==24.12.12",
50
+ "flake8-docstrings",
51
+ "flake8-formatter_junit_xml",
52
+ "flake8",
53
+ "flake8-pyproject",
54
+ "pre-commit==4.1.0",
55
+ "pylint==3.3.4",
56
+ "pylint_junit",
57
+ "pytest-cov==6.0.0",
58
+ "pytest-mock<3.14.1",
59
+ "pytest-runner",
60
+ "pytest==8.3.4",
61
+ "pytest-github-actions-annotate-failures",
62
+ "shellcheck-py==0.10.0.1"
63
+ ]
64
+
65
+ [project.urls]
66
+ Documentation = "https://git.ligo.org/bayesian-null-stream/nullpol/docs"
67
+ Source = "https://git.ligo.org/bayesian-null-stream/nullpol"
68
+ Tracker = "https://git.ligo.org/bayesian-null-stream/nullpol/-/issues"
69
+
70
+ [tool.flit.module]
71
+ name = "nullpol"
72
+
73
+ [tool.bandit]
74
+ exclude_dirs = ["build","dist","tests","scripts"]
75
+ number = 4
76
+ recursive = true
77
+ targets = "src"
78
+
79
+ [tool.black]
80
+ line-length = 120
81
+ fast = true
82
+
83
+ [tool.coverage.run]
84
+ branch = true
85
+
86
+ [tool.coverage.report]
87
+ fail_under = 100
88
+
89
+ [tool.flake8]
90
+ max-line-length = 120
91
+ select = "F,E,W,B,B901,B902,B903"
92
+ exclude = [
93
+ ".eggs",
94
+ ".git",
95
+ ".tox",
96
+ "nssm",
97
+ "obj",
98
+ "out",
99
+ "packages",
100
+ "pywin32",
101
+ "tests",
102
+ "swagger_client"
103
+ ]
104
+ ignore = [
105
+ "E722",
106
+ "B001",
107
+ "W503",
108
+ "E203"
109
+ ]
110
+
111
+ [tool.pyright]
112
+ include = ["src"]
113
+ exclude = [
114
+ "**/node_modules",
115
+ "**/__pycache__",
116
+ ]
117
+ venv = "env37"
118
+
119
+ reportMissingImports = true
120
+ reportMissingTypeStubs = false
121
+
122
+ pythonVersion = "3.7"
123
+ pythonPlatform = "Linux"
124
+
125
+ executionEnvironments = [
126
+ { root = "src" }
127
+ ]
128
+
129
+ [tool.pytest.ini_options]
130
+ addopts = "--cov-report xml:coverage.xml --cov src --cov-fail-under 0 --cov-append -m 'not integration'"
131
+ pythonpath = [
132
+ "src"
133
+ ]
134
+ testpaths = "tests"
135
+ junit_family = "xunit2"
136
+ markers = [
137
+ "integration: marks as integration test",
138
+ "notebooks: marks as notebook test",
139
+ "gpu: marks as gpu test",
140
+ "spark: marks tests which need Spark",
141
+ "slow: marks tests as slow",
142
+ "unit: fast offline tests",
143
+ ]
144
+
145
+ [tool.tox]
146
+ legacy_tox_ini = """
147
+ [tox]
148
+ envlist = py, integration, spark, all
149
+
150
+ [testenv]
151
+ commands =
152
+ pytest -m "not integration and not spark" {posargs}
153
+
154
+ [testenv:integration]
155
+ commands =
156
+ pytest -m "integration" {posargs}
157
+
158
+ [testenv:spark]
159
+ extras = spark
160
+ setenv =
161
+ PYSPARK_DRIVER_PYTHON = {envpython}
162
+ PYSPARK_PYTHON = {envpython}
163
+ commands =
164
+ pytest -m "spark" {posargs}
165
+
166
+ [testenv:all]
167
+ extras = all
168
+ setenv =
169
+ PYSPARK_DRIVER_PYTHON = {envpython}
170
+ PYSPARK_PYTHON = {envpython}
171
+ commands =
172
+ pytest {posargs}
173
+ """
174
+
175
+ [tool.pylint]
176
+ extension-pkg-whitelist= [
177
+ "numpy",
178
+ "torch",
179
+ "cv2",
180
+ "pyodbc",
181
+ "pydantic",
182
+ "ciso8601",
183
+ "netcdf4",
184
+ "scipy"
185
+ ]
186
+ ignore="CVS"
187
+ ignore-patterns="test.*?py,conftest.py"
188
+ init-hook='import sys; sys.setrecursionlimit(8 * sys.getrecursionlimit())'
189
+ jobs=0
190
+ limit-inference-results=100
191
+ persistent="yes"
192
+ suggestion-mode="yes"
193
+ unsafe-load-any-extension="no"
194
+
195
+ [tool.pylint.'MESSAGES CONTROL']
196
+ enable="c-extension-no-member"
197
+
198
+ [tool.pylint.'REPORTS']
199
+ evaluation="10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)"
200
+ output-format="text"
201
+ reports="no"
202
+ score="yes"
203
+
204
+ [tool.pylint.'REFACTORING']
205
+ max-nested-blocks=5
206
+ never-returning-functions="sys.exit"
207
+
208
+ [tool.pylint.'BASIC']
209
+ argument-naming-style="snake_case"
210
+ attr-naming-style="snake_case"
211
+ bad-names= [
212
+ "foo",
213
+ "bar"
214
+ ]
215
+ class-attribute-naming-style="any"
216
+ class-naming-style="PascalCase"
217
+ const-naming-style="UPPER_CASE"
218
+ docstring-min-length=-1
219
+ function-naming-style="snake_case"
220
+ good-names= [
221
+ "i",
222
+ "j",
223
+ "k",
224
+ "ex",
225
+ "Run",
226
+ "_"
227
+ ]
228
+ include-naming-hint="yes"
229
+ inlinevar-naming-style="any"
230
+ method-naming-style="snake_case"
231
+ module-naming-style="any"
232
+ no-docstring-rgx="^_"
233
+ property-classes="abc.abstractproperty"
234
+ variable-naming-style="snake_case"
235
+
236
+ [tool.pylint.'FORMAT']
237
+ ignore-long-lines="^\\s*(# )?.*['\"]?<?https?://\\S+>?"
238
+ indent-after-paren=4
239
+ indent-string=' '
240
+ max-line-length=120
241
+ max-module-lines=1000
242
+ single-line-class-stmt="no"
243
+ single-line-if-stmt="no"
244
+
245
+ [tool.pylint.'LOGGING']
246
+ logging-format-style="old"
247
+ logging-modules="logging"
248
+
249
+ [tool.pylint.'MISCELLANEOUS']
250
+ notes= [
251
+ "FIXME",
252
+ "XXX",
253
+ "TODO"
254
+ ]
255
+
256
+ [tool.pylint.'SIMILARITIES']
257
+ ignore-comments="yes"
258
+ ignore-docstrings="yes"
259
+ ignore-imports="yes"
260
+ min-similarity-lines=7
261
+
262
+ [tool.pylint.'SPELLING']
263
+ max-spelling-suggestions=4
264
+ spelling-store-unknown-words="no"
265
+
266
+ [tool.pylint.'STRING']
267
+ check-str-concat-over-line-jumps="no"
268
+
269
+ [tool.pylint.'TYPECHECK']
270
+ contextmanager-decorators="contextlib.contextmanager"
271
+ generated-members="numpy.*,np.*,pyspark.sql.functions,collect_list"
272
+ ignore-mixin-members="yes"
273
+ ignore-none="yes"
274
+ ignore-on-opaque-inference="yes"
275
+ ignored-classes="optparse.Values,thread._local,_thread._local,numpy,torch,swagger_client"
276
+ ignored-modules="numpy,torch,swagger_client,netCDF4,scipy"
277
+ missing-member-hint="yes"
278
+ missing-member-hint-distance=1
279
+ missing-member-max-choices=1
280
+
281
+ [tool.pylint.'VARIABLES']
282
+ additional-builtins="dbutils"
283
+ allow-global-unused-variables="yes"
284
+ callbacks= [
285
+ "cb_",
286
+ "_cb"
287
+ ]
288
+ dummy-variables-rgx="_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
289
+ ignored-argument-names="_.*|^ignored_|^unused_"
290
+ init-import="no"
291
+ redefining-builtins-modules="six.moves,past.builtins,future.builtins,builtins,io"
292
+
293
+ [tool.pylint.'CLASSES']
294
+ defining-attr-methods= [
295
+ "__init__",
296
+ "__new__",
297
+ "setUp",
298
+ "__post_init__"
299
+ ]
300
+ exclude-protected= [
301
+ "_asdict",
302
+ "_fields",
303
+ "_replace",
304
+ "_source",
305
+ "_make"
306
+ ]
307
+ valid-classmethod-first-arg="cls"
308
+ valid-metaclass-classmethod-first-arg="cls"
309
+
310
+ [tool.pylint.'DESIGN']
311
+ max-args=5
312
+ max-attributes=7
313
+ max-bool-expr=5
314
+ max-branches=12
315
+ max-locals=15
316
+ max-parents=7
317
+ max-public-methods=20
318
+ max-returns=6
319
+ max-statements=50
320
+ min-public-methods=2
321
+
322
+ [tool.pylint.'IMPORTS']
323
+ allow-wildcard-with-all="no"
324
+ analyse-fallback-blocks="no"
325
+ deprecated-modules="optparse,tkinter.tix"
326
+
327
+ [tool.pylint.'EXCEPTIONS']
328
+ overgeneral-exceptions= [
329
+ "BaseException",
330
+ "Exception"
331
+ ]
332
+
333
+ [project.scripts]
334
+ nullpol_create_injection = "nullpol.tools.create_injection:main"
335
+ nullpol_create_time_frequency_filter_from_sample = "nullpol.tools.create_time_frequency_filter_from_sample:main"
336
+ nullpol_pipe = "nullpol.tools.main:main"
337
+ nullpol_pipe_analysis = "nullpol.tools.data_analysis:main"
338
+ nullpol_pipe_generation = "nullpol.tools.data_generation:main"
339
+ nullpol_pipe_write_default_ini = "nullpol.tools.parser:main"
340
+ nullpol_get_asimov_yaml = "nullpol.tools.get_asimov_yaml:main"
341
+
342
+ [project.entry-points.'asimov.pipelines']
343
+ nullpol = "nullpol.asimov.asimov:Nullpol"
344
+
345
+ [project.entry-points.'asimov.hooks.postmonitor']
346
+ tgrflow = 'nullpol.asimov.tgrflow:Collector'
347
+
348
+ [project.entry-points.'asimov.hooks.applicator']
349
+ tgrflow = 'nullpol.asimov.tgrflow:Applicator'
@@ -0,0 +1 @@
1
+ _version.py
@@ -0,0 +1,43 @@
1
+ from __future__ import annotations
2
+
3
+ from . import (asimov, calibration, clustering, detector, injection,
4
+ job_creation, likelihood, null_stream, prior, result, source,
5
+ time_frequency_transform, utils)
6
+ from .utils import logger
7
+
8
+ __version__ = '0.1.1'
9
+
10
+
11
+ def get_version_information() -> str:
12
+ """Get version information.
13
+
14
+ Returns:
15
+ str: Version information.
16
+ """
17
+ return __version__
18
+
19
+
20
+ def log_version_information():
21
+ """Log version information.
22
+ """
23
+ logger.info(f"Running nullpol: {__version__}")
24
+
25
+
26
+ __all__ = [
27
+ 'asimov',
28
+ 'calibration',
29
+ 'clustering',
30
+ 'detector',
31
+ 'injection',
32
+ 'job_creation',
33
+ 'likelihood',
34
+ 'null_stream',
35
+ 'prior',
36
+ 'result',
37
+ 'source',
38
+ 'time_frequency_transform',
39
+ 'utils',
40
+ '__version__',
41
+ 'get_version_information',
42
+ 'log_version_information',
43
+ ]
File without changes
@@ -0,0 +1,56 @@
1
+ kind: configuration
2
+ hooks:
3
+ postmonitor:
4
+ tgrflow:
5
+ library location:
6
+ applicator:
7
+ tgrflow:
8
+ library location:
9
+ data:
10
+ channels:
11
+ H1: H1:GDS-CALIB_STRAIN_CLEAN
12
+ L1: L1:GDS-CALIB_STRAIN_CLEAN
13
+ V1: V1:Hrec_hoft_16384Hz
14
+ frame types:
15
+ H1: H1_HOFT_C00
16
+ L1: L1_HOFT_C00
17
+ V1: V1Online
18
+ pipelines:
19
+ gwdata:
20
+ scheduler:
21
+ accounting group: ligo.prod.o4.cbc.testgr.tiger
22
+ request cpus: 1
23
+ peconfigurator:
24
+ scheduler:
25
+ accounting group: ligo.prod.o4.cbc.testgr.tiger
26
+ request cpus: 1
27
+ nullpol:
28
+ tgr schema section: PolAnalyses
29
+ quality:
30
+ state vector:
31
+ L1: L1:GDS-CALIB_STRAIN_CLEAN
32
+ H1: H1:GDS-CALIB_STRAIN_CLEAN
33
+ V1: V1:Hrec_hoft_16384Hz
34
+ sampler:
35
+ sampler: dynesty
36
+ parallel jobs: 4
37
+ scheduler:
38
+ accounting group: ligo.prod.o4.cbc.testgr.tiger
39
+ request cpus: 4
40
+ request disk: 8
41
+ request memory: 12
42
+ scitoken issuer: igwn
43
+ quality:
44
+ minimum frequency:
45
+ H1: 20
46
+ L1: 20
47
+ V1: 20
48
+ G1: 20
49
+ K1: 20
50
+ priors:
51
+ dec:
52
+ type: Cosine
53
+ psi:
54
+ type: Uniform
55
+ ra:
56
+ type: Uniform