sxs 2025.0.17__tar.gz → 2025.0.19__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 (137) hide show
  1. {sxs-2025.0.17 → sxs-2025.0.19}/.github/workflows/build.yml +7 -5
  2. {sxs-2025.0.17 → sxs-2025.0.19}/CITATION.cff +2 -2
  3. {sxs-2025.0.17 → sxs-2025.0.19}/PKG-INFO +1 -1
  4. sxs-2025.0.19/sxs/__version__.py +1 -0
  5. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/catalog/catalog.py +9 -30
  6. {sxs-2025.0.17 → sxs-2025.0.19}/tests/conftest.py +1 -1
  7. sxs-2025.0.17/sxs/__version__.py +0 -1
  8. {sxs-2025.0.17 → sxs-2025.0.19}/.codecov.yml +0 -0
  9. {sxs-2025.0.17 → sxs-2025.0.19}/.github/ISSUE_TEMPLATE/catalog-data-issue-template.md +0 -0
  10. {sxs-2025.0.17 → sxs-2025.0.19}/.github/dependabot.yml +0 -0
  11. {sxs-2025.0.17 → sxs-2025.0.19}/.github/scripts/parse_bump_rule.py +0 -0
  12. {sxs-2025.0.17 → sxs-2025.0.19}/.github/workflows/pr_rtd_link.yml +0 -0
  13. {sxs-2025.0.17 → sxs-2025.0.19}/.gitignore +0 -0
  14. {sxs-2025.0.17 → sxs-2025.0.19}/.readthedocs.yaml +0 -0
  15. {sxs-2025.0.17 → sxs-2025.0.19}/LICENSE +0 -0
  16. {sxs-2025.0.17 → sxs-2025.0.19}/README.md +0 -0
  17. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/catalog.md +0 -0
  18. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/cite.md +0 -0
  19. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/horizons.md +0 -0
  20. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/load.md +0 -0
  21. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/metadata.md +0 -0
  22. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/simulation.md +0 -0
  23. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/simulations.md +0 -0
  24. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/time_series.md +0 -0
  25. {sxs-2025.0.17 → sxs-2025.0.19}/docs/api/waveforms.md +0 -0
  26. {sxs-2025.0.17 → sxs-2025.0.19}/docs/html/main.html +0 -0
  27. {sxs-2025.0.17 → sxs-2025.0.19}/docs/images/favicon.ico +0 -0
  28. {sxs-2025.0.17 → sxs-2025.0.19}/docs/index.md +0 -0
  29. {sxs-2025.0.17 → sxs-2025.0.19}/docs/javascript/mathjax.js +0 -0
  30. {sxs-2025.0.17 → sxs-2025.0.19}/docs/julia.md +0 -0
  31. {sxs-2025.0.17 → sxs-2025.0.19}/docs/mathematica.md +0 -0
  32. {sxs-2025.0.17 → sxs-2025.0.19}/docs/stylesheets/extra.css +0 -0
  33. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/00-Introduction.ipynb +0 -0
  34. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/01-Catalog_Dataframe.ipynb +0 -0
  35. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/02-Simulation.ipynb +0 -0
  36. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/03-Horizons.ipynb +0 -0
  37. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/04-Waveforms.ipynb +0 -0
  38. {sxs-2025.0.17 → sxs-2025.0.19}/docs/tutorials/05-PreprocessingForFFTs.ipynb +0 -0
  39. {sxs-2025.0.17 → sxs-2025.0.19}/mkdocs.yml +0 -0
  40. {sxs-2025.0.17 → sxs-2025.0.19}/mkdocs_preprocess.py +0 -0
  41. {sxs-2025.0.17 → sxs-2025.0.19}/pyproject.toml +0 -0
  42. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/__init__.py +0 -0
  43. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/catalog/__init__.py +0 -0
  44. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/catalog/create.py +0 -0
  45. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/catalog/description.py +0 -0
  46. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/citation.py +0 -0
  47. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/handlers.py +0 -0
  48. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/horizons/__init__.py +0 -0
  49. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/horizons/spec_horizons_h5.py +0 -0
  50. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/horizons/xor_multishuffle_bzip2.py +0 -0
  51. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/julia/GWFrames.py +0 -0
  52. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/julia/__init__.py +0 -0
  53. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/juliapkg.json +0 -0
  54. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/metadata/__init__.py +0 -0
  55. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/metadata/metadata.py +0 -0
  56. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/metadata/metric.py +0 -0
  57. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/simulations/__init__.py +0 -0
  58. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/simulations/analyze.py +0 -0
  59. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/simulations/local.py +0 -0
  60. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/simulations/simulation.py +0 -0
  61. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/simulations/simulations.py +0 -0
  62. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/time_series.py +0 -0
  63. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/__init__.py +0 -0
  64. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/bitwise.py +0 -0
  65. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/decimation/__init__.py +0 -0
  66. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/decimation/greedy_spline.py +0 -0
  67. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/decimation/linear_bisection.py +0 -0
  68. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/decimation/peak_greed.py +0 -0
  69. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/decimation/suppression.py +0 -0
  70. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/dicts.py +0 -0
  71. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/downloads.py +0 -0
  72. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/files.py +0 -0
  73. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/formats.py +0 -0
  74. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/inspire.py +0 -0
  75. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/__init__.py +0 -0
  76. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/comparisons.py +0 -0
  77. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/conversion.py +0 -0
  78. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/dataset.py +0 -0
  79. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/horizons.py +0 -0
  80. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/metadata.py +0 -0
  81. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/waveform_amp_phase.py +0 -0
  82. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/lvcnr/waveforms.py +0 -0
  83. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/monotonicity.py +0 -0
  84. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/pretty_print.py +0 -0
  85. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/__init__.py +0 -0
  86. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/ads.py +0 -0
  87. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/arxiv.py +0 -0
  88. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/fairchild_report.py +0 -0
  89. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/inspire.py +0 -0
  90. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/journal_abbreviations.py +0 -0
  91. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/references/references.py +0 -0
  92. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/select.py +0 -0
  93. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/smooth_functions.py +0 -0
  94. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/string_converters.py +0 -0
  95. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/sxs_directories.py +0 -0
  96. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/sxs_identifiers.py +0 -0
  97. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/utilities/url.py +0 -0
  98. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/__init__.py +0 -0
  99. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/alignment.py +0 -0
  100. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/__init__.py +0 -0
  101. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/grathena.py +0 -0
  102. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/lvc.py +0 -0
  103. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/nrar.py +0 -0
  104. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/rotating_paired_diff_multishuffle_bzip2.py +0 -0
  105. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/rotating_paired_xor_multishuffle_bzip2.py +0 -0
  106. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/format_handlers/spectre_cce_v1.py +0 -0
  107. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/memory.py +0 -0
  108. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/mode_utilities.py +0 -0
  109. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/norms.py +0 -0
  110. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/transformations.py +0 -0
  111. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/waveform_grid.py +0 -0
  112. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/waveform_mixin.py +0 -0
  113. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/waveform_modes.py +0 -0
  114. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/waveform_mts.py +0 -0
  115. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/waveforms/waveform_signal.py +0 -0
  116. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/__init__.py +0 -0
  117. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/api/__init__.py +0 -0
  118. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/api/deposit.py +0 -0
  119. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/api/login.py +0 -0
  120. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/api/records.py +0 -0
  121. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/catalog.py +0 -0
  122. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/creators.py +0 -0
  123. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/simannex.py +0 -0
  124. {sxs-2025.0.17 → sxs-2025.0.19}/sxs/zenodo/surrogatemodeling.py +0 -0
  125. {sxs-2025.0.17 → sxs-2025.0.19}/tests/__init__.py +0 -0
  126. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_alignment.py +0 -0
  127. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_catalog.py +0 -0
  128. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_horizons.py +0 -0
  129. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_julia.py +0 -0
  130. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_loader.py +0 -0
  131. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_metadata.py +0 -0
  132. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_simulation.py +0 -0
  133. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_time_series.py +0 -0
  134. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_transformations.py +0 -0
  135. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_utilities.py +0 -0
  136. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_waveform_rotations.py +0 -0
  137. {sxs-2025.0.17 → sxs-2025.0.19}/tests/test_waveforms.py +0 -0
