sxs 2024.0.28__tar.gz → 2024.0.29__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 (131) hide show
  1. {sxs-2024.0.28 → sxs-2024.0.29}/.github/workflows/build.yml +4 -29
  2. {sxs-2024.0.28 → sxs-2024.0.29}/CITATION.cff +2 -2
  3. {sxs-2024.0.28 → sxs-2024.0.29}/PKG-INFO +1 -1
  4. sxs-2024.0.29/sxs/__version__.py +1 -0
  5. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/simulations/simulation.py +7 -1
  6. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/simulations/simulations.py +3 -3
  7. sxs-2024.0.29/tests/test_simulation.py +67 -0
  8. sxs-2024.0.28/sxs/__version__.py +0 -1
  9. sxs-2024.0.28/tests/test_simulation.py +0 -67
  10. {sxs-2024.0.28 → sxs-2024.0.29}/.codecov.yml +0 -0
  11. {sxs-2024.0.28 → sxs-2024.0.29}/.github/dependabot.yml +0 -0
  12. {sxs-2024.0.28 → sxs-2024.0.29}/.github/scripts/parse_bump_rule.py +0 -0
  13. {sxs-2024.0.28 → sxs-2024.0.29}/.github/workflows/pr_rtd_link.yml +0 -0
  14. {sxs-2024.0.28 → sxs-2024.0.29}/.gitignore +0 -0
  15. {sxs-2024.0.28 → sxs-2024.0.29}/.readthedocs.yaml +0 -0
  16. {sxs-2024.0.28 → sxs-2024.0.29}/LICENSE +0 -0
  17. {sxs-2024.0.28 → sxs-2024.0.29}/README.md +0 -0
  18. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/catalog.md +0 -0
  19. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/horizons.md +0 -0
  20. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/load.md +0 -0
  21. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/metadata.md +0 -0
  22. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/simulation.md +0 -0
  23. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/simulations.md +0 -0
  24. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/time_series.md +0 -0
  25. {sxs-2024.0.28 → sxs-2024.0.29}/docs/api/waveforms.md +0 -0
  26. {sxs-2024.0.28 → sxs-2024.0.29}/docs/html/main.html +0 -0
  27. {sxs-2024.0.28 → sxs-2024.0.29}/docs/images/favicon.ico +0 -0
  28. {sxs-2024.0.28 → sxs-2024.0.29}/docs/index.md +0 -0
  29. {sxs-2024.0.28 → sxs-2024.0.29}/docs/javascript/mathjax.js +0 -0
  30. {sxs-2024.0.28 → sxs-2024.0.29}/docs/julia.md +0 -0
  31. {sxs-2024.0.28 → sxs-2024.0.29}/docs/mathematica.md +0 -0
  32. {sxs-2024.0.28 → sxs-2024.0.29}/docs/stylesheets/extra.css +0 -0
  33. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/00-Introduction.ipynb +0 -0
  34. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/01-Simulations_and_Metadata.ipynb +0 -0
  35. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/02-Simulation.ipynb +0 -0
  36. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/03-Horizons.ipynb +0 -0
  37. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/04-Waveforms.ipynb +0 -0
  38. {sxs-2024.0.28 → sxs-2024.0.29}/docs/tutorials/05-PreprocessingForFFTs.ipynb +0 -0
  39. {sxs-2024.0.28 → sxs-2024.0.29}/mkdocs.yml +0 -0
  40. {sxs-2024.0.28 → sxs-2024.0.29}/pyproject.toml +0 -0
  41. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/__init__.py +0 -0
  42. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/caltechdata/__init__.py +0 -0
  43. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/caltechdata/catalog.py +0 -0
  44. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/caltechdata/login.py +0 -0
  45. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/catalog/__init__.py +0 -0
  46. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/catalog/catalog.py +0 -0
  47. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/catalog/create.py +0 -0
  48. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/catalog/description.py +0 -0
  49. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/handlers.py +0 -0
  50. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/horizons/__init__.py +0 -0
  51. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/horizons/spec_horizons_h5.py +0 -0
  52. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/horizons/xor_multishuffle_bzip2.py +0 -0
  53. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/julia/GWFrames.py +0 -0
  54. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/julia/__init__.py +0 -0
  55. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/juliapkg.json +0 -0
  56. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/metadata/__init__.py +0 -0
  57. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/metadata/metadata.py +0 -0
  58. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/simulations/__init__.py +0 -0
  59. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/simulations/local.py +0 -0
  60. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/time_series.py +0 -0
  61. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/__init__.py +0 -0
  62. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/bitwise.py +0 -0
  63. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/decimation/__init__.py +0 -0
  64. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/decimation/greedy_spline.py +0 -0
  65. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/decimation/linear_bisection.py +0 -0
  66. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/decimation/peak_greed.py +0 -0
  67. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/decimation/suppression.py +0 -0
  68. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/dicts.py +0 -0
  69. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/downloads.py +0 -0
  70. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/files.py +0 -0
  71. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/formats.py +0 -0
  72. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/inspire.py +0 -0
  73. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/__init__.py +0 -0
  74. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/comparisons.py +0 -0
  75. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/conversion.py +0 -0
  76. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/dataset.py +0 -0
  77. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/horizons.py +0 -0
  78. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/metadata.py +0 -0
  79. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/waveform_amp_phase.py +0 -0
  80. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/lvcnr/waveforms.py +0 -0
  81. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/monotonicity.py +0 -0
  82. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/pretty_print.py +0 -0
  83. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/__init__.py +0 -0
  84. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/ads.py +0 -0
  85. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/arxiv.py +0 -0
  86. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/fairchild_report.py +0 -0
  87. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/inspire.py +0 -0
  88. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/journal_abbreviations.py +0 -0
  89. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/references/references.py +0 -0
  90. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/select.py +0 -0
  91. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/smooth_functions.py +0 -0
  92. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/sxs_directories.py +0 -0
  93. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/sxs_identifiers.py +0 -0
  94. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/utilities/url.py +0 -0
  95. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/__init__.py +0 -0
  96. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/alignment.py +0 -0
  97. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/__init__.py +0 -0
  98. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/grathena.py +0 -0
  99. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/lvc.py +0 -0
  100. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/nrar.py +0 -0
  101. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/rotating_paired_diff_multishuffle_bzip2.py +0 -0
  102. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/rotating_paired_xor_multishuffle_bzip2.py +0 -0
  103. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/format_handlers/spectre_cce_v1.py +0 -0
  104. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/memory.py +0 -0
  105. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/mode_utilities.py +0 -0
  106. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/transformations.py +0 -0
  107. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/waveform_grid.py +0 -0
  108. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/waveform_mixin.py +0 -0
  109. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/waveform_modes.py +0 -0
  110. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/waveforms/waveform_signal.py +0 -0
  111. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/__init__.py +0 -0
  112. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/api/__init__.py +0 -0
  113. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/api/deposit.py +0 -0
  114. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/api/login.py +0 -0
  115. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/api/records.py +0 -0
  116. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/catalog.py +0 -0
  117. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/creators.py +0 -0
  118. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/simannex.py +0 -0
  119. {sxs-2024.0.28 → sxs-2024.0.29}/sxs/zenodo/surrogatemodeling.py +0 -0
  120. {sxs-2024.0.28 → sxs-2024.0.29}/tests/__init__.py +0 -0
  121. {sxs-2024.0.28 → sxs-2024.0.29}/tests/conftest.py +0 -0
  122. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_catalog.py +0 -0
  123. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_horizons.py +0 -0
  124. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_julia.py +0 -0
  125. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_loader.py +0 -0
  126. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_metadata.py +0 -0
  127. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_time_series.py +0 -0
  128. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_transformations.py +0 -0
  129. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_utilities.py +0 -0
  130. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_waveform_rotations.py +0 -0
  131. {sxs-2024.0.28 → sxs-2024.0.29}/tests/test_waveforms.py +0 -0
