gwpy 3.0.7__py3-none-any.whl → 3.0.9__py3-none-any.whl

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.

Potentially problematic release.


This version of gwpy might be problematic. Click here for more details.

Files changed (50) hide show
  1. gwpy/_version.py +2 -2
  2. gwpy/astro/range.py +3 -3
  3. gwpy/astro/tests/test_range.py +4 -5
  4. gwpy/cli/qtransform.py +1 -1
  5. gwpy/detector/tests/test_units.py +3 -0
  6. gwpy/detector/units.py +12 -3
  7. gwpy/frequencyseries/frequencyseries.py +13 -4
  8. gwpy/io/cache.py +24 -1
  9. gwpy/io/datafind.py +1 -0
  10. gwpy/io/ffldatafind.py +27 -16
  11. gwpy/io/tests/test_ffldatafind.py +10 -3
  12. gwpy/plot/gps.py +7 -2
  13. gwpy/plot/tests/test_gps.py +1 -0
  14. gwpy/plot/tests/test_tex.py +3 -0
  15. gwpy/plot/tex.py +8 -6
  16. gwpy/segments/flag.py +14 -3
  17. gwpy/segments/tests/test_flag.py +53 -0
  18. gwpy/signal/filter_design.py +4 -3
  19. gwpy/signal/spectral/_lal.py +1 -1
  20. gwpy/signal/tests/test_coherence.py +9 -9
  21. gwpy/signal/tests/test_filter_design.py +3 -3
  22. gwpy/spectrogram/tests/test_spectrogram.py +2 -2
  23. gwpy/testing/fixtures.py +2 -19
  24. gwpy/testing/utils.py +43 -19
  25. gwpy/time/_tconvert.py +19 -33
  26. gwpy/time/tests/test_time.py +4 -45
  27. gwpy/timeseries/core.py +4 -2
  28. gwpy/timeseries/io/cache.py +47 -29
  29. gwpy/timeseries/io/gwf/framecpp.py +11 -2
  30. gwpy/timeseries/io/gwf/lalframe.py +21 -0
  31. gwpy/timeseries/io/losc.py +8 -2
  32. gwpy/timeseries/tests/test_io_cache.py +74 -0
  33. gwpy/timeseries/tests/test_io_gwf_lalframe.py +17 -0
  34. gwpy/timeseries/tests/test_timeseries.py +78 -36
  35. gwpy/types/array.py +16 -3
  36. gwpy/types/index.py +7 -5
  37. gwpy/types/sliceutils.py +5 -1
  38. gwpy/types/tests/test_array2d.py +4 -0
  39. gwpy/types/tests/test_series.py +26 -0
  40. gwpy/utils/shell.py +2 -2
  41. gwpy/utils/sphinx/zenodo.py +118 -61
  42. gwpy/utils/tests/test_shell.py +2 -2
  43. gwpy/utils/tests/test_sphinx_zenodo.py +175 -0
  44. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/METADATA +8 -7
  45. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/RECORD +49 -48
  46. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/WHEEL +1 -1
  47. gwpy/utils/sphinx/epydoc.py +0 -104
  48. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/LICENSE +0 -0
  49. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/entry_points.txt +0 -0
  50. {gwpy-3.0.7.dist-info → gwpy-3.0.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,175 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright (C) Cardiff University (2023)
3
+ #
4
+ # This file is part of GWpy.
5
+ #
6
+ # GWpy is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # GWpy is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with GWpy. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ """Tests for :mod:`gwpy.utils.sphinx.zenodo`.
20
+ """
21
+
22
+ from functools import wraps
23
+
24
+ import pytest
25
+
26
+ import requests
27
+
28
+ from ...testing.errors import pytest_skip_network_error
29
+ from ..sphinx import zenodo as gwpy_zenodo
30
+
31
+ GITHUB_RELEASE_API_URL = "https://api.github.com/repos/gwpy/gwpy/releases"
32
+
33
+ # simplified output of zenodo API query (as of 18/Oct/2023)
34
+ MOCK_ZENODO_API_JSON = {
35
+ "hits": {
36
+ "hits": [
37
+ {
38
+ "conceptdoi": "10.5281/zenodo.597016",
39
+ "conceptrecid": "597016",
40
+ "created": "2023-10-05T10:29:34.092078+00:00",
41
+ "doi": "10.5281/zenodo.8409995",
42
+ "doi_url": "https://doi.org/10.5281/zenodo.8409995",
43
+ "files": None,
44
+ "id": 8409995,
45
+ "links": None,
46
+ "metadata": {
47
+ "title": "gwpy/gwpy: GWpy 3.0.7",
48
+ "version": "v3.0.7",
49
+ },
50
+ "title": "gwpy/gwpy: GWpy 3.0.7",
51
+ },
52
+ {
53
+ "conceptdoi": "10.5281/zenodo.597016",
54
+ "conceptrecid": "597016",
55
+ "created": "2023-10-05T09:51:21.482810+00:00",
56
+ "doi": "10.5281/zenodo.8409892",
57
+ "doi_url": "https://doi.org/10.5281/zenodo.8409892",
58
+ "files": None,
59
+ "links": None,
60
+ "metadata": {
61
+ "title": "gwpy/gwpy: GWpy 3.0.6",
62
+ "version": "v3.0.6",
63
+ },
64
+ "title": "gwpy/gwpy: GWpy 3.0.6",
65
+ },
66
+ ],
67
+ },
68
+ }
69
+ MOCK_ZENODO_API_RST = """
70
+ -----
71
+ 3.0.7
72
+ -----
73
+
74
+ .. image:: https://zenodo.example.com/badge/doi/10.5281/zenodo.8409995.svg
75
+ :alt: gwpy/gwpy: GWpy 3.0.7 Zenodo DOI badge
76
+ :target: https://doi.org/10.5281/zenodo.8409995
77
+
78
+ -----
79
+ 3.0.6
80
+ -----
81
+
82
+ .. image:: https://zenodo.example.com/badge/doi/10.5281/zenodo.8409892.svg
83
+ :alt: gwpy/gwpy: GWpy 3.0.6 Zenodo DOI badge
84
+ :target: https://doi.org/10.5281/zenodo.8409892
85
+ """.strip()
86
+
87
+
88
+ def pytest_skip_rate_limit(func):
89
+ """Execute `func` but skip if it raises a rate limit error
90
+ """
91
+ @wraps(func)
92
+ def wrapper(*args, **kwargs):
93
+ try:
94
+ return func(*args, **kwargs)
95
+ except requests.HTTPError as exc: # pragma: no cover
96
+ if str(exc).startswith("403 Client Error: rate limit exceeded"):
97
+ pytest.skip(str(exc))
98
+ raise
99
+ return wrapper
100
+
101
+
102
+ @pytest.fixture
103
+ @pytest_skip_network_error
104
+ @pytest_skip_rate_limit
105
+ def latest():
106
+ """Get the latest release of GWpy from the GitHub API.
107
+ """
108
+ resp = requests.get(
109
+ GITHUB_RELEASE_API_URL,
110
+ params={"per_page": 1},
111
+ )
112
+ resp.raise_for_status()
113
+ return resp.json()[0]
114
+
115
+
116
+ @pytest_skip_network_error
117
+ @pytest_skip_rate_limit
118
+ def test_zenodo_format_citations_latest(latest):
119
+ """Check that :func:`gwpy.utils.sphinx.zenodo.format_citations` includes
120
+ the latest actual release in the output.
121
+ """
122
+ rst = gwpy_zenodo.format_citations(
123
+ 597016,
124
+ )
125
+ latestversion = latest["tag_name"].lstrip("v")
126
+ latesthead = "-" * len(latestversion)
127
+ assert f"""
128
+ {latesthead}
129
+ {latestversion}
130
+ {latesthead}""".strip() in rst
131
+
132
+
133
+ def test_zenodo_format_citations_mock(requests_mock):
134
+ """Check that :func:`gwpy.utils.sphinx.zenodo.format_citations` correctly
135
+ formats the JSON response it gets from Zenodo.
136
+
137
+ This uses a mocked API response based on the actual response as of
138
+ 18/Oct/2023.
139
+ """
140
+ # mock
141
+ requests_mock.get(
142
+ "https://zenodo.example.com/api/records",
143
+ json=MOCK_ZENODO_API_JSON,
144
+ )
145
+
146
+ # run
147
+ rst = gwpy_zenodo.format_citations(
148
+ 597016,
149
+ url="https://zenodo.example.com",
150
+ )
151
+
152
+ # check
153
+ assert rst.strip() == MOCK_ZENODO_API_RST.strip()
154
+
155
+
156
+ def test_zenodo_main(requests_mock, tmp_path):
157
+ """Check that the command-line entry point for `gwpy.utils.sphinx.zenodo`
158
+ works correctly (with a mocked API response).
159
+ """
160
+ # mock
161
+ requests_mock.get(
162
+ "https://zenodo.example.com/api/records",
163
+ json=MOCK_ZENODO_API_JSON,
164
+ )
165
+
166
+ # run
167
+ out = tmp_path / "tmp.txt"
168
+ gwpy_zenodo.main([
169
+ "597016",
170
+ "--url", "https://zenodo.example.com",
171
+ "--output-file", str(out),
172
+ ])
173
+
174
+ # check
175
+ assert out.read_text().strip() == MOCK_ZENODO_API_RST.strip()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gwpy
3
- Version: 3.0.7
3
+ Version: 3.0.9
4
4
  Summary: A python package for gravitational-wave astrophysics
5
5
  Author-email: Duncan Macleod <duncan.macleod@ligo.org>
6
6
  License: GPL-3.0-or-later
@@ -19,12 +19,14 @@ Classifier: Programming Language :: Python :: 3.8
19
19
  Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
22
23
  Classifier: Topic :: Scientific/Engineering :: Astronomy
23
24
  Classifier: Topic :: Scientific/Engineering :: Physics
24
25
  Requires-Python: >=3.8
25
26
  Description-Content-Type: text/markdown
26
27
  License-File: LICENSE
27
28
  Requires-Dist: astropy >=4.3.0
29
+ Requires-Dist: dateparser >=1.1.4
28
30
  Requires-Dist: dqsegdb2
29
31
  Requires-Dist: gwdatafind >=1.1.0
30
32
  Requires-Dist: gwosc >=0.5.3
@@ -35,23 +37,22 @@ Requires-Dist: matplotlib >=3.3.0
35
37
  Requires-Dist: numpy >=1.19
36
38
  Requires-Dist: python-dateutil
37
39
  Requires-Dist: requests
38
- Requires-Dist: scipy >=1.5.0
40
+ Requires-Dist: scipy >=1.6.0
39
41
  Requires-Dist: tqdm >=4.10.0
40
42
  Provides-Extra: astro
41
- Requires-Dist: inspiral-range ; extra == 'astro'
43
+ Requires-Dist: inspiral-range >=0.5.0 ; extra == 'astro'
42
44
  Provides-Extra: conda
43
- Requires-Dist: python-framel >=8.40.1 ; extra == 'conda'
45
+ Requires-Dist: python-framel !=8.46.0,>=8.40.1 ; extra == 'conda'
44
46
  Requires-Dist: python-nds2-client ; extra == 'conda'
45
47
  Requires-Dist: python-ldas-tools-framecpp ; (sys_platform != "win32") and extra == 'conda'
48
+ Requires-Dist: lxml !=4.9.1 ; (sys_platform == "win32") and extra == 'conda'
46
49
  Provides-Extra: dev
47
50
  Requires-Dist: ciecplib ; extra == 'dev'
48
- Requires-Dist: dateparser >=1.1.2 ; extra == 'dev'
49
51
  Requires-Dist: psycopg2 ; extra == 'dev'
50
52
  Requires-Dist: pymysql ; extra == 'dev'
51
53
  Requires-Dist: pyRXP ; extra == 'dev'
52
54
  Requires-Dist: sqlalchemy ; extra == 'dev'
53
55
  Requires-Dist: uproot >=4.1.5 ; extra == 'dev'
54
- Requires-Dist: maya ; (python_version < "3.11") and extra == 'dev'
55
56
  Requires-Dist: lalsuite ; (sys_platform != "win32") and extra == 'dev'
56
57
  Requires-Dist: lscsoft-glue ; (sys_platform != "win32") and extra == 'dev'
57
58
  Requires-Dist: pycbc >=1.13.4 ; (sys_platform != "win32") and extra == 'dev'
@@ -66,7 +67,7 @@ Requires-Dist: sphinxcontrib-programoutput ; extra == 'docs'
66
67
  Provides-Extra: test
67
68
  Requires-Dist: coverage[toml] >=5.0 ; extra == 'test'
68
69
  Requires-Dist: pytest >=3.9.1 ; extra == 'test'
69
- Requires-Dist: pytest-freezegun ; extra == 'test'
70
+ Requires-Dist: pytest-freezer ; extra == 'test'
70
71
  Requires-Dist: pytest-cov >=2.4.0 ; extra == 'test'
71
72
  Requires-Dist: pytest-requires ; extra == 'test'
72
73
  Requires-Dist: pytest-socket ; extra == 'test'
@@ -1,16 +1,16 @@
1
1
  gwpy/__init__.py,sha256=3chu5cxfVA08qkFYk3lyXBlFXO6lrgytIIdh_nL9YzU,1533
2
- gwpy/_version.py,sha256=LJ4HJPpXI_UsV9wSih_sOZxstGnvrh7nUYp4E-ZbpXc,411
2
+ gwpy/_version.py,sha256=tG9pPVh8tGuhiLuhmkU2HBdW-0Eea4piRXA-Q5yaT30,411
3
3
  gwpy/conftest.py,sha256=nMqidKFNcwTCvDb-vHzzCmzUyyL0TH9DwbmagfdE1II,1639
4
4
  gwpy/astro/__init__.py,sha256=DtaqsbVdlI4Qy6eRlXuLtraTCLXjpQYadk5pEFwXrM8,1909
5
- gwpy/astro/range.py,sha256=ah1TLCNk8Pq8YBHaXKuglShO8rFbmDgO2z4SOuWlDEc,24880
5
+ gwpy/astro/range.py,sha256=BcRrJkgxiceL1QsOy1uUtCMslEeic0MUxWFs76LgY0Y,24892
6
6
  gwpy/astro/tests/__init__.py,sha256=jDVhmCPpiwaMzDz1Dq_TQTd4rfY5it5qfZ17bohcCOo,746
7
- gwpy/astro/tests/test_range.py,sha256=o1WFz2rRzqqI1V_RdIVb2GaPxWZpIDHjc0MzD_M8zn4,6032
7
+ gwpy/astro/tests/test_range.py,sha256=ikKMYljmQe6IMWRMi2Vn48y5So_RVibD0U-ioLoEODk,6003
8
8
  gwpy/cli/__init__.py,sha256=3DnwWaykhjk-bT0h3n-f8vSHNtGzpi7RVG3rbOkFQhM,1404
9
9
  gwpy/cli/cliproduct.py,sha256=9OPACkQyjQmRtEmIgis4O3NaQLQV7AvEET1T44rSyLM,34269
10
10
  gwpy/cli/coherence.py,sha256=CbGwFl9pLHNncBMRdEr5mv-6EJLuML56Tp_kMD4F-Ds,4048
11
11
  gwpy/cli/coherencegram.py,sha256=mpGG3fHBR2OfjhfnRm3VgewAdr6wUgB6kwtsCeWnc64,3353
12
12
  gwpy/cli/gwpy_plot.py,sha256=CaxV0CsLUjsj24hGjjn5pwmKGq10I3-4qJoZvOKlSf0,5099
13
- gwpy/cli/qtransform.py,sha256=aXtgnc0Jb6UnHsaVDHuYhZclj4jsS6OPN5VnKrMg-dk,9140
13
+ gwpy/cli/qtransform.py,sha256=jC44b5YLmR5N5CC6YN5FrnntOEPD1wb-Sk8N4Dif840,9148
14
14
  gwpy/cli/spectrogram.py,sha256=NlNHVJhjb162j5P5e0G_6ngcbPlCW31Umw-IqKmsqGs,7131
15
15
  gwpy/cli/spectrum.py,sha256=IpBhoi70h1Cx1R6qlA3RMCyB7BXWrNFyQEVRpEIOSWE,4899
16
16
  gwpy/cli/timeseries.py,sha256=GWRQnUzc0oI2cJlDTTGnwRdFaL2X0ky8nlzMZF6dlvs,3891
@@ -27,17 +27,17 @@ gwpy/cli/tests/test_timeseries.py,sha256=HCYeRdk1Y7owMHTURmV-G9N4iSPZpoKXKvfigOr
27
27
  gwpy/cli/tests/test_transferfunction.py,sha256=VCve5NgBQo7tBgM5zaBlqY29R0ymc7Tfk9pRpJLsBdg,1999
28
28
  gwpy/detector/__init__.py,sha256=gsC_0ca8m8xRQzQ8ns6fpwFQ14_uxUu1LRh1B-sN6EA,2252
29
29
  gwpy/detector/channel.py,sha256=2X37knAbqzDg3GavKheXnOHOAgVaPHrOFQ4f4WpmvPc,26786
30
- gwpy/detector/units.py,sha256=YbKVRrOWIfGDWzeRmKriZuenIJdkxGmpUiHcIoJ2jp0,7113
30
+ gwpy/detector/units.py,sha256=W_a50ebj_OJ82-yHoSCtxNni8jKOXhhqOLHINY5ui5I,7323
31
31
  gwpy/detector/io/__init__.py,sha256=dAsz8ii5RVhwI_BNVjYrsnX1Pt3nfjh8jqVl4xqLTec,1037
32
32
  gwpy/detector/io/cis.py,sha256=gHGnB68xMAv0xQUG4eazA-4Jp0BesYlrttPBXt2g2Qs,3184
33
33
  gwpy/detector/io/clf.py,sha256=AusPzKEEuJM6qRyrAzBKmVeYrpnU8Tniql1DPtVHW28,5689
34
34
  gwpy/detector/io/omega.py,sha256=d6BZe2PCSMg89kXPzSjBNKfhSiYpQAMhqQ_irziv2EQ,5939
35
35
  gwpy/detector/tests/__init__.py,sha256=pxB9IZpIXe2m7bax8I-qOG0qggEJ4jiXxLOhI_T82m8,749
36
36
  gwpy/detector/tests/test_channel.py,sha256=pVlP-BDT_XLGfNVb6iMVHCifPZz1x8koeThqqgnpQo4,18473
37
- gwpy/detector/tests/test_units.py,sha256=BPgeRq8WVCxX4xxFViPYWTKREfcc0iAC0pVMcPCSCus,2548
37
+ gwpy/detector/tests/test_units.py,sha256=GvtH1fMDdzbh5S7LKPkbASSqm6WXF4r98fm7KXr_rp4,2727
38
38
  gwpy/frequencyseries/__init__.py,sha256=cHVavDdimRR07gB0ekmlcXgwSasjaPMnzZ1OQMc1am4,995
39
39
  gwpy/frequencyseries/_fdcommon.py,sha256=kc9G1R7XbcfOxVpzcRY3wcsZVJrrJDpzCfVqsI6H5zs,1943
40
- gwpy/frequencyseries/frequencyseries.py,sha256=iNXDcJMCcMst28TQwDxDz-6jOMJblIon7rjQ-zjvoTc,14328
40
+ gwpy/frequencyseries/frequencyseries.py,sha256=DU2ZMDaXua4birZNX6lUYxmYcusBJQgWKAwlw9wmP9Q,14481
41
41
  gwpy/frequencyseries/hist.py,sha256=HQpQzy7oo95Je0wMhuvJnFkdrdRX3T7p4Rs5s6LMWSM,11947
42
42
  gwpy/frequencyseries/io/__init__.py,sha256=Vk_5We8GWOU-ydFyfTKtb4tI_zXAxYREqKIbmitMPCI,907
43
43
  gwpy/frequencyseries/io/ascii.py,sha256=TjuZjHUWAkk1ncBSsRft0EzT0doAmymU6UrhnpCw83Q,1071
@@ -48,9 +48,9 @@ gwpy/frequencyseries/tests/test_frequencyseries.py,sha256=khe7VzuiMaNzGlP2YkYkMO
48
48
  gwpy/frequencyseries/tests/test_hist.py,sha256=rfd6PEjp30TwoTD8ajlUkdTKOkqZs5hs385rX-xzEbc,4126
49
49
  gwpy/io/__init__.py,sha256=Y-QjvthCmjEKRHxix-0iZjx9-VKT30ynPT4bWbKdAA4,831
50
50
  gwpy/io/_framecpp.py,sha256=1CTZgxJ7YD8tZv_zP9Hucj9_TE0oMrtdhFWSncZ5jzo,4250
51
- gwpy/io/cache.py,sha256=vwUknZ0GHwpUj_NukTgsgN5onXIeKAJJxtjILt9VW7o,14662
52
- gwpy/io/datafind.py,sha256=QDuGUXZwr4rJHpM-nLbBxCIa_mxs1TOs19fTywE1f3M,18462
53
- gwpy/io/ffldatafind.py,sha256=LMJQpZ5BmaybzxuFwHKo9UwVFmgmQt6GJrLZMag_4hY,8399
51
+ gwpy/io/cache.py,sha256=6kX4akC7a9m3B8AvDmwVYgiVkBb2L6B3IiPFyoweAnw,15124
52
+ gwpy/io/datafind.py,sha256=MEgH8n2YjIT21AY_jAIUJDtT994F87n2rEwTMMCwF0w,18485
53
+ gwpy/io/ffldatafind.py,sha256=OFcMEPT8FqKFMV_tnwRIggqvLgUSgVYWcdP1FnRrwnk,8766
54
54
  gwpy/io/gwf.py,sha256=6MxFq9-59nwOcHe7d13zF9BYpDfVCXaINK-KvntF7ZU,18966
55
55
  gwpy/io/hdf5.py,sha256=Pg8zIv1dy7I9Z0sBM6vtry97igHej5gFnBukjsTiiX0,5257
56
56
  gwpy/io/kerberos.py,sha256=4tFPQ5iOy6cOe9MCEJqVqJZZ287EKh8VF64BPPiOPH0,6928
@@ -62,7 +62,7 @@ gwpy/io/utils.py,sha256=xLn9EI1VrSX2NqhsTvLvBLg8vLKQXPD6L0MOL8Z9WDg,7341
62
62
  gwpy/io/tests/__init__.py,sha256=4QFcOfH6EHMs-fH0nYKYwgKlf2-c5bINDOjhULDWc20,743
63
63
  gwpy/io/tests/test_cache.py,sha256=-FB4qcbFDKkzdC4gyt-vFnqIyhvfPw0EiZ1RJgjAFEQ,8567
64
64
  gwpy/io/tests/test_datafind.py,sha256=LERgMx4kkEOlrFhugYqPv3Aahp5THC0-q36oTwGsU9c,10597
65
- gwpy/io/tests/test_ffldatafind.py,sha256=dKKRrFOUIScwTQC7ZWMu_kI5FLp1QLwXlkJqpJu49eE,6277
65
+ gwpy/io/tests/test_ffldatafind.py,sha256=IS6cILpWRdkxSribsRt15wvhGxhVEOjwjHEmF9lPV00,6409
66
66
  gwpy/io/tests/test_gwf.py,sha256=qCnxxjGKlKv73YcmUxGJJoLQPlTCTvbPu2ivj5V1lN8,4228
67
67
  gwpy/io/tests/test_kerberos.py,sha256=LsH2ux8B3biMT9XGHvmpbH84Twu3nqZtAPVoTifmVH0,6492
68
68
  gwpy/io/tests/test_ligolw.py,sha256=62XIFD8T5Omfz4qoZcoDtPHuwgSUYccYSZBEouVgdy0,10701
@@ -74,13 +74,13 @@ gwpy/plot/axes.py,sha256=mpMtg-VTNpSRzbvRyca9EbHJtTdcFKHYX8pVIc6aPUw,23376
74
74
  gwpy/plot/bode.py,sha256=EfC8wl0_xYriL12m-jZdeDHBJ0tt2GJ6rYNuHQlkRsQ,8733
75
75
  gwpy/plot/colorbar.py,sha256=4-0Lci1KhpEwdCo1L6jWbZ0ErjKxZ61Zt1uokrlM44M,7041
76
76
  gwpy/plot/colors.py,sha256=qmrM4u4Ir8OB2jkHUG3ZnriUlp1sdAB_IAb0H9mhC_A,3367
77
- gwpy/plot/gps.py,sha256=rpGcV0Ky-VPxRbPpziKjZyZs3Y-sgPkGsO9_sdhQvKo,16720
77
+ gwpy/plot/gps.py,sha256=Xui1PMSh9K0ovSFuLyVJNKsMoNoOqppQtoEU3y5ZVDU,16846
78
78
  gwpy/plot/legend.py,sha256=mD07CTmv0rF171olt6ObsK9k4i-TxKacHQ4kBRzdb_0,1635
79
79
  gwpy/plot/log.py,sha256=Sn1BJRB5ml0oqE8UXBphb7MDhwu7ru-UtlvG4i5qTyE,5030
80
80
  gwpy/plot/plot.py,sha256=Ci8bxBgld4PjbeFtQQ_19ryYENJ1EHcIQN7f18Xi99c,21866
81
81
  gwpy/plot/rc.py,sha256=cK8pOzcvuRsMv_16k9Hl2mkn_dk8FaRrIVhtNhBzyp8,4816
82
82
  gwpy/plot/segments.py,sha256=HhjQEv8G00Rp7iRun98CGIk91-c_vAvEsv-uch3CbyU,16943
83
- gwpy/plot/tex.py,sha256=SJRMIgxBZ9I0vFM1n3O5UqETWS_pnRxg78UFSPYjBXI,4783
83
+ gwpy/plot/tex.py,sha256=W1EPjdd9T6H2irDsbbbNNLL_CqBcYRTcAWx9OlsCcFg,4869
84
84
  gwpy/plot/text.py,sha256=SPVO-QQe6B6SaPiycS38EwZGmVbwQfxQfQ1cjbGeOiI,1989
85
85
  gwpy/plot/units.py,sha256=D0bWwYIAg-QuWpsNvze9UFuHoBX9p81B-Dlj5kbDxRQ,1825
86
86
  gwpy/plot/utils.py,sha256=uRz9Gqy_2Mxk-2Nvw9wy-kIoAKUDeSDALMRkSziQyZY,1670
@@ -88,17 +88,17 @@ gwpy/plot/tests/__init__.py,sha256=k6hQsfBzktDEYb9gGfy9DKD5Cj2GCQmnFBnXIR9yynM,7
88
88
  gwpy/plot/tests/test_axes.py,sha256=URs8Nvg7WHqDWYjTTSz169hhCM-aE3P9nRa4n9qwolk,11736
89
89
  gwpy/plot/tests/test_bode.py,sha256=Noa55V7WxiE7C__RdNb2xcbeapFeuKP9gt0cmnT9eeg,3351
90
90
  gwpy/plot/tests/test_colors.py,sha256=m29kKi0tptiY_dv3FnUzxPAlI2qHn1K3inG2382cDoU,1881
91
- gwpy/plot/tests/test_gps.py,sha256=J_2Y0lzhVA1_LfH0Z_8bJFVPRhDPqWgnd6x4md4zXgc,5456
91
+ gwpy/plot/tests/test_gps.py,sha256=l2FhNOpR1u6NxczaaDf1Wq_moOPFVFC1wQiyX-6jvJQ,5505
92
92
  gwpy/plot/tests/test_log.py,sha256=WLYEOYVxwIkXQWGMqioeC0mEB0JbVQxkowlwmUbPqkc,2652
93
93
  gwpy/plot/tests/test_plot.py,sha256=BJJkkmbJ_RHKQhD4oDeBCi9Ym9Vnrizh_1F5VxLbMlU,4398
94
94
  gwpy/plot/tests/test_rc.py,sha256=8wxIVknBtJOnDWtWlNyPMPlgzYFLFef9BmOsOMIlBfQ,1252
95
95
  gwpy/plot/tests/test_segments.py,sha256=ySCcn7LFGA66zgZWnZBJrJ9Rdn0WObN4-DEKhfvMlLM,5442
96
- gwpy/plot/tests/test_tex.py,sha256=lkIwbxrGs-W_zCcAuGVquTn3WJkxwf0AcwBSQtA3Sb0,2318
96
+ gwpy/plot/tests/test_tex.py,sha256=nrmwfpBMuoE9PoCx_lbpCjT-fTHWAlYmcgmJIcKuPro,2423
97
97
  gwpy/plot/tests/test_text.py,sha256=9gITSsIKiERP4_iN2iB6K-mUL4PRXvL06jon2zUoSNw,1291
98
98
  gwpy/plot/tests/test_utils.py,sha256=_PgJNR3Ly6T26ixCwXMm1NmjAqPhPvHL2r2iza3VgfY,1615
99
99
  gwpy/plot/tests/utils.py,sha256=_G0yoG1qJ1iz2Iz541_dqSyWQz3rJLOwKbXeZDPL55c,1925
100
100
  gwpy/segments/__init__.py,sha256=9h0gedE_OjlNqWmwibTNLSsjqTokbXVKYMfMKSaKocQ,1194
101
- gwpy/segments/flag.py,sha256=9dv3OZPrsj2msHSLyenOfiheCtpv7zTI3_RTvihaUXM,52661
101
+ gwpy/segments/flag.py,sha256=gr4F8AdFjKHWBo7nsVVPZ6ZzDQyO-HIkFLJ3trs_SQc,53098
102
102
  gwpy/segments/segments.py,sha256=bozaq1fYPO_a4MxwU35Iaaf_t3d59K1jtISvoMwItxg,9042
103
103
  gwpy/segments/io/__init__.py,sha256=ObnJsqSk_Y8qD5-OVmYRcdtDbZcm5pdEu0kRoI9vHtA,1005
104
104
  gwpy/segments/io/hdf5.py,sha256=gH0xKxLBx4OQlUjP2Bvsyt02SKY8dVFG6D6poKWBQ4s,11048
@@ -106,15 +106,15 @@ gwpy/segments/io/json.py,sha256=hpGZAuM73UeUK3e4DyIrNQmxujOA7wDGc5QY4vf8F2k,3036
106
106
  gwpy/segments/io/ligolw.py,sha256=nYaHjlge1D_Bz4m62dLZUKPBJEo_jnq5M6oD4tkq5qA,4907
107
107
  gwpy/segments/io/segwizard.py,sha256=JVBFcBBJlFi1E8WBLa7nkz-9vlKVu_bYlprVT50nbqE,5007
108
108
  gwpy/segments/tests/__init__.py,sha256=4Y-SPq-7QBHsvVIIlz6UgvPxDsBkO4orFrapx3Uwgew,749
109
- gwpy/segments/tests/test_flag.py,sha256=jo3TjmyLyJauK70LkQZf7Zzh27VgOHGJ37qJXjVm0Ug,29683
109
+ gwpy/segments/tests/test_flag.py,sha256=LdpG9PUjlirl-54rdMDRv4d4ASJbhWmpA6RVVltRjxA,31672
110
110
  gwpy/segments/tests/test_segments.py,sha256=VSvjy3p4MuVyucK_QB5PfOjZ0FvJU-jd4pNHv7ppiE8,5360
111
111
  gwpy/signal/__init__.py,sha256=1FcrzAPP5fkp9OzrpQyrDswINDqGuLYY_cdtJQttB64,972
112
112
  gwpy/signal/fft.py,sha256=YS2g5Urh5Y4x_L2rGts11O5t-M5Y_yAtAvrFkqTv4KQ,1189
113
- gwpy/signal/filter_design.py,sha256=cqCl0Yu_PrSOgGC2j_jjtFdtPzsl6d0F1jKuG_fMWok,20270
113
+ gwpy/signal/filter_design.py,sha256=AzRxYJKGaIz7dAmv0qbTvqzCo1nSpzRepV6KORWzdpI,20325
114
114
  gwpy/signal/qtransform.py,sha256=3yhxkioNa3EdwKvsmvYoXnQqA8VPAZW58OnAuE4YHxw,24471
115
115
  gwpy/signal/window.py,sha256=ukwcyoAtmLC6LWGyvcOh-gyh0s8paIVk3Z5gjCUk9F8,5927
116
116
  gwpy/signal/spectral/__init__.py,sha256=dEKuHIaekXqgmoBJ-gvE0xWym9d7STcAAmewY8qo8xI,1818
117
- gwpy/signal/spectral/_lal.py,sha256=qEmPdpiojSVg1B2n-i8nY-a0Vwc8EdFOuEmjol3DuRg,12000
117
+ gwpy/signal/spectral/_lal.py,sha256=NthuLPlGAY2dwYccXmwRJDU3WT41dsTMz122UcvH_cE,12000
118
118
  gwpy/signal/spectral/_median_mean.py,sha256=1yB3nr2U56b_7ruZQo2y7XXAdpcaFZjq6fyrpKT4SvM,1851
119
119
  gwpy/signal/spectral/_pycbc.py,sha256=VnZLJArAxtIWhyyifAYn1oyBS9jV0SauzEi50mGXexE,3577
120
120
  gwpy/signal/spectral/_registry.py,sha256=hI3klLe2MS0roooZXPwvzVUc_0PcDrnRwa6_QNhBOpk,2346
@@ -122,8 +122,8 @@ gwpy/signal/spectral/_scipy.py,sha256=cLoWA9CynvCdTXW3X22H2GBgYx4-o3cMVZorFlWMjd
122
122
  gwpy/signal/spectral/_ui.py,sha256=MbB3aSUFS4bS5S39fEcSqyhbC6Foq15PGlazVJalWjM,14241
123
123
  gwpy/signal/spectral/_utils.py,sha256=qSaj1GctqOd4HmiVwtfUUrBXvZAh0WJYbKiePUKEa1E,1669
124
124
  gwpy/signal/tests/__init__.py,sha256=k8yHNX5UvKYZCwZQA4oDEK7gNAYMX7JLhztV67_JoOY,747
125
- gwpy/signal/tests/test_coherence.py,sha256=ADjqu5wFqdbeyNcgnT4_tPVlXU7X-DNucsh10EpKrG8,5088
126
- gwpy/signal/tests/test_filter_design.py,sha256=16BgVPMAFcHML4gsvioT3rLkagiV2vengGNxLJDnGHM,4349
125
+ gwpy/signal/tests/test_coherence.py,sha256=Rk3l7vbvoG4uHIMJodsjchocKWaaKMD0KH3tq_NgDFw,5119
126
+ gwpy/signal/tests/test_filter_design.py,sha256=_TyguEED-zkv594XdcKaYkic0EhVFBYHPAHza8UyzAg,4349
127
127
  gwpy/signal/tests/test_qtransform.py,sha256=LKBow9vIYI7jRNjuzw53WgsJYMSv9EwkQt-T_Xti1Uk,4017
128
128
  gwpy/signal/tests/test_spectral_lal.py,sha256=b7LkyTYtSMVBxikwHQQG042SS1_Zj8WHYqHXWB8lXvo,3543
129
129
  gwpy/signal/tests/test_spectral_median_mean.py,sha256=K5436i5He7_f9N4xI3pyziIKkKaVQOO_lr9kWR4Q3_E,2195
@@ -139,7 +139,7 @@ gwpy/spectrogram/spectrogram.py,sha256=O5Q8I3iGKRJPuw2abgGElXgpDTc1tyNTpRxCLteDj
139
139
  gwpy/spectrogram/io/__init__.py,sha256=JV8rlAcWqxqxMDhPOeGpOHZplqEfMij7KCIJjyJKhWE,846
140
140
  gwpy/spectrogram/io/hdf5.py,sha256=lhYN6Sz8NbjwjiDg9uMwsJyyrUfOJyIDFA93LcuEafs,963
141
141
  gwpy/spectrogram/tests/__init__.py,sha256=wbvEjFoPSs3mjTQEn93ZBYxSmZeK7Qkx9IFyUplQXco,752
142
- gwpy/spectrogram/tests/test_spectrogram.py,sha256=0NU-walZSbBIKMInn1xzbtdkE7esCSldBxQYLAN8tE8,6590
142
+ gwpy/spectrogram/tests/test_spectrogram.py,sha256=HNvTZ78HAlk1sPDCoGKui3r36Si6LjTaOt8ityyMgLI,6604
143
143
  gwpy/table/__init__.py,sha256=RQrS8y375ofpT1qOTyL4eh-QZ8wA9NIfOqu14GK58g0,1418
144
144
  gwpy/table/filter.py,sha256=TV2Krai3cVgHMCJ4oBScwrDDecMShhLRjGRyXeOqEFk,7918
145
145
  gwpy/table/filters.py,sha256=SbUWB-yid0G8_2q577-VvJxOsNt_qBGFDYS6cbKjJAM,2645
@@ -169,10 +169,10 @@ gwpy/table/tests/test_io_pycbc.py,sha256=65f_AXgD2DCeIcz-rDOucjRStWRd__VQRfK1gcY
169
169
  gwpy/table/tests/test_table.py,sha256=HthR885GqcBQSB8vD5Q6sOSPHojo8m5fa8HPeFx5m6w,30399
170
170
  gwpy/testing/__init__.py,sha256=_dtbhI4nOnnUPu8hLZUTUZxgPCq2KB2ATZiLEns9ybw,745
171
171
  gwpy/testing/errors.py,sha256=WeRm5QbqfFNxvNvXnrTBj7NOueJPMQJErmiGstZBL50,2783
172
- gwpy/testing/fixtures.py,sha256=r8AcAcOe3GEWRSpWwFiWp1wJNGychwOt7HcWNLZWEzk,3772
172
+ gwpy/testing/fixtures.py,sha256=pu0sA3l3rcs0osVj97C0lmENYDa-1SF5B44uXey5cb0,3344
173
173
  gwpy/testing/marks.py,sha256=BIZ2Q4yfJSS9YQWCWSOwt66JKFnrhbx5XPXbvwfuFyo,1480
174
174
  gwpy/testing/mocks.py,sha256=3GoAT1z-1LJXNuoskCmpSi3GTqAa_quO7Tm5pyns0SA,4131
175
- gwpy/testing/utils.py,sha256=4nnX7jRNnFXEI6fchwHxLbiSv7HrQhnuuJsAvp89egU,11726
175
+ gwpy/testing/utils.py,sha256=yb6HFq_bmqlXiYkM1f-dzKkMBqBtipFhdQwSpI3yDSU,12058
176
176
  gwpy/testing/data/H1-LDAS_STRAIN-968654552-10.xml.gz,sha256=sEScnAbXjkcGtlY3GN_x0ual25EUWRaAGK31hvLOpW4,58124
177
177
  gwpy/testing/data/HLV-HW100916-968654552-1.gwf,sha256=AE5d5_T2MgQ7nnNC-cbnkKhRwc0USW_VjGXHEJzg5Hc,377295
178
178
  gwpy/testing/data/HLV-HW100916-968654552-1.hdf,sha256=5Yedvju4PUFFa17sZVIiBdbSwFlLTMF6UgrB7QvMJTw,382679
@@ -180,48 +180,49 @@ gwpy/testing/data/X1-GWPY_TEST_SEGMENTS-0-10.txt,sha256=4c_ltTtVCRydQdugb3orXWAK
180
180
  gwpy/testing/data/X1-GWPY_TEST_SEGMENTS-0-10.xml.gz,sha256=9kSA1G1eYh8BzSI6dHo9gzakW6UBp1PNBN91fxDU8Us,564
181
181
  gwpy/time/__init__.py,sha256=aWE_-KM1fAiHJaFTiXIkpG1w2h6bn2Vpwqn_K_xVZ3c,1812
182
182
  gwpy/time/__main__.py,sha256=dAf9mX1ywot9h5_Js1NWxhXf2d_Np99A0o7-WNKsess,2285
183
- gwpy/time/_tconvert.py,sha256=TW2gMGr8ASVw7sOVDoAT9ZPvhDbUU4e7k7W-kST0ACw,8975
183
+ gwpy/time/_tconvert.py,sha256=PFYmc3fMuZTkApWjQOd0yPL7Pm7m7l6GRfQFpVO2riM,8486
184
184
  gwpy/time/tests/__init__.py,sha256=EF4G-IubXcMA_-mucDvcpjqM-ITyp0G_3cvO0VeYdxI,745
185
185
  gwpy/time/tests/test_main.py,sha256=3QV6kTWQ6AkGCYmqxfw-JfAoiR6VXzyrM__7XeyQvTI,1362
186
- gwpy/time/tests/test_time.py,sha256=7XGTzQxUDUlpHwNqobuQq5NK4Clahf1sVqGbVGeBRCU,5728
186
+ gwpy/time/tests/test_time.py,sha256=Cj3Yv0N4MYi9C5fzuXPgR6rge6aKgfIbnhUwzeKDRDM,4402
187
187
  gwpy/timeseries/__init__.py,sha256=e-ncacmSPxUUmya8xlQ-Govk4ptr-0TVp26vMIPmxTU,1134
188
- gwpy/timeseries/core.py,sha256=P2Pbin4_Lfhfa18t19HxvHWW8NrTxBykcQZ4ZsO9nas,57802
188
+ gwpy/timeseries/core.py,sha256=Ntvo0F6WPXfMRAwuulSWEsK-SP6qlB0PNUoLw5bz7s8,57838
189
189
  gwpy/timeseries/statevector.py,sha256=Ns65za6o1L49mXUN-WukP-Lz3vxQw330Od2FzPjQGbI,35811
190
190
  gwpy/timeseries/timeseries.py,sha256=lg28EEMASBR2IS_4gJfcU0j3uo7tEfFEVjK-Uv64ziw,87809
191
191
  gwpy/timeseries/io/__init__.py,sha256=qviFCaeTVeTZ7ZiIQKQyU1xxh76Ba60yE9vVtm9y1bY,938
192
192
  gwpy/timeseries/io/ascii.py,sha256=M05FDTCa06KLJ1Sb0jDh3NxrmMboV73j38nyMacVPkQ,1185
193
- gwpy/timeseries/io/cache.py,sha256=x80oku7oIbq-6FnHiEu4Ug85TWDLg09gBU-fh2Z0iLA,2602
193
+ gwpy/timeseries/io/cache.py,sha256=xN-lSjsBy7Heo_9X7FVRYneA4HaEMpLs4Q1Zc7lJSoA,2794
194
194
  gwpy/timeseries/io/core.py,sha256=1hp7f7UgcEEqw1T9Oa0DGMMg6uyKJih8h4A3rNkx0SQ,4692
195
195
  gwpy/timeseries/io/hdf5.py,sha256=eGiqWQIdD3Lu-74F6qiw9dKq6GSjBHoroanNsdzcy2E,4214
196
- gwpy/timeseries/io/losc.py,sha256=56RJYPM2XBFEZQdiVDfRIST4pylXYKLbssOTIwcWsOE,9334
196
+ gwpy/timeseries/io/losc.py,sha256=QwBdN-E2CU7L27QRg80RLM1U3TwJ_4abpudci3STt8M,9419
197
197
  gwpy/timeseries/io/nds2.py,sha256=TlUQgKyHzhRQ9kzwEDxt5zgAWAo8viLkokM4P50n3Xk,7811
198
198
  gwpy/timeseries/io/wav.py,sha256=E_EjIa43nzpps18x-ekollMvgPbrKyqt1v_VAXicbPQ,3595
199
199
  gwpy/timeseries/io/gwf/__init__.py,sha256=C1HRu4OVns8pTPQG7hLTZFxqIS7PZnt1cLmKKf5m4OQ,13156
200
- gwpy/timeseries/io/gwf/framecpp.py,sha256=-cPrdQEnzFeEjc_ktpSNY36pnyAU9PQI8ofR7UimU6E,17130
200
+ gwpy/timeseries/io/gwf/framecpp.py,sha256=sFrsWr5uiE5p7wym-u3oMPsKih4OckZoXLdnTLKbfS0,17223
201
201
  gwpy/timeseries/io/gwf/framel.py,sha256=UQuydhR9reAgSmYSI0lqHJ7120gDyXHoImaQUjXz0mc,4776
202
- gwpy/timeseries/io/gwf/lalframe.py,sha256=hpBQRNHhNUat-E8EKXHcRCTZm6JKjodIgjs0n4HTVfQ,6828
202
+ gwpy/timeseries/io/gwf/lalframe.py,sha256=zXaDxnSWW9d3xdkwm8hQLnQAN_hEmTuZ4ibsJYndBzw,7729
203
203
  gwpy/timeseries/tests/__init__.py,sha256=QJdnWz_IQOTYq6MvKuBzz2HFiNVf6QMXrZ-kDks-lDI,751
204
204
  gwpy/timeseries/tests/test_core.py,sha256=9tJ5_ifgdW91Ga_l7AoExLN9QAMNaTcgNep3eu7Rvbc,19685
205
+ gwpy/timeseries/tests/test_io_cache.py,sha256=nEEDjEaJ8Nf9KV2p6k9LchbmhvU-O5xcmJT2gbC5QZw,2294
205
206
  gwpy/timeseries/tests/test_io_gwf_framecpp.py,sha256=2EHmlVLbM3J-6YQmaxiCHNL1Fiw7Lur4fRiMJDCY1kM,2265
206
- gwpy/timeseries/tests/test_io_gwf_lalframe.py,sha256=Bz5gjhKT8px27mPkdDDiR47-vjc5Tn04f2Is8CKAvLc,4969
207
+ gwpy/timeseries/tests/test_io_gwf_lalframe.py,sha256=iD9m01menvAgUXoGJnX7Xv-O5t3mgX2C2N2nRN-gitY,5479
207
208
  gwpy/timeseries/tests/test_io_losc.py,sha256=E_bLM3bc4TO2-cMOEF3vDG8cr6TKgQwPY-EBN6DzyUg,1833
208
209
  gwpy/timeseries/tests/test_statevector.py,sha256=NOSe4BRwIKoaax_YnxoP2UQ1mpy4Zbw8zJPbcI8OHzE,12935
209
- gwpy/timeseries/tests/test_timeseries.py,sha256=-iH7gnhApfgHKQBRXz2GI663tZ7yvdjaRpUisX1h2q4,56584
210
+ gwpy/timeseries/tests/test_timeseries.py,sha256=wKjGLCJAx_sgX9DIHk1-Kv-GpgqRQ3j6fwxXB_MCx3I,57513
210
211
  gwpy/types/__init__.py,sha256=JIpXRdi0av2V0BkynOwUhijxQShSAqE5gLrowJ6Nckg,1159
211
- gwpy/types/array.py,sha256=JiwmwXmSIYY-Y08yrs5sUJu3a0iAQT3kE0mWmKT3g7M,15282
212
+ gwpy/types/array.py,sha256=D4EwGC80hKFhrRuFD3xnHaqJR7jdT88v5nik-3o-RU0,15595
212
213
  gwpy/types/array2d.py,sha256=NtwW5T6PWHiAS6kFYUfF8fm3WE4qQdPbXN01iaBET0k,12367
213
- gwpy/types/index.py,sha256=JMvhf5HyT8mIRemj3aBY0A6aliEKMgyt6rDGNoiPO0Y,3074
214
+ gwpy/types/index.py,sha256=35bEHsDmxTyDFItjngxZUrfk2l-bw1TkTse4KCLqTBk,3154
214
215
  gwpy/types/series.py,sha256=zcRvwoFoVJbpxBs8-eTdx7zV3Vb_B4oEtv3dXwj0lWM,36490
215
- gwpy/types/sliceutils.py,sha256=M4SIuaGSUv3_OsS07O2_6rRC8hxq7z6XwQViFsdqsn4,3567
216
+ gwpy/types/sliceutils.py,sha256=Eaqbn0ZCCQ4couMm4JuL51-3tIcykotk5vPnGBYqD20,3619
216
217
  gwpy/types/io/__init__.py,sha256=B5A4gqpldCnd9LjZ0BEWU5qaJI-tWU-Du0n_gEcw1Cs,905
217
218
  gwpy/types/io/ascii.py,sha256=bamzUBneh2DZXjQ1jPlUjMvfnvBU-ckjGJ4eYR9zzY8,2872
218
219
  gwpy/types/io/hdf5.py,sha256=OMGrLD3B3oiJpN9q_-OHUhVXxkJKxDWVacEcpwGK5A4,8019
219
220
  gwpy/types/io/ligolw.py,sha256=p0181ziPEuKcJJBA9WVOYmus7KD7UzGai7xCd7U49-A,7267
220
221
  gwpy/types/tests/__init__.py,sha256=1-XqGdROuPGF7ee-MsWjZVh5uY29SKGuA6VlJs4Z-Ac,746
221
222
  gwpy/types/tests/test_array.py,sha256=1wbFCcvfW1C3ZrBC1aSK-TVmvPcUrCdINcoSAQRQ9rw,8608
222
- gwpy/types/tests/test_array2d.py,sha256=qCeTkh1MIEbzATp94Za1R2CPn7UCfyNHmMgk9qYyPJw,9081
223
+ gwpy/types/tests/test_array2d.py,sha256=Bpg7VjmkfhDnJOkvKU2ndUJMLEfO4OvpyTK6HyBsCkk,9214
223
224
  gwpy/types/tests/test_index.py,sha256=2DKZnlNCU2tQ1IU4w4yQGtRKTTvcJlSwFvQLjhV2RrU,2044
224
- gwpy/types/tests/test_series.py,sha256=euDY_ICCxiUu26iVS1wOUEmKGJ4K6sJu1MsHnVNjVo0,15551
225
+ gwpy/types/tests/test_series.py,sha256=3SZalBwPHErt8OVTr8fJAIer5p7tkkG1hdvAZ6kWMbc,16571
225
226
  gwpy/utils/__init__.py,sha256=OiPOQ69N9q8xE6VQI9rpEvhPx0bgAmHjxo-rV8RHoDE,933
226
227
  gwpy/utils/decorators.py,sha256=tvf4j3HarUIgbG_eFolbJcn5032nJBlhfZLK4UvaRKw,3723
227
228
  gwpy/utils/enum.py,sha256=o2LhVx0G_-T_PlDe1aGD7dlOu1ySY4rPx-UTasr_8Qw,1490
@@ -230,11 +231,10 @@ gwpy/utils/lal.py,sha256=403euQcgubAOKd2gTz94Fq0W40oy2fNTrj6MIACg-B4,8507
230
231
  gwpy/utils/misc.py,sha256=nW61k_q10VV6Rf3aVESp8pM4eXwLKpGysGKtH3u_0xI,3284
231
232
  gwpy/utils/mp.py,sha256=WPLblhUpdiK-lN3z6-EqSmdDp3CFFLmwFq8qnVSc9Qw,5057
232
233
  gwpy/utils/progress.py,sha256=coDB4ju-qJ710TGwposHAKZ95GWj36hJEBRHjl1-Frk,1367
233
- gwpy/utils/shell.py,sha256=cAacZnMSTsfcxJkShFkIRyprnpHM9PnHm-cE258Pe5I,3396
234
+ gwpy/utils/shell.py,sha256=PErkh4RGlS_2_FPX5_kKSUeQj-_CgCWSkA-kf2ON3iQ,3371
234
235
  gwpy/utils/sphinx/__init__.py,sha256=awmoBU_ou-WAYmR4SrqRniWrU0G1icxXJZN_9wuChs8,770
235
- gwpy/utils/sphinx/epydoc.py,sha256=f1PVhiy_pQUxYMCl0wdj9HOo3AqF-BOPgpzosGmdAJc,3559
236
236
  gwpy/utils/sphinx/ex2rst.py,sha256=9q4Bk7eIx1rfCSDRSyqerXYfjBdIuwhQQWv-Y-XsAoY,4763
237
- gwpy/utils/sphinx/zenodo.py,sha256=FDpT14JOacgGIFUFCMhlIE2IUwA7ND1QRgrDGQPbqEc,3425
237
+ gwpy/utils/sphinx/zenodo.py,sha256=msrzwDB436q-49sc_DtEBU8p6fW_38bM6i80a8hP0w0,4098
238
238
  gwpy/utils/tests/__init__.py,sha256=ECvgWEjRqaYVJKOCfxbVSJmMrQS0k5iVanDJoJ7CHyU,746
239
239
  gwpy/utils/tests/test_decorators.py,sha256=CS7zoXcVS71VyVr7d9_ll7tWZjuFxBGuKsGKxpS331c,2209
240
240
  gwpy/utils/tests/test_enum.py,sha256=xOEKR-Id8krxTTBcTNlVjM-S_aGA__4_zMh1DupavM0,2185
@@ -242,11 +242,12 @@ gwpy/utils/tests/test_env.py,sha256=-ZG0L_jxrNsNmImuAEEBow66JN-BAsnKEG-KcOl_Nr8,
242
242
  gwpy/utils/tests/test_lal.py,sha256=7JQ_26ikvSwD1nrN4r8HXg_zJEdHzsxEZUiFPM_sPT0,3478
243
243
  gwpy/utils/tests/test_misc.py,sha256=rkTxdu7gv9Dxs0OI6IvGivGiAs3PuK8ckMtNF5_kE6I,2624
244
244
  gwpy/utils/tests/test_mp.py,sha256=kZXUTFqCPi4wvCkGgSSk8XrG9pHPGakPNuNUykgSp-k,2062
245
- gwpy/utils/tests/test_shell.py,sha256=2zKiOE-zItqufgUV4QQ5GJgwbujQASd-iuRFG4JcXvA,2367
245
+ gwpy/utils/tests/test_shell.py,sha256=arHzI96Rmje5JPhbQ33vEN0ByRh8qwRVqfl4-jzLUv4,2334
246
246
  gwpy/utils/tests/test_sphinx_ex2rst.py,sha256=KcIBPWTsPp00iTdYT6bZ8g2F7bN66PaX5uLJlcWu0J0,2263
247
- gwpy-3.0.7.dist-info/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
248
- gwpy-3.0.7.dist-info/METADATA,sha256=YrKrpeUk03PdzfhdIxk5PH8T6CDcSNe03d62swlrdCQ,5132
249
- gwpy-3.0.7.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
250
- gwpy-3.0.7.dist-info/entry_points.txt,sha256=pcO_XRknobU7b1uuxFb3nTdGMk8FrHQsWBOflnj6Ev8,54
251
- gwpy-3.0.7.dist-info/top_level.txt,sha256=0XRdsSjFdBe_QF_Qst002-CCxuuO13ag2n-11nBpZ4E,5
252
- gwpy-3.0.7.dist-info/RECORD,,
247
+ gwpy/utils/tests/test_sphinx_zenodo.py,sha256=9mtDwuB9J75I8azfUaU4ebAH24-SROS2A6XAv8yp0ng,5059
248
+ gwpy-3.0.9.dist-info/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
249
+ gwpy-3.0.9.dist-info/METADATA,sha256=tQyNrVzUMXeRAgG2DWNf-E-DpOxdchssHzNsuDVntZQ,5191
250
+ gwpy-3.0.9.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
251
+ gwpy-3.0.9.dist-info/entry_points.txt,sha256=pcO_XRknobU7b1uuxFb3nTdGMk8FrHQsWBOflnj6Ev8,54
252
+ gwpy-3.0.9.dist-info/top_level.txt,sha256=0XRdsSjFdBe_QF_Qst002-CCxuuO13ag2n-11nBpZ4E,5
253
+ gwpy-3.0.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,104 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Copyright (c) 2010, 2011, 2012, Sebastian Wiesner <lunaryorn@googlemail.com>
3
- # All rights reserved.
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,
9
- # this list of conditions and the following disclaimer.
10
- # 2. Redistributions in binary form must reproduce the above copyright
11
- # notice, this list of conditions and the following disclaimer in the
12
- # documentation and/or other materials provided with the distribution.
13
-
14
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
- # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
- # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18
- # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
- # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
- # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
- # POSSIBILITY OF SUCH DAMAGE.
25
-
26
-
27
- """
28
- sphinxcontrib.epydoc
29
- ====================
30
-
31
- Sphinx extension to cross-reference epydoc generated documentation
32
-
33
- .. moduleauthor:: Sebastian Wiesner <lunaryorn@googlemail.com>
34
- """
35
-
36
-
37
- from __future__ import (print_function, division, unicode_literals,
38
- absolute_import)
39
-
40
- __version__ = '0.6'
41
-
42
- import re
43
- import posixpath
44
-
45
- from docutils import nodes
46
-
47
-
48
- def filename_for_object(objtype, name):
49
- if objtype == 'exception':
50
- # exceptions are classes for epydoc
51
- objtype = 'class'
52
- if not (objtype == 'module' or objtype == 'class'):
53
- try:
54
- name, attribute = name.rsplit('.', 1)
55
- except ValueError:
56
- anchor = ''
57
- else:
58
- anchor = '#{0}'.format(attribute)
59
- if objtype == 'function' or objtype == 'data':
60
- objtype = 'module'
61
- else:
62
- objtype = 'class'
63
- else:
64
- anchor = ''
65
- return '{0}-{1}.html{2}'.format(name, objtype, anchor)
66
-
67
-
68
- def resolve_reference_to_epydoc(app, env, node, contnode):
69
- """
70
- Resolve a reference to an epydoc documentation.
71
- """
72
- domain = node.get('refdomain')
73
- if domain != 'py':
74
- # epydoc only holds Python docs
75
- return
76
-
77
- target = node['reftarget']
78
-
79
- mapping = app.config.epydoc_mapping
80
- matching_baseurls = (baseurl for baseurl in mapping if
81
- any(re.match(p, target) for p in mapping[baseurl]))
82
- baseurl = next(matching_baseurls, None)
83
- if not baseurl:
84
- return
85
-
86
- objtype = env.domains[domain].objtypes_for_role(node['reftype'])[0]
87
- fn = filename_for_object(objtype, target)
88
- uri = posixpath.join(baseurl, fn)
89
-
90
- newobjtype = posixpath.splitext(fn)[0].rsplit('-', 1)[-1]
91
- title = '{} {} at {}'.format(target, newobjtype, baseurl)
92
-
93
- newnode = nodes.reference('', '')
94
- newnode['class'] = 'external-xref'
95
- newnode['refuri'] = uri
96
- newnode['reftitle'] = title
97
- newnode.append(contnode)
98
- return newnode
99
-
100
-
101
- def setup(app):
102
- app.require_sphinx('1.0')
103
- app.add_config_value('epydoc_mapping', {}, 'env')
104
- app.connect(str('missing-reference'), resolve_reference_to_epydoc)
File without changes