@@ -52,7 +52,7 @@ jobs:
52
52
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
53
53
  uses: actions/cache@v4
54
54
  with:
55
- key: sxs-${{ runner.os }}-2 # Increment this number whenever the cached files should change
55
+ key: sxs-${{ runner.os }}-3 # Increment this number whenever the cached files should change
56
56
  path: |
57
57
  ${{ runner.os == 'Linux' && '/home/runner/.cache/sxs' || runner.os == 'Windows' && 'C:\Users\runneradmin\.sxs\cache' || '/Users/runner/.sxs/cache' }}
58
58
 
@@ -68,11 +68,11 @@ jobs:
68
68
 
69
69
  - name: Check out code
70
70
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
71
- uses: actions/checkout@v4
71
+ uses: actions/checkout@v5
72
72
 
73
73
  - name: Set up Python ${{ matrix.python-version }}
74
74
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
75
- uses: actions/setup-python@v5
75
+ uses: actions/setup-python@v6
76
76
  with:
77
77
  python-version: ${{ matrix.python-version }}
78
78
 
@@ -83,6 +83,8 @@ jobs:
83
83
  - name: Run tests
84
84
  if: ${{ env.skipping_build_and_test_replicate != 'true' }}
85
85
  shell: bash
86
+ env:
87
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
88
  run: |
87
89
  hatch run test --durations=0
88
90
 
@@ -105,10 +107,10 @@ jobs:
105
107
 
106
108
  steps:
107
109
  - name: Check out code
108
- uses: actions/checkout@v4
110
+ uses: actions/checkout@v5
109
111
 
110
112
  - name: Set up Python
111
- uses: actions/setup-python@v5
113
+ uses: actions/setup-python@v6
112
114
  with:
113
115
  python-version: '3.13'
114
116
 
@@ -16,5 +16,5 @@ authors:
16
16
  title: "The sxs package"
17
17
  license: MIT
18
18
  doi: 10.5281/zenodo.4034006
19
- version: 2025.0.17
20
- date-released: 2025-06-11
19
+ version: 2025.0.19
20
+ date-released: 2025-09-08
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sxs
3
- Version: 2025.0.17
3
+ Version: 2025.0.19
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__ = "2025.0.19"
@@ -6,7 +6,7 @@ import functools
6
6
  # noinspection SpellCheckingInspection
7
7
  class Catalog(object):
8
8
  """Container interface to the SXS catalog"""
9
- url = "https://data.black-holes.org/catalog.json"
9
+ url = "https://data.black-holes.org/catalog.zip"
10
10
 
11
11
  def __init__(self, catalog=None, **kwargs):
12
12
  from .. import Metadata
@@ -60,6 +60,9 @@ class Catalog(object):
60
60
  which, as of `sxs` version 2024.0.0, has been deprecated in
61
61
  favor of the `Simulations` interface. See the documentation
62
62
  for more information.
63
+
64
+ THIS CAN ONLY PROVIDE OLD DATA!
65
+
63
66
  """
64
67
  warn(deprecation_notice)
65
68
 
@@ -73,36 +76,12 @@ class Catalog(object):
73
76
  if_newer = False
74
77
 
75
78
  if download or download is None:
76
- # 1. Download the full json file (zipped in flight, but auto-decompressed on arrival)
77
- # 2. Zip to a temporary file (using bzip2, which is better than the in-flight compression)
78
- # 3. Replace the original catalog.zip with the temporary zip file
79
- # 4. Remove the full json file
80
- # 5. Make sure the temporary zip file is gone too
81
- temp_json = cache_path.with_suffix(".temp.json")
82
- temp_zip = cache_path.with_suffix(".temp.zip")
83
79
  try:
84
- try:
85
- download_file(cls.url, temp_json, progress=progress, if_newer=if_newer)
86
- except Exception as e:
87
- if download:
88
- raise RuntimeError(f"Failed to download '{cls.url}'; try setting `download=False`") from e
89
- download_failed = e # We'll try the cache
90
- else:
91
- download_failed = False
92
- if temp_json.exists():
93
- with zipfile.ZipFile(temp_zip, "w", compression=zipfile.ZIP_BZIP2) as catalog_zip:
94
- catalog_zip.write(temp_json, arcname="catalog.json")
95
- temp_zip.replace(cache_path)
96
- finally:
97
- # The `missing_ok` argument to `unlink` would be much nicer, but was added in python 3.8
98
- try:
99
- temp_json.unlink()
100
- except FileNotFoundError as e:
101
- pass
102
- try:
103
- temp_zip.unlink()
104
- except FileNotFoundError as e:
105
- pass
80
+ download_file(cls.url, cache_path, progress=progress, if_newer=if_newer)
81
+ except Exception as e:
82
+ if download:
83
+ raise RuntimeError(f"Failed to download '{cls.url}'; try setting `download=False`") from e
84
+ download_failed = e # We'll try the cache
106
85
 
107
86
  if not cache_path.exists():
108
87
  if download is False: # Test if it literally *is* False, rather than just casts to False
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import time
2
3
  import functools
3
4
  import pytest
4
5
  import numpy as np
@@ -36,7 +37,6 @@ if GITHUB_ACTIONS_MACOS:
36
37
  else:
37
38
  skip_macOS_GH_actions_downloads = lambda f: f
38
39
 
39
-
40
40
  def pytest_addoption(parser):
41
41
  parser.addoption("--ell_max", action="store", type=int, default=ell_max_default,
42
42
  help="Maximum ell value to test")
@@ -1 +0,0 @@
1
- __version__ = "2025.0.17"
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
File without changes
File without changes
File without changes
File without changes