sxs 2024.0.38__tar.gz → 2024.0.39__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 (132) hide show
  1. {sxs-2024.0.38 → sxs-2024.0.39}/.github/workflows/build.yml +4 -2
  2. {sxs-2024.0.38 → sxs-2024.0.39}/CITATION.cff +1 -1
  3. {sxs-2024.0.38 → sxs-2024.0.39}/PKG-INFO +1 -1
  4. sxs-2024.0.39/sxs/__version__.py +1 -0
  5. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/metadata/metadata.py +13 -8
  6. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_metadata.py +23 -0
  7. sxs-2024.0.38/sxs/__version__.py +0 -1
  8. {sxs-2024.0.38 → sxs-2024.0.39}/.codecov.yml +0 -0
  9. {sxs-2024.0.38 → sxs-2024.0.39}/.github/dependabot.yml +0 -0
  10. {sxs-2024.0.38 → sxs-2024.0.39}/.github/scripts/parse_bump_rule.py +0 -0
  11. {sxs-2024.0.38 → sxs-2024.0.39}/.github/workflows/pr_rtd_link.yml +0 -0
  12. {sxs-2024.0.38 → sxs-2024.0.39}/.gitignore +0 -0
  13. {sxs-2024.0.38 → sxs-2024.0.39}/.readthedocs.yaml +0 -0
  14. {sxs-2024.0.38 → sxs-2024.0.39}/LICENSE +0 -0
  15. {sxs-2024.0.38 → sxs-2024.0.39}/README.md +0 -0
  16. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/catalog.md +0 -0
  17. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/horizons.md +0 -0
  18. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/load.md +0 -0
  19. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/metadata.md +0 -0
  20. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/simulation.md +0 -0
  21. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/simulations.md +0 -0
  22. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/time_series.md +0 -0
  23. {sxs-2024.0.38 → sxs-2024.0.39}/docs/api/waveforms.md +0 -0
  24. {sxs-2024.0.38 → sxs-2024.0.39}/docs/html/main.html +0 -0
  25. {sxs-2024.0.38 → sxs-2024.0.39}/docs/images/favicon.ico +0 -0
  26. {sxs-2024.0.38 → sxs-2024.0.39}/docs/index.md +0 -0
  27. {sxs-2024.0.38 → sxs-2024.0.39}/docs/javascript/mathjax.js +0 -0
  28. {sxs-2024.0.38 → sxs-2024.0.39}/docs/julia.md +0 -0
  29. {sxs-2024.0.38 → sxs-2024.0.39}/docs/mathematica.md +0 -0
  30. {sxs-2024.0.38 → sxs-2024.0.39}/docs/stylesheets/extra.css +0 -0
  31. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/00-Introduction.ipynb +0 -0
  32. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/01-Simulations_and_Metadata.ipynb +0 -0
  33. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/02-Simulation.ipynb +0 -0
  34. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/03-Horizons.ipynb +0 -0
  35. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/04-Waveforms.ipynb +0 -0
  36. {sxs-2024.0.38 → sxs-2024.0.39}/docs/tutorials/05-PreprocessingForFFTs.ipynb +0 -0
  37. {sxs-2024.0.38 → sxs-2024.0.39}/mkdocs.yml +0 -0
  38. {sxs-2024.0.38 → sxs-2024.0.39}/pyproject.toml +0 -0
  39. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/__init__.py +0 -0
  40. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/caltechdata/__init__.py +0 -0
  41. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/caltechdata/catalog.py +0 -0
  42. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/caltechdata/login.py +0 -0
  43. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/catalog/__init__.py +0 -0
  44. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/catalog/catalog.py +0 -0
  45. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/catalog/create.py +0 -0
  46. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/catalog/description.py +0 -0
  47. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/handlers.py +0 -0
  48. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/horizons/__init__.py +0 -0
  49. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/horizons/spec_horizons_h5.py +0 -0
  50. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/horizons/xor_multishuffle_bzip2.py +0 -0
  51. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/julia/GWFrames.py +0 -0
  52. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/julia/__init__.py +0 -0
  53. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/juliapkg.json +0 -0
  54. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/metadata/__init__.py +0 -0
  55. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/metadata/metric.py +0 -0
  56. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/simulations/__init__.py +0 -0
  57. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/simulations/local.py +0 -0
  58. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/simulations/simulation.py +0 -0
  59. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/simulations/simulations.py +0 -0
  60. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/time_series.py +0 -0
  61. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/__init__.py +0 -0
  62. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/bitwise.py +0 -0
  63. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/decimation/__init__.py +0 -0
  64. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/decimation/greedy_spline.py +0 -0
  65. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/decimation/linear_bisection.py +0 -0
  66. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/decimation/peak_greed.py +0 -0
  67. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/decimation/suppression.py +0 -0
  68. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/dicts.py +0 -0
  69. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/downloads.py +0 -0
  70. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/files.py +0 -0
  71. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/formats.py +0 -0
  72. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/inspire.py +0 -0
  73. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/__init__.py +0 -0
  74. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/comparisons.py +0 -0
  75. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/conversion.py +0 -0
  76. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/dataset.py +0 -0
  77. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/horizons.py +0 -0
  78. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/metadata.py +0 -0
  79. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/waveform_amp_phase.py +0 -0
  80. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/lvcnr/waveforms.py +0 -0
  81. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/monotonicity.py +0 -0
  82. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/pretty_print.py +0 -0
  83. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/__init__.py +0 -0
  84. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/ads.py +0 -0
  85. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/arxiv.py +0 -0
  86. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/fairchild_report.py +0 -0
  87. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/inspire.py +0 -0
  88. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/journal_abbreviations.py +0 -0
  89. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/references/references.py +0 -0
  90. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/select.py +0 -0
  91. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/smooth_functions.py +0 -0
  92. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/string_converters.py +0 -0
  93. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/sxs_directories.py +0 -0
  94. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/sxs_identifiers.py +0 -0
  95. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/utilities/url.py +0 -0
  96. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/__init__.py +0 -0
  97. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/alignment.py +0 -0
  98. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/__init__.py +0 -0
  99. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/grathena.py +0 -0
  100. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/lvc.py +0 -0
  101. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/nrar.py +0 -0
  102. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/rotating_paired_diff_multishuffle_bzip2.py +0 -0
  103. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/rotating_paired_xor_multishuffle_bzip2.py +0 -0
  104. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/format_handlers/spectre_cce_v1.py +0 -0
  105. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/memory.py +0 -0
  106. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/mode_utilities.py +0 -0
  107. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/transformations.py +0 -0
  108. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/waveform_grid.py +0 -0
  109. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/waveform_mixin.py +0 -0
  110. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/waveform_modes.py +0 -0
  111. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/waveforms/waveform_signal.py +0 -0
  112. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/__init__.py +0 -0
  113. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/api/__init__.py +0 -0
  114. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/api/deposit.py +0 -0
  115. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/api/login.py +0 -0
  116. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/api/records.py +0 -0
  117. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/catalog.py +0 -0
  118. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/creators.py +0 -0
  119. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/simannex.py +0 -0
  120. {sxs-2024.0.38 → sxs-2024.0.39}/sxs/zenodo/surrogatemodeling.py +0 -0
  121. {sxs-2024.0.38 → sxs-2024.0.39}/tests/__init__.py +0 -0
  122. {sxs-2024.0.38 → sxs-2024.0.39}/tests/conftest.py +0 -0
  123. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_catalog.py +0 -0
  124. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_horizons.py +0 -0
  125. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_julia.py +0 -0
  126. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_loader.py +0 -0
  127. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_simulation.py +0 -0
  128. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_time_series.py +0 -0
  129. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_transformations.py +0 -0
  130. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_utilities.py +0 -0
  131. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_waveform_rotations.py +0 -0
  132. {sxs-2024.0.38 → sxs-2024.0.39}/tests/test_waveforms.py +0 -0
@@ -36,9 +36,9 @@ jobs:
36
36
  python-version: '3.13'
37
37
 
38
38
  steps:
39
- - name: Skip replicates on main branch
39
+ - name: Skip replicates unless on main branch or using ubuntu-latest
40
40
  env:
41
- skip_replicates: ${{ github.ref == 'refs/heads/main' && matrix.os != 'ubuntu-latest' }}
41
+ skip_replicates: ${{ github.ref != 'refs/heads/main' && matrix.os != 'ubuntu-latest' }}
42
42
  shell: bash
43
43
  run: |
44
44
  echo "skipping_build_and_test_replicate=${skip_replicates}" >> $GITHUB_ENV
@@ -58,6 +58,8 @@ jobs:
58
58
  - name: Cache Julia
59
59
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
60
60
  uses: julia-actions/cache@v2
61
+ with:
62
+ include-matrix: false
61
63
 
62
64
  - name: Check out code
63
65
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
@@ -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.38
13
+ version: 2024.0.39
14
14
  date-released: 2025-02-24
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sxs
3
- Version: 2024.0.38
3
+ Version: 2024.0.39
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.39"
@@ -622,11 +622,16 @@ class Metadata(collections.OrderedDict):
622
622
  def setdefault(self, key, default=None):
623
623
  return super(Metadata, self).setdefault(_valid_identifier(key), default)
