archeo 2.0.0.dev4__tar.gz → 2.0.0.dev5__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 (60) hide show
  1. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/PKG-INFO +2 -1
  2. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/constants/enum.py +10 -0
  3. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo.egg-info/PKG-INFO +2 -1
  4. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo.egg-info/requires.txt +1 -0
  5. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/pyproject.toml +2 -1
  6. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/LICENSE +0 -0
  7. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/README.md +0 -0
  8. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/__init__.py +0 -0
  9. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/__main__.py +0 -0
  10. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/__init__.py +0 -0
  11. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/ancestral_posterior.py +0 -0
  12. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/__init__.py +0 -0
  13. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/bayes_factor_curve.py +0 -0
  14. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/resampler/__init__.py +0 -0
  15. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/resampler/assume_independence.py +0 -0
  16. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/resampler/base.py +0 -0
  17. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/resampler/generic.py +0 -0
  18. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/bayesian/importance_sampling/resampler/interface.py +0 -0
  19. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/constants/__init__.py +0 -0
  20. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/constants/physics.py +0 -0
  21. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/__init__.py +0 -0
  22. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/annotation.py +0 -0
  23. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/bayesian/bayes_factor.py +0 -0
  24. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/distribution.py +0 -0
  25. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/math.py +0 -0
  26. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/physics/__init__.py +0 -0
  27. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/physics/binary.py +0 -0
  28. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/physics/black_hole.py +0 -0
  29. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/physics/mahapatra.py +0 -0
  30. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/physics/simulation.py +0 -0
  31. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/data_structures/visualization.py +0 -0
  32. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/postprocessing/__init__.py +0 -0
  33. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/postprocessing/dataframe.py +0 -0
  34. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/__init__.py +0 -0
  35. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/cli.py +0 -0
  36. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/forward/__init__.py +0 -0
  37. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/forward/compute_bayes_factor_curve.py +0 -0
  38. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/simulation/__init__.py +0 -0
  39. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/simulation/agnostic.py +0 -0
  40. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/simulation/n_generation.py +0 -0
  41. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/preset/simulation/second_generation.py +0 -0
  42. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/py.typed +0 -0
  43. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/simulation/__init__.py +0 -0
  44. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/simulation/simulate_merger.py +0 -0
  45. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/__init__.py +0 -0
  46. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/decorator.py +0 -0
  47. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/env.py +0 -0
  48. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/fs.py +0 -0
  49. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/logger.py +0 -0
  50. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/utils/parallel.py +0 -0
  51. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/version.py +0 -0
  52. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/visualization/__init__.py +0 -0
  53. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/visualization/animation.py +0 -0
  54. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/visualization/base.py +0 -0
  55. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/visualization/distribution.py +0 -0
  56. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo/visualization/estimation.py +0 -0
  57. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo.egg-info/SOURCES.txt +0 -0
  58. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo.egg-info/dependency_links.txt +0 -0
  59. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/archeo.egg-info/top_level.txt +0 -0
  60. {archeo-2.0.0.dev4 → archeo-2.0.0.dev5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: archeo
3
- Version: 2.0.0.dev4
3
+ Version: 2.0.0.dev5
4
4
  Summary: Bayesian framework for inferring natal kick, ancestral masses and spins of black holes.
5
5
  Author-email: wyhwong <wyhwong@link.cuhk.edu.hk>
6
6
  License-Expression: MIT
@@ -32,6 +32,7 @@ Requires-Dist: scipy>=1.17.1
32
32
  Requires-Dist: seaborn>=0.13.2
33
33
  Requires-Dist: surfinbh>=1.2.7
34
34
  Requires-Dist: tabulate>=0.10.0
35
+ Requires-Dist: tenacity>=9.1.4
35
36
  Requires-Dist: tqdm>=4.67.3
36
37
  Dynamic: license-file
37
38
 
@@ -1,6 +1,8 @@
1
1
  import enum
2
2
  import os
3
3
 
4
+ from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fixed
5
+
4
6
  from archeo.utils.logger import get_logger
5
7
 
6
8
 
@@ -22,6 +24,11 @@ class Fits(enum.StrEnum):
22
24
  NRSUR7DQ4REMNANT = "NRSur7dq4Remnant"
23
25
  SURFINBH7DQ2 = "surfinBH7dq2"
24
26
 
27
+ @retry(
28
+ stop=stop_after_attempt(3),
29
+ wait=wait_fixed(3),
30
+ retry=retry_if_exception_type(RuntimeError),
31
+ )
25
32
  def load(self):
26
33
  """Load a surfinBH fits.
27
34
 
@@ -42,6 +49,9 @@ class Fits(enum.StrEnum):
42
49
  )
43
50
 
44
51
  try:
52
+ # NOTE: We added a retry logic because the model loading can fail
53
+ # due to IO limitation of h5py. This happens when we have multiple
54
+ # processes trying to load the same model at the same time.
45
55
  return surfinBH.LoadFits(self.value)
46
56
  except (OSError, KeyError) as e:
47
57
  LOGGER.error("Failed to load surfinBH %s: %s", self.value, str(e))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: archeo
3
- Version: 2.0.0.dev4
3
+ Version: 2.0.0.dev5
4
4
  Summary: Bayesian framework for inferring natal kick, ancestral masses and spins of black holes.
5
5
  Author-email: wyhwong <wyhwong@link.cuhk.edu.hk>
6
6
  License-Expression: MIT
@@ -32,6 +32,7 @@ Requires-Dist: scipy>=1.17.1
32
32
  Requires-Dist: seaborn>=0.13.2
33
33
  Requires-Dist: surfinbh>=1.2.7
34
34
  Requires-Dist: tabulate>=0.10.0
35
+ Requires-Dist: tenacity>=9.1.4
35
36
  Requires-Dist: tqdm>=4.67.3
36
37
  Dynamic: license-file
37
38
 
@@ -10,4 +10,5 @@ scipy>=1.17.1
10
10
  seaborn>=0.13.2
11
11
  surfinbh>=1.2.7
12
12
  tabulate>=0.10.0
13
+ tenacity>=9.1.4
13
14
  tqdm>=4.67.3
@@ -16,7 +16,7 @@ classifiers = [
16
16
  "Operating System :: OS Independent"
17
17
  ]
18
18
  keywords = ["black-holes", "gravitational-waves", "black-hole-archeology"]
19
- version = "2.0.0.dev4"
19
+ version = "2.0.0.dev5"
20
20
  readme = "README.md"
21
21
  requires-python = ">=3.11,<3.14"
22
22
  dependencies = [
@@ -32,6 +32,7 @@ dependencies = [
32
32
  "seaborn>=0.13.2",
33
33
  "surfinbh>=1.2.7",
34
34
  "tabulate>=0.10.0",
35
+ "tenacity>=9.1.4",
35
36
  "tqdm>=4.67.3",
36
37
  ]
37
38
 
File without changes
File without changes
File without changes
File without changes