@@ -30,7 +30,7 @@ jobs:
30
30
  fail-fast: false
31
31
  matrix:
32
32
  os: [ubuntu-latest, macos-latest, windows-latest]
33
- python-version: ['3.10', '3.12']
33
+ python-version: ['3.10', '3.13']
34
34
 
35
35
  steps:
36
36
  - name: Skip replicates on main branch
@@ -78,7 +78,7 @@ jobs:
78
78
  run: hatch run test
79
79
 
80
80
  - name: Upload coverage
81
- if: "matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'"
81
+ if: "matrix.python-version == '3.13' && matrix.os == 'ubuntu-latest'"
82
82
  uses: codecov/codecov-action@v5
83
83
  with:
84
84
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -98,10 +98,10 @@ jobs:
98
98
  - name: Check out code
99
99
  uses: actions/checkout@v4
100
100
 
101
- - name: Set up Python ${{ matrix.python-version }}
101
+ - name: Set up Python
102
102
  uses: actions/setup-python@v5
103
103
  with:
104
- python-version: ${{ matrix.python-version }}
104
+ python-version: '3.13'
105
105
 
106
106
  - name: Install Hatch
107
107
  run: python -m pip install --disable-pip-version-check --upgrade hatch
@@ -168,28 +168,3 @@ jobs:
168
168
  run: |
