sxs 2025.0.4__tar.gz → 2025.0.6__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 (133) hide show
  1. {sxs-2025.0.4 → sxs-2025.0.6}/CITATION.cff +1 -1
  2. {sxs-2025.0.4 → sxs-2025.0.6}/PKG-INFO +1 -1
  3. sxs-2025.0.6/sxs/__version__.py +1 -0
  4. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/simulations/simulation.py +25 -10
  5. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/inspire.py +28 -23
  6. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_waveform_rotations.py +1 -1
  7. sxs-2025.0.4/sxs/__version__.py +0 -1
  8. {sxs-2025.0.4 → sxs-2025.0.6}/.codecov.yml +0 -0
  9. {sxs-2025.0.4 → sxs-2025.0.6}/.github/dependabot.yml +0 -0
  10. {sxs-2025.0.4 → sxs-2025.0.6}/.github/scripts/parse_bump_rule.py +0 -0
  11. {sxs-2025.0.4 → sxs-2025.0.6}/.github/workflows/build.yml +0 -0
  12. {sxs-2025.0.4 → sxs-2025.0.6}/.github/workflows/pr_rtd_link.yml +0 -0
  13. {sxs-2025.0.4 → sxs-2025.0.6}/.gitignore +0 -0
  14. {sxs-2025.0.4 → sxs-2025.0.6}/.readthedocs.yaml +0 -0
  15. {sxs-2025.0.4 → sxs-2025.0.6}/LICENSE +0 -0
  16. {sxs-2025.0.4 → sxs-2025.0.6}/README.md +0 -0
  17. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/catalog.md +0 -0
  18. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/horizons.md +0 -0
  19. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/load.md +0 -0
  20. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/metadata.md +0 -0
  21. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/simulation.md +0 -0
  22. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/simulations.md +0 -0
  23. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/time_series.md +0 -0
  24. {sxs-2025.0.4 → sxs-2025.0.6}/docs/api/waveforms.md +0 -0
  25. {sxs-2025.0.4 → sxs-2025.0.6}/docs/html/main.html +0 -0
  26. {sxs-2025.0.4 → sxs-2025.0.6}/docs/images/favicon.ico +0 -0
  27. {sxs-2025.0.4 → sxs-2025.0.6}/docs/index.md +0 -0
  28. {sxs-2025.0.4 → sxs-2025.0.6}/docs/javascript/mathjax.js +0 -0
  29. {sxs-2025.0.4 → sxs-2025.0.6}/docs/julia.md +0 -0
  30. {sxs-2025.0.4 → sxs-2025.0.6}/docs/mathematica.md +0 -0
  31. {sxs-2025.0.4 → sxs-2025.0.6}/docs/stylesheets/extra.css +0 -0
  32. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/00-Introduction.ipynb +0 -0
  33. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/01-Simulations_and_Metadata.ipynb +0 -0
  34. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/02-Simulation.ipynb +0 -0
  35. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/03-Horizons.ipynb +0 -0
  36. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/04-Waveforms.ipynb +0 -0
  37. {sxs-2025.0.4 → sxs-2025.0.6}/docs/tutorials/05-PreprocessingForFFTs.ipynb +0 -0
  38. {sxs-2025.0.4 → sxs-2025.0.6}/mkdocs.yml +0 -0
  39. {sxs-2025.0.4 → sxs-2025.0.6}/pyproject.toml +0 -0
  40. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/__init__.py +0 -0
  41. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/catalog/__init__.py +0 -0
  42. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/catalog/catalog.py +0 -0
  43. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/catalog/create.py +0 -0
  44. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/catalog/description.py +0 -0
  45. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/handlers.py +0 -0
  46. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/horizons/__init__.py +0 -0
  47. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/horizons/spec_horizons_h5.py +0 -0
  48. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/horizons/xor_multishuffle_bzip2.py +0 -0
  49. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/julia/GWFrames.py +0 -0
  50. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/julia/__init__.py +0 -0
  51. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/juliapkg.json +0 -0
  52. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/metadata/__init__.py +0 -0
  53. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/metadata/metadata.py +0 -0
  54. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/metadata/metric.py +0 -0
  55. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/simulations/__init__.py +0 -0
  56. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/simulations/analyze.py +0 -0
  57. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/simulations/local.py +0 -0
  58. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/simulations/simulations.py +0 -0
  59. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/time_series.py +0 -0
  60. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/__init__.py +0 -0
  61. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/bitwise.py +0 -0
  62. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/decimation/__init__.py +0 -0
  63. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/decimation/greedy_spline.py +0 -0
  64. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/decimation/linear_bisection.py +0 -0
  65. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/decimation/peak_greed.py +0 -0
  66. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/decimation/suppression.py +0 -0
  67. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/dicts.py +0 -0
  68. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/downloads.py +0 -0
  69. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/files.py +0 -0
  70. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/formats.py +0 -0
  71. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/__init__.py +0 -0
  72. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/comparisons.py +0 -0
  73. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/conversion.py +0 -0
  74. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/dataset.py +0 -0
  75. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/horizons.py +0 -0
  76. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/metadata.py +0 -0
  77. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/waveform_amp_phase.py +0 -0
  78. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/lvcnr/waveforms.py +0 -0
  79. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/monotonicity.py +0 -0
  80. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/pretty_print.py +0 -0
  81. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/__init__.py +0 -0
  82. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/ads.py +0 -0
  83. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/arxiv.py +0 -0
  84. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/fairchild_report.py +0 -0
  85. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/inspire.py +0 -0
  86. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/journal_abbreviations.py +0 -0
  87. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/references/references.py +0 -0
  88. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/select.py +0 -0
  89. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/smooth_functions.py +0 -0
  90. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/string_converters.py +0 -0
  91. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/sxs_directories.py +0 -0
  92. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/sxs_identifiers.py +0 -0
  93. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/utilities/url.py +0 -0
  94. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/__init__.py +0 -0
  95. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/alignment.py +0 -0
  96. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/__init__.py +0 -0
  97. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/grathena.py +0 -0
  98. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/lvc.py +0 -0
  99. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/nrar.py +0 -0
  100. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/rotating_paired_diff_multishuffle_bzip2.py +0 -0
  101. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/rotating_paired_xor_multishuffle_bzip2.py +0 -0
  102. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/format_handlers/spectre_cce_v1.py +0 -0
  103. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/memory.py +0 -0
  104. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/mode_utilities.py +0 -0
  105. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/norms.py +0 -0
  106. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/transformations.py +0 -0
  107. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/waveform_grid.py +0 -0
  108. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/waveform_mixin.py +0 -0
  109. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/waveform_modes.py +0 -0
  110. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/waveform_mts.py +0 -0
  111. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/waveforms/waveform_signal.py +0 -0
  112. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/__init__.py +0 -0
  113. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/api/__init__.py +0 -0
  114. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/api/deposit.py +0 -0
  115. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/api/login.py +0 -0
  116. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/api/records.py +0 -0
  117. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/catalog.py +0 -0
  118. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/creators.py +0 -0
  119. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/simannex.py +0 -0
  120. {sxs-2025.0.4 → sxs-2025.0.6}/sxs/zenodo/surrogatemodeling.py +0 -0
  121. {sxs-2025.0.4 → sxs-2025.0.6}/tests/__init__.py +0 -0
  122. {sxs-2025.0.4 → sxs-2025.0.6}/tests/conftest.py +0 -0
  123. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_alignment.py +0 -0
  124. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_catalog.py +0 -0
  125. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_horizons.py +0 -0
  126. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_julia.py +0 -0
  127. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_loader.py +0 -0
  128. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_metadata.py +0 -0
  129. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_simulation.py +0 -0
  130. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_time_series.py +0 -0
  131. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_transformations.py +0 -0
  132. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_utilities.py +0 -0
  133. {sxs-2025.0.4 → sxs-2025.0.6}/tests/test_waveforms.py +0 -0
@@ -10,5 +10,5 @@ authors:
10
10
  title: "The sxs package"
11
11
  license: MIT
12
12
  doi: 10.5281/zenodo.4034006
13
- version: 2025.0.4
13
+ version: 2025.0.6
14
14
  date-released: 2025-04-11
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sxs
3
- Version: 2025.0.4
3
+ Version: 2025.0.6
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.6"
@@ -924,18 +924,33 @@ class Simulation_v3(Simulation_v2):
924
924
 
925
925
 
926
926
  def get_file_info(metadata, sxs_id, download=None):
927
- # TODO: Allow an existing zenodo_metadata.json file to be used
928
- from .. import load_via_sxs_id
927
+ from .. import load, load_via_sxs_id
929
928
  if "files" in metadata:
930
929
  return metadata["files"]
931
930
  truepath = Path(sxs_path_to_system_path(sxs_id)) / "zenodo_metadata.json"
932
931
  record = load_via_sxs_id(sxs_id, "export/json", truepath=truepath, download=download)
933
- entries = record["files"]["entries"]
934
- return {
935
- str(filename): {
936
- "checksum": entry["checksum"],
937
- "size": entry["size"],
938
- "link": entry["links"]["content"],
932
+ if not record.get("files", {}).get("entries", []):
933
+ # CaltechDATA files should generally be already stored in the `simulations`,
934
+ # but just in case, we get to this point
935
+ truepath = Path(sxs_path_to_system_path(sxs_id)) / "caltechdata_files.json"
936
+ url = record["links"]["files"]
937
+ record = load(url, truepath=truepath, download=download)
938
+ entries = record["entries"]
939
+ return {
940
+ entry["key"]: {
941
+ "checksum": entry["checksum"],
942
+ "size": entry["size"],
943
+ "link": entry["links"]["content"],
944
+ }
945
+ for entry in entries
946
+ }
947
+ else:
948
+ entries = record["files"]["entries"]
949
+ return {
950
+ str(filename): {
951
+ "checksum": entry["checksum"],
952
+ "size": entry["size"],
953
+ "link": entry["links"]["content"],
954
+ }
955
+ for filename, entry in entries.items()
939
956
  }
940
- for filename, entry in entries.items()
941
- }
@@ -44,7 +44,7 @@ def inspire2doi(inspire_bibtex_key, raise_exceptions=False):
44
44
 
45
45
 
46
46
  def query(
47
- query,
47
+ query_string,
48
48
  sort="mostrecent",
49
49
  page=1,
50
50
  size=1000,
@@ -56,7 +56,7 @@ def query(
56
56
 
57
57
  Parameters
58
58
  ----------
59
- query : str
59
+ query_string : str
60
60
  The search query. For details, see
61
61
  https://github.com/inspirehep/rest-api-doc/tree/master#search-query
62
62
  fields : str, optional
@@ -93,32 +93,37 @@ def query(
93
93
 
94
94
  """
95
95
  import sys
96
- import requests
97
- from requests.adapters import HTTPAdapter
98
- from urllib3.util.retry import Retry
99
96
 
100
- session = requests.Session()
97
+ # Reuse the same session, in case user repeatedly calls query
98
+ if not hasattr(query, "session"):
99
+ import requests
100
+ from requests.adapters import HTTPAdapter
101
+ from urllib3.util.retry import Retry
102
+
103
+ query.session = requests.Session()
104
+
105
+ ## Retry automatically on certain types of errors
106
+ retry = Retry(
107
+ total=10,
108
+ backoff_factor=0.1,
109
+ status_forcelist=[
110
+ 413, # Request Entity Too Large
111
+ 429, # Too Many Requests
112
+ 500, # Internal Server Error
113
+ 502, # Bad Gateway
114
+ 503, # Service Unavailable
115
+ 504, # Gateway Timeout
116
+ ],
117
+ )
118
+ adapter = HTTPAdapter(max_retries=retry)
119
+ query.session.mount("https://", adapter)
120
+
121
+ session = query.session
101
122
  collected_results = []
102
123
 
103
- ## Retry automatically on certain types of errors
104
- retry = Retry(
105
- total=10,
106
- backoff_factor=0.1,
107
- status_forcelist=[
108
- 413, # Request Entity Too Large
109
- 429, # Too Many Requests
110
- 500, # Internal Server Error
111
- 502, # Bad Gateway
112
- 503, # Service Unavailable
113
- 504, # Gateway Timeout
114
- ],
115
- )
116
- adapter = HTTPAdapter(max_retries=retry)
117
- session.mount("https://", adapter)
118
-
119
124
  url = api_url.format(record_type=record_type)
120
125
  params = {
121
- "q": query,
126
+ "q": query_string,
122
127
  "sort": sort,
123
128
  "size": size,
124
129
  "page": page,
@@ -118,7 +118,7 @@ def test_dpa_rotated_generally(w, Rs):
118
118
  # smaller of the two sign options.
119
119
  assert (
120
120
  max(np.amin(np.vstack((np.linalg.norm(LL1 - LL2, axis=1), np.linalg.norm(LL1 + LL2, axis=1))), axis=0))
121
- < 1.0e-12
121
+ < 4.0e-12
122
122
  )
123
123
 
124
124
 
@@ -1 +0,0 @@
1
- __version__ = "2025.0.4"
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
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