624
624
 
625
- def update(self, mapping_or_iterable=None, **kwargs):
626
- if isinstance(mapping_or_iterable, collections.abc.Mapping):
627
- mapping_or_iterable = collections.OrderedDict(
628
- [(_valid_identifier(key), mapping_or_iterable[key]) for key in mapping_or_iterable]
629
- )
630
- elif isinstance(mapping_or_iterable, collections.abc.Iterable):
631
- mapping_or_iterable = [(_valid_identifier(k), v) for k, v in mapping_or_iterable]
632
- return super(Metadata, self).update(mapping_or_iterable)
625
+ def update(self, mapping_or_iterable=None, /, **kwargs):
626
+ # This should be just the same as the collections.OrderedDict.update
627
+ # method, except that identifiers passed in via mapping_or_iterable
628
+ # have to be converted to valid identifiers first.
629
+ if mapping_or_iterable is not None:
630
+ if hasattr(mapping_or_iterable, "keys") and callable(mapping_or_iterable.keys):
631
+ for k in mapping_or_iterable:
632
+ self[_valid_identifier(k)] = mapping_or_iterable[k]
633
+ else:
634
+ for k, v in mapping_or_iterable:
635
+ self[_valid_identifier(k)] = v
636
+ for k in kwargs:
637
+ self[k] = kwargs[k]
@@ -30,3 +30,26 @@ def test_json_conversion():
30
30
  for key in m2:
31
31
  if key.startswith("reference_") or key.startswith("initial_"):
32
32
  assert m1[key] == m2[key]
33
+
34
+
35
+ @skip_macOS_GH_actions_downloads
36
+ def test_metadata_updates():
37
+ with contextlib.redirect_stdout(None):
38
+ metadata = sxs.load(shortest_metadata)
39
+ assert metadata.reference_time != -123456.789
40
+
41
+ # Test updating with kwargs
42
+ metadata.update(reference_time=-123456.789)
43
+ assert metadata.reference_time == -123456.789
44
+
45
+ # Test updating with a Mapping
46
+ metadata.update({"reference_time": 9.876})
47
+ assert metadata.reference_time == 9.876
48
+
49
+ # Test updating with a Mapping that is not a dict
50
+ metadata.update({"reference_time": 9.876}.items())
51
+ assert metadata.reference_time == 9.876
52
+
53
+ # Test updating with an Iterable
54
+ metadata.update([("reference_time", 54637.2819)])
55
+ assert metadata.reference_time == 54637.2819
@@ -1 +0,0 @@
1
- __version__ = "2024.0.38"
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