169
169
  hatch build
170
170
  hatch publish
171
-
172
-
173
- binder:
174
- name: Trigger a binder rebuild
175
- needs: release
176
- runs-on: ubuntu-latest
177
- if: >-
178
- github.ref == 'refs/heads/main'
179
- && !contains(github.event.head_commit.message, '[no release]')
180
- && (success() || contains(github.event.head_commit.message, '[skip tests]'))
181
-
182
- steps:
183
- - name: Trigger other repository
184
- # I created a new personal access token via github profile > settings > developer settings >
185
- # personal access tokens. I clicked the "repo" checkbox, created the token, and copied it.
186
- # Then, I went to this repo's settings > secrets, and created a new secret named
187
- # "MOBLE_TOKEN" with a value of "moble:<token>", where <token> is the copied token. This
188
- # command sends a POST to the other repo, which is set up to build on `workflow_dispatch`.
189
- run: |
190
- curl \
191
- -X POST \
192
- -H "Accept: application/vnd.github.v3+json" \
193
- -u ${{ secrets.MOBLE_TOKEN }} \
194
- https://api.github.com/repos/moble/sxs_notebooks/actions/workflows/binder.yml/dispatches \
195
- -d '{"ref":"refs/heads/master"}'
@@ -10,5 +10,5 @@ authors:
10
10
  title: "The sxs package"
11
11
  license: MIT
12
12
  doi: 10.5281/zenodo.4034006
13
- version: 2024.0.28
14
- date-released: 2025-01-31
13
+ version: 2024.0.29
14
+ date-released: 2025-02-12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sxs
3
- Version: 2024.0.28
3
+ Version: 2024.0.29
4
4
  Summary: Interface to data produced by the Simulating eXtreme Spacetimes collaboration
5
5
  Project-URL: Homepage, https://github.com/sxs-collaboration/sxs
6
6
  Project-URL: Documentation, https://sxs.readthedocs.io/
@@ -0,0 +1 @@
1
+ __version__ = "2024.0.29"
@@ -133,7 +133,7 @@ def Simulation(location, *args, **kwargs):
133
133
  url = f"{doi_url}{sxs_id}"
134
134
 
135
135
  # Deal with "superseded_by" field, or "deprecated" keyword in the metadata
136
- deprecated = ("deprecated" in metadata.get("keywords", []) or metadata.get("superseded_by", False))
136
+ deprecated = ("deprecated" in metadata.get("keywords", []) )#or metadata.get("superseded_by", False))
137
137
  if not kwargs.get("ignore_deprecation", False):
138
138
  auto_supersede = kwargs.get("auto_supersede", read_config("auto_supersede", False))
139
139
  if (
@@ -160,6 +160,12 @@ def Simulation(location, *args, **kwargs):
160
160
  + "specify a version to load this waveform anyway."
161
161
  )
162
162
  elif auto_supersede and isinstance(superseded_by, str):
163
+ # raise NotImplementedError(
164
+ # f"\nSimulation '{sxs_id}' cannot be automatically superseded.\n"
165
+ # + "The auto_supersede option is temporarily disabled. The superseding\n"
166
+ # + "simulations have been removed from the metadata, and the new function\n"
167
+ # + "to load them has not yet been implemented. Please specify a version.\n"
168
+ # )
163
169
  message = f"\nSimulation '{sxs_id}' is being automatically superseded by '{superseded_by}'."
164
170
  warn(message)
165
171
  new_location = f"{superseded_by}{input_version}"
@@ -509,7 +509,7 @@ class Simulations(collections.OrderedDict):
509
509
  # simulations["end_of_trajectory_time"].map(floater),
510
510
  # simulations["merger_time"].map(floater),
511
511
  simulations["number_of_orbits"].map(floater),
512
- simulations["superseded_by"],
512
+ # simulations["superseded_by"],
513
513
  simulations["DOI_versions"],
514
514
  simulations["keywords"],
515
515
  simulations["date_link_earliest"].map(datetime_from_string),
@@ -519,8 +519,8 @@ class Simulations(collections.OrderedDict):
519
519
  ), axis=1))
520
520
 
521
521
  sims_df.insert(0, "deprecated", (
522
- ~sims_df.superseded_by.isna()
523
- | sims_df["keywords"].map(lambda ks: "deprecated" in ks)
522
+ # ~sims_df.superseded_by.isna() |
523
+ sims_df["keywords"].map(lambda ks: "deprecated" in ks)
524
524
  ))
525
525
 
526
526
  # We have ignored the following fields present in the
@@ -0,0 +1,67 @@
1
+ import pytest
2
+ import sxs
3
+ from .conftest import skip_macOS_GH_actions_downloads
4
+
5
+
6
+ def test_sxs_load_v2():
7
+ s = sxs.load("SXS:BBH:0001v2.0")
8
+ assert s.sxs_id_stem == "SXS:BBH:0001"
9
+ assert s.version == "v2.0"
10
+ s.h
11
+ s.horizons
12
+
13
+
14
+ # @skip_macOS_GH_actions_downloads
15
+ # @pytest.mark.parametrize("loader", [sxs.Simulation, sxs.load])
16
+ # def test_superseded_by_single(loader):
17
+ # simulation = "SXS:BBH:0001"
18
+ # # NOTE: These tests as written will only work so long as only one
19
+ # # simulation is listed in the given simulation's `superseded_by`
20
+ # # field. If more are added, this test will need to be changed to
21
+ # # use a simulation that still has just one.
22
+ # with pytest.raises(ValueError):
23
+ # loader(f"{simulation}")
24
+ # with pytest.warns(UserWarning):
25
+ # s = loader(f"{simulation}v2.0")
26
+ # assert s.sxs_id_stem == simulation
27
+ # s = loader(f"{simulation}", ignore_deprecation=True)
28
+ # assert s.sxs_id_stem == simulation
29
+ # s = loader(f"{simulation}v2.0", ignore_deprecation=True)
30
+ # assert s.sxs_id_stem == simulation
31
+ # with pytest.warns(UserWarning):
32
+ # s = loader(f"{simulation}", auto_supersede=True)
33
+ # assert s.sxs_id_stem != simulation
34
+ # with pytest.warns(UserWarning):
35
+ # s = loader(f"{simulation}v2.0", auto_supersede=True)
36
+ # assert s.sxs_id_stem != simulation
37
+ # s = loader(f"{simulation}", ignore_deprecation=True, auto_supersede=True)
38
+ # assert s.sxs_id_stem == simulation
39
+ # s = loader(f"{simulation}v2.0", ignore_deprecation=True, auto_supersede=True)
40
+ # assert s.sxs_id_stem == simulation
41
+
42
+
43
+ # @skip_macOS_GH_actions_downloads
44
+ # @pytest.mark.parametrize("loader", [sxs.Simulation, sxs.load])
45
+ # def test_superseded_by_multiple(loader):
46
+ # simulation = "SXS:BBH:0030"
47
+ # # NOTE: These tests assume that multiple simulations are listed in
48
+ # # the given simulation's `superseded_by` field. If that changes
49
+ # # for some reason, this test will need to be changed to use a
50
+ # # simulation that still has multiple simulations.
51
+ # with pytest.raises(ValueError):
52
+ # loader(f"{simulation}")
53
+ # with pytest.warns(UserWarning):
54
+ # s = loader(f"{simulation}v2.0")
55
+ # assert s.sxs_id_stem == simulation
56
+ # s = loader(f"{simulation}", ignore_deprecation=True)
57
+ # assert s.sxs_id_stem == simulation
58
+ # s = loader(f"{simulation}v2.0", ignore_deprecation=True)
59
+ # assert s.sxs_id_stem == simulation
60
+ # with pytest.raises(ValueError):
61
+ # loader(f"{simulation}", auto_supersede=True)
62
+ # with pytest.raises(ValueError):
63
+ # loader(f"{simulation}v2.0", auto_supersede=True)
64
+ # s = loader(f"{simulation}", ignore_deprecation=True, auto_supersede=True)
65
+ # assert s.sxs_id_stem == simulation
66
+ # s = loader(f"{simulation}v2.0", ignore_deprecation=True, auto_supersede=True)
67
+ # assert s.sxs_id_stem == simulation
@@ -1 +0,0 @@
1
- __version__ = "2024.0.28"
@@ -1,67 +0,0 @@
1
- import pytest
2
- import sxs
3
- from .conftest import skip_macOS_GH_actions_downloads
4
-
5
-
6
- def test_sxs_load_v2():
7
- s = sxs.load("SXS:BBH:0001v2.0")
8
- assert s.sxs_id_stem == "SXS:BBH:0001"
9
- assert s.version == "v2.0"
10
- s.h
11
- s.horizons
12
-
13
-
14
- @skip_macOS_GH_actions_downloads
15
- @pytest.mark.parametrize("loader", [sxs.Simulation, sxs.load])
16
- def test_superseded_by_single(loader):
17
- simulation = "SXS:BBH:0001"
18
- # NOTE: These tests as written will only work so long as only one
19
- # simulation is listed in the given simulation's `superseded_by`
20
- # field. If more are added, this test will need to be changed to
21
- # use a simulation that still has just one.
22
- with pytest.raises(ValueError):
23
- loader(f"{simulation}")
24
- with pytest.warns(UserWarning):
25
- s = loader(f"{simulation}v2.0")
26
- assert s.sxs_id_stem == simulation
27
- s = loader(f"{simulation}", ignore_deprecation=True)
28
- assert s.sxs_id_stem == simulation
29
- s = loader(f"{simulation}v2.0", ignore_deprecation=True)
30
- assert s.sxs_id_stem == simulation
31
- with pytest.warns(UserWarning):
32
- s = loader(f"{simulation}", auto_supersede=True)
33
- assert s.sxs_id_stem != simulation
34
- with pytest.warns(UserWarning):
35
- s = loader(f"{simulation}v2.0", auto_supersede=True)
36
- assert s.sxs_id_stem != simulation
37
- s = loader(f"{simulation}", ignore_deprecation=True, auto_supersede=True)
38
- assert s.sxs_id_stem == simulation
39
- s = loader(f"{simulation}v2.0", ignore_deprecation=True, auto_supersede=True)
40
- assert s.sxs_id_stem == simulation
41
-
42
-
43
- @skip_macOS_GH_actions_downloads
44
- @pytest.mark.parametrize("loader", [sxs.Simulation, sxs.load])
45
- def test_superseded_by_multiple(loader):
46
- simulation = "SXS:BBH:0030"
47
- # NOTE: These tests assume that multiple simulations are listed in
48
- # the given simulation's `superseded_by` field. If that changes
49
- # for some reason, this test will need to be changed to use a
50
- # simulation that still has multiple simulations.
51
- with pytest.raises(ValueError):
52
- loader(f"{simulation}")
53
- with pytest.warns(UserWarning):
54
- s = loader(f"{simulation}v2.0")
55
- assert s.sxs_id_stem == simulation
56
- s = loader(f"{simulation}", ignore_deprecation=True)
57
- assert s.sxs_id_stem == simulation
58
- s = loader(f"{simulation}v2.0", ignore_deprecation=True)
59
- assert s.sxs_id_stem == simulation
60
- with pytest.raises(ValueError):
61
- loader(f"{simulation}", auto_supersede=True)
62
- with pytest.raises(ValueError):
63
- loader(f"{simulation}v2.0", auto_supersede=True)
64
- s = loader(f"{simulation}", ignore_deprecation=True, auto_supersede=True)
65
- assert s.sxs_id_stem == simulation
66
- s = loader(f"{simulation}v2.0", ignore_deprecation=True, auto_supersede=True)
67
- assert s.sxs_id_stem == simulation
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes