jaxspec 0.0.4__py3-none-any.whl → 0.0.6__py3-none-any.whl

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.
@@ -0,0 +1,111 @@
1
+ import importlib.resources
2
+ import pandas as pd
3
+ from mendeleev.fetch import fetch_table
4
+ from astropy.io import ascii
5
+
6
+ abundance_table: pd.DataFrame = ascii.read(importlib.resources.files("jaxspec") / "tables/abundances.dat").to_pandas()
7
+ element_data: pd.DataFrame = fetch_table("elements")[0:30][
8
+ ["symbol", "atomic_number", "atomic_radius", "atomic_volume", "atomic_weight"]
9
+ ].rename(columns={"symbol": "Element"})
10
+
11
+ abundance_table: pd.DataFrame
12
+ """
13
+ Dataframe containing various abundances that can be used in `jaxspec`. It is adapted from
14
+ [XSPEC's abundance table](https://heasarc.gsfc.nasa.gov/xanadu/xspec/manual/node116.html). The following table are available:
15
+
16
+ | Name | Reference | Note |
17
+ | :----: | :--------------------------------------------------------------------------------------------- | :--------------------------- |
18
+ | `angr` | [Anders & Gevresse (1989)](https://ui.adsabs.harvard.edu/abs/1989GeCoA..53..197A/abstract) | Photospheric, using Table 2. |
19
+ | `aspl` | [Asplund et al. (2009)](https://ui.adsabs.harvard.edu/abs/2009ARA%26A..47..481A/abstract) | Photospheric, using Table 1. |
20
+ | `feld` | [Feldman (1992)](https://ui.adsabs.harvard.edu/abs/1992PhyS...46..202F/abstract) |
21
+ | `aneb` | [Anders & Ebihara (1982)](https://ui.adsabs.harvard.edu/abs/1982GeCoA..46.2363A/abstract) |
22
+ | `grsa` | [Grevesse & Sauval (1998)](https://ui.adsabs.harvard.edu/abs/1998SSRv...85..161G/abstract) |
23
+ | `wilm` | [Wilms et al. (2000)](https://ui.adsabs.harvard.edu/abs/2000ApJ...542..914W/abstract) |
24
+ | `lodd` | [Lodders (2003)](https://ui.adsabs.harvard.edu/abs/2003ApJ...591.1220L/abstract) | Photospheric, using Table 1. |
25
+ | `lgpp` | [Lodders, Palme & Gail (2009)](https://ui.adsabs.harvard.edu/abs/2009LanB...4B..712L/abstract) | Photospheric, using Table 4. |
26
+ | `lgps` | [Lodders, Palme & Gail (2009)](https://ui.adsabs.harvard.edu/abs/2009LanB...4B..712L/abstract) | Proto-solar, using Table 10. |
27
+
28
+
29
+ The table is a `pandas.Dataframe` object, and can be accessed as such. For example, to get the abundance of iron in the `aspl` table, one can do:
30
+
31
+ ```python
32
+ from jaxspec.util.abundance import abundance_table
33
+ assert abundance_table['Element'][ 26 - 1] == 'Fe'
34
+ print(abundance_table['aspl'][ 26 - 1]) # 3.16e-05
35
+ ```
36
+
37
+ The full table is displayed below:
38
+
39
+ | Element | angr | aspl | feld | aneb | grsa | wilm | lodd | lgpp | lgps |
40
+ |:---:|---:|---:|---:|---:|---:|---:|---:|---:|:---:|
41
+ | H | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
42
+ | He | 0.0977 | 0.0851 | 0.0977 | 0.0801 | 0.0851 | 0.0977 | 0.0792 | 0.0841 | 0.0969 |
43
+ | Li | 1.45e-11 | 1.12e-11 | 1.26e-11 | 2.19e-09 | 1.26e-11 | 0.0 | 1.9e-09 | 1.26e-11 | 2.15e-09 |
44
+ | Be | 1.41e-11 | 2.4e-11 | 2.51e-11 | 2.87e-11 | 2.51e-11 | 0.0 | 2.57e-11 | 2.4e-11 | 2.36e-11 |
45
+ | B | 3.98e-10 | 5.01e-10 | 3.55e-10 | 8.82e-10 | 3.55e-10 | 0.0 | 6.03e-10 | 5.01e-10 | 7.26e-10 |
46
+ | C | 0.000363 | 0.000269 | 0.000398 | 0.000445 | 0.000331 | 0.00024 | 0.000245 | 0.000245 | 0.000278 |
47
+ | N | 0.000112 | 6.76e-05 | 0.0001 | 9.12e-05 | 8.32e-05 | 7.59e-05 | 6.76e-05 | 7.24e-05 | 8.19e-05 |
48
+ | O | 0.000851 | 0.00049 | 0.000851 | 0.000739 | 0.000676 | 0.00049 | 0.00049 | 0.000537 | 0.000606 |
49
+ | F | 3.63e-08 | 3.63e-08 | 3.63e-08 | 3.1e-08 | 3.63e-08 | 0.0 | 2.88e-08 | 3.63e-08 | 3.1e-08 |
50
+ | Ne | 0.000123 | 8.51e-05 | 0.000129 | 0.000138 | 0.00012 | 8.71e-05 | 7.41e-05 | 0.000112 | 0.000127 |
51
+ | Na | 2.14e-06 | 1.74e-06 | 2.14e-06 | 2.1e-06 | 2.14e-06 | 1.45e-06 | 1.99e-06 | 2e-06 | 2.23e-06 |
52
+ | Mg | 3.8e-05 | 3.98e-05 | 3.8e-05 | 3.95e-05 | 3.8e-05 | 2.51e-05 | 3.55e-05 | 3.47e-05 | 3.98e-05 |
53
+ | Al | 2.95e-06 | 2.82e-06 | 2.95e-06 | 3.12e-06 | 2.95e-06 | 2.14e-06 | 2.88e-06 | 2.95e-06 | 3.27e-06 |
54
+ | Si | 3.55e-05 | 3.24e-05 | 3.55e-05 | 3.68e-05 | 3.55e-05 | 1.86e-05 | 3.47e-05 | 3.31e-05 | 3.86e-05 |
55
+ | P | 2.82e-07 | 2.57e-07 | 2.82e-07 | 3.82e-07 | 2.82e-07 | 2.63e-07 | 2.88e-07 | 2.88e-07 | 3.2e-07 |
56
+ | S | 1.62e-05 | 1.32e-05 | 1.62e-05 | 1.89e-05 | 2.14e-05 | 1.23e-05 | 1.55e-05 | 1.38e-05 | 1.63e-05 |
57
+ | Cl | 3.16e-07 | 3.16e-07 | 3.16e-07 | 1.93e-07 | 3.16e-07 | 1.32e-07 | 1.82e-07 | 3.16e-07 | 2e-07 |
58
+ | Ar | 3.63e-06 | 2.51e-06 | 4.47e-06 | 3.82e-06 | 2.51e-06 | 2.57e-06 | 3.55e-06 | 3.16e-06 | 3.58e-06 |
59
+ | K | 1.32e-07 | 1.07e-07 | 1.32e-07 | 1.39e-07 | 1.32e-07 | 0.0 | 1.29e-07 | 1.32e-07 | 1.45e-07 |
60
+ | Ca | 2.29e-06 | 2.19e-06 | 2.29e-06 | 2.25e-06 | 2.29e-06 | 1.58e-06 | 2.19e-06 | 2.14e-06 | 2.33e-06 |
61
+ | Sc | 1.26e-09 | 1.41e-09 | 1.48e-09 | 1.24e-09 | 1.48e-09 | 0.0 | 1.17e-09 | 1.26e-09 | 1.33e-09 |
62
+ | Ti | 9.77e-08 | 8.91e-08 | 1.05e-07 | 8.82e-08 | 1.05e-07 | 6.46e-08 | 8.32e-08 | 7.94e-08 | 9.54e-08 |
63
+ | V | 1e-08 | 8.51e-09 | 1e-08 | 1.08e-08 | 1e-08 | 0.0 | 1e-08 | 1e-08 | 1.11e-08 |
64
+ | Cr | 4.68e-07 | 4.37e-07 | 4.68e-07 | 4.93e-07 | 4.68e-07 | 3.24e-07 | 4.47e-07 | 4.37e-07 | 5.06e-07 |
65
+ | Mn | 2.45e-07 | 2.69e-07 | 2.45e-07 | 3.5e-07 | 2.45e-07 | 2.19e-07 | 3.16e-07 | 2.34e-07 | 3.56e-07 |
66
+ | Fe | 4.68e-05 | 3.16e-05 | 3.24e-05 | 3.31e-05 | 3.16e-05 | 2.69e-05 | 2.95e-05 | 2.82e-05 | 3.27e-05 |
67
+ | Co | 8.32e-08 | 9.77e-08 | 8.32e-08 | 8.27e-08 | 8.32e-08 | 8.32e-08 | 8.13e-08 | 8.32e-08 | 9.07e-08 |
68
+ | Ni | 1.78e-06 | 1.66e-06 | 1.78e-06 | 1.81e-06 | 1.78e-06 | 1.12e-06 | 1.66e-06 | 1.7e-06 | 1.89e-06 |
69
+ | Cu | 1.62e-08 | 1.55e-08 | 1.62e-08 | 1.89e-08 | 1.62e-08 | 0.0 | 1.82e-08 | 1.62e-08 | 2.09e-08 |
70
+ | Zn | 3.98e-08 | 3.63e-08 | 3.98e-08 | 4.63e-08 | 3.98e-08 | 0.0 | 4.27e-08 | 4.17e-08 | 5.02e-08 |
71
+ """
72
+
73
+ element_data: pd.DataFrame
74
+ """
75
+ Dataframe containing various properties of the 30 first elements. It is adapted from
76
+ [`mendeleev`](https://mendeleev.readthedocs.io/en/stable/). The full table is displayed below:
77
+
78
+ | Element | atomic_number | atomic_radius | atomic_volume | atomic_weight |
79
+ |:----------|----------------:|----------------:|----------------:|----------------:|
80
+ | H | 1 | 25 | 14.1 | 1.008 |
81
+ | He | 2 | 120 | 31.8 | 4.0026 |
82
+ | Li | 3 | 145 | 13.1 | 6.94 |
83
+ | Be | 4 | 105 | 5 | 9.01218 |
84
+ | B | 5 | 85 | 4.6 | 10.81 |
85
+ | C | 6 | 70 | 5.3 | 12.011 |
86
+ | N | 7 | 65 | 17.3 | 14.007 |
87
+ | O | 8 | 60 | 14 | 15.999 |
88
+ | F | 9 | 50 | 17.1 | 18.9984 |
89
+ | Ne | 10 | 160 | 16.8 | 20.1797 |
90
+ | Na | 11 | 180 | 23.7 | 22.9898 |
91
+ | Mg | 12 | 150 | 14 | 24.305 |
92
+ | Al | 13 | 125 | 10 | 26.9815 |
93
+ | Si | 14 | 110 | 12.1 | 28.085 |
94
+ | P | 15 | 100 | 17 | 30.9738 |
95
+ | S | 16 | 100 | 15.5 | 32.06 |
96
+ | Cl | 17 | 100 | 18.7 | 35.45 |
97
+ | Ar | 18 | 71 | 24.2 | 39.948 |
98
+ | K | 19 | 220 | 45.3 | 39.0983 |
99
+ | Ca | 20 | 180 | 29.9 | 40.078 |
100
+ | Sc | 21 | 160 | 15 | 44.9559 |
101
+ | Ti | 22 | 140 | 10.6 | 47.867 |
102
+ | V | 23 | 135 | 8.35 | 50.9415 |
103
+ | Cr | 24 | 140 | 7.23 | 51.9961 |
104
+ | Mn | 25 | 140 | 7.39 | 54.938 |
105
+ | Fe | 26 | 140 | 7.1 | 55.845 |
106
+ | Co | 27 | 135 | 6.7 | 58.9332 |
107
+ | Ni | 28 | 135 | 6.6 | 58.6934 |
108
+ | Cu | 29 | 135 | 7.1 | 63.546 |
109
+ | Zn | 30 | 135 | 9.2 | 65.38 |
110
+
111
+ """
jaxspec/util/integrate.py CHANGED
@@ -11,11 +11,12 @@ It mainly relies on tanh-sinh (or double exponential) quadrature to perform the
11
11
 
12
12
  import jax
13
13
  import jax.numpy as jnp
14
+ from jax import Array
14
15
  from jax.scipy.integrate import trapezoid
15
16
  from typing import Callable
16
17
 
17
18
 
18
- def interval_weights(a, b, n):
19
+ def interval_weights(a: float, b: float, n: int) -> tuple[Array, Array, Array]:
19
20
  """
20
21
  Return the weights for the tanh-sinh quadrature over the interval [a, b].
21
22
  """
@@ -28,7 +29,7 @@ def interval_weights(a, b, n):
28
29
  return t, x, dx
29
30
 
30
31
 
31
- def positive_weights(n):
32
+ def positive_weights(n: int) -> tuple[Array, Array, Array]:
32
33
  """
33
34
  Return the weights for the tanh-sinh quadrature over the positive real line.
34
35
  """
@@ -39,7 +40,7 @@ def positive_weights(n):
39
40
  return t, x, dx
40
41
 
41
42
 
42
- def integrate_interval(integrand, n: int = 51) -> Callable:
43
+ def integrate_interval(integrand: Callable, n: int = 51) -> Callable:
43
44
  r"""
44
45
  Build a function which can compute the integral of the provided integrand over the interval $[a, b]$ using
45
46
  the tanh-sinh quadrature. Returns a function $F(a, b, \pmb{\theta})$ which takes the limits of the interval and
@@ -100,7 +101,7 @@ def integrate_interval(integrand, n: int = 51) -> Callable:
100
101
  return f
101
102
 
102
103
 
103
- def integrate_positive(integrand, n: int = 51) -> Callable:
104
+ def integrate_positive(integrand: Callable, n: int = 51) -> Callable:
104
105
  r"""
105
106
  Build a function which can compute the integral of the provided integrand over the positive real line using
106
107
  the tanh-sinh quadrature. Returns a function $F(\pmb{\theta})$ which takes the parameters of the integrand
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxspec
3
- Version: 0.0.4
3
+ Version: 0.0.6
4
4
  Summary: jaxspec is a bayesian spectral fitting library for X-ray astronomy.
5
5
  License: MIT
6
6
  Author: sdupourque
@@ -10,7 +10,7 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
- Requires-Dist: arviz (>=0.17.1,<0.18.0)
13
+ Requires-Dist: arviz (>=0.17.1,<0.19.0)
14
14
  Requires-Dist: astropy (>=6.0.0,<7.0.0)
15
15
  Requires-Dist: chainconsumer (>=1.0.0,<2.0.0)
16
16
  Requires-Dist: cmasher (>=1.6.3,<2.0.0)
@@ -20,11 +20,13 @@ Requires-Dist: jax (>=0.4.23,<0.5.0)
20
20
  Requires-Dist: jaxlib (>=0.4.23,<0.5.0)
21
21
  Requires-Dist: jaxopt (>=0.8.1,<0.9.0)
22
22
  Requires-Dist: matplotlib (>=3.8.0,<4.0.0)
23
+ Requires-Dist: mendeleev (>=0.15.0,<0.16.0)
23
24
  Requires-Dist: mkdocstrings (>=0.24.0,<0.25.0)
24
25
  Requires-Dist: networkx (>=3.1,<4.0)
25
26
  Requires-Dist: numpy (>=1.26.1,<2.0.0)
26
27
  Requires-Dist: numpyro (>=0.13.2,<0.15.0)
27
28
  Requires-Dist: pandas (>=2.2.0,<3.0.0)
29
+ Requires-Dist: pyzmq (<26)
28
30
  Requires-Dist: scipy (<1.13)
29
31
  Requires-Dist: seaborn (>=0.13.1,<0.14.0)
30
32
  Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
@@ -50,7 +52,7 @@ Documentation : https://jaxspec.readthedocs.io/en/latest/
50
52
 
51
53
  ## Installation
52
54
 
53
- We recommend the users to start from a fresh Python 3.10 [conda environment](https://conda.io/projects/conda/en/latest/user-guide/install/index.html).
55
+ We recommend the users to start from a fresh Python 3.10 [conda environment](https://conda.io/projects/conda/en/latest/user-guide/install/index.html).
54
56
 
55
57
  ```
56
58
  conda create -n jaxspec python=3.10
@@ -1,7 +1,7 @@
1
- jaxspec/__init__.py,sha256=fKMzN6U8LmdsTrUn_-w4An0X-ta38xB7AdBjQWbcWZU,147
1
+ jaxspec/__init__.py,sha256=Sbn02lX6Y-zNXk17N8dec22c5jeypiS0LkHmGfz7lWA,126
2
2
  jaxspec/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- jaxspec/analysis/compare.py,sha256=PZ9WdRe1kdIlNyzoD3vkGvcawe44cToA6KB9FfUdzWg,726
4
- jaxspec/analysis/results.py,sha256=IjTj72rJaovG6wR4iuBB6KJQYBBsCTEhxD00R9rHWs8,15790
3
+ jaxspec/analysis/compare.py,sha256=g2UFhmR9Zt-7cz5gQFOB6lXuklXB3yTyUvjTypOzoSY,725
4
+ jaxspec/analysis/results.py,sha256=jZmmUBFfdHIkTy4JI6j2X9hHKa6fdvxccBHQWJIIgRs,20968
5
5
  jaxspec/data/__init__.py,sha256=5MmiOFyDBg_lBMN0piUY0ULN0gD_mW33rurVOYXebdA,497
6
6
  jaxspec/data/example_data/MOS1.arf,sha256=kBetpqOR1G-bVpuNAzj7q7YqU5fnwp6woW5OAtSGgVk,34560
7
7
  jaxspec/data/example_data/MOS1.pha,sha256=fh_2ZFRbq0_c4e-UdocVtNh6ObJSth4HDnFCflyGkqw,83520
@@ -20,24 +20,29 @@ jaxspec/data/example_data/PN_spectrum_grp20.fits,sha256=qYXgYHa_Bg06UzHyBBOvqSCK
20
20
  jaxspec/data/example_data/PNbackground_spectrum.fits,sha256=VeAX4MGbMkJF_vBJ3_KnouSbmjkWZ8qcT2Z8T2g7H0k,120960
21
21
  jaxspec/data/example_data/fakeit.pha,sha256=IhkeWkE-b3ELECd_Uasjo9h3cXgcjCYH20wDpXJ8LMk,60480
22
22
  jaxspec/data/grouping.py,sha256=hhgBt-voiH0DDSyePacaIGsaMnrYbJM_-ZeU66keC7I,622
23
- jaxspec/data/instrument.py,sha256=0Ef3zhNT7ca-nHtRCGKXpbkyXpgVVpNtO8_XrMGWnyU,3984
23
+ jaxspec/data/instrument.py,sha256=0pSf1p82g7syDMmKm13eVbYih-Veiq5DnwsyZe6_b4g,3890
24
24
  jaxspec/data/obsconf.py,sha256=tnXCXim6eBjZbvNbx2ViRJ3wzQhNacXRcCrLZlPTdY0,7378
25
25
  jaxspec/data/observation.py,sha256=1UnFu5ihZp9z-vP_I7tsFY8jhhIJunv46JyuE-acrg0,6394
26
- jaxspec/data/ogip.py,sha256=d0OEEkznA7s8xPkqPrnfIvedTdIRsQuBnRK4wHoQ17M,8793
27
- jaxspec/data/util.py,sha256=BsIVpmx2kAvAn-w6uSjC793OmPAfmDKMGGLDuk9yztY,7923
28
- jaxspec/fit.py,sha256=FhnedL7-_9eovErw2SESH5sbMhU-qJNdkqxkoVsLglo,9531
26
+ jaxspec/data/ogip.py,sha256=sv9p00qHS5pzw61pzWyyF0nV-E-RXySdSFK2tUavokA,9545
27
+ jaxspec/data/util.py,sha256=3aNhsfIU6U4uTCcdtpx8ykneBgkDnvS4ocUWVMvYG-w,8221
28
+ jaxspec/fit.py,sha256=32M1W2ieVrv55AtRPvj_LpaNuwstrQRa03oWTRsdaAQ,13547
29
29
  jaxspec/model/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
30
- jaxspec/model/abc.py,sha256=O5DwgcXWfuGSYxTk_TmZcZXak1lLuEvBzJXUTd3E9tE,17851
31
- jaxspec/model/additive.py,sha256=iu_n820tOdKbG5BKsFM-nVOa2_sKPWBSQ_TKS1bljSk,18656
30
+ jaxspec/model/_additive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ jaxspec/model/_additive/apec.py,sha256=nDOGpWyLgfL88D6B6OuAkPLpHuGRKdZa5DszvDF02C8,16038
32
+ jaxspec/model/_additive/apec_loaders.py,sha256=0vXoqujjRaJmDc4S_SKfautxy6WdpfhfOHiAtBftoik,3610
33
+ jaxspec/model/abc.py,sha256=SWjKOOsqU5UJsVy63Tt9dDq8H2eTIbvK2C9iqgiR0cY,19817
34
+ jaxspec/model/additive.py,sha256=YbBZe0iBfFQ3FtwHHM32vfCn5ndi99mtwOI-I--WcH4,16744
32
35
  jaxspec/model/background.py,sha256=zej99rVfcRb75T85o3u4qeYQIgnFwGtxK8niZJ8S5mM,6872
33
36
  jaxspec/model/list.py,sha256=0RPAoscVz_zM1CWdx_Gd5wfrQWV5Nv4Kd4bSXu2ayUA,860
34
37
  jaxspec/model/multiplicative.py,sha256=sAKDkiplhdY7TsaPk7gwkR18dcXmU2nytgBCiHNBPMk,7537
38
+ jaxspec/tables/abundances.dat,sha256=angmMx8N4wivRjHu1cO2Wszamc0aqHZvVBGd0oW1eZI,3193
35
39
  jaxspec/tables/xsect_phabs_aspl.fits,sha256=Pq_7oqYuOmEeCk4f9KVzQtfVdvAj17u2MnENx1uaUBk,86400
36
40
  jaxspec/tables/xsect_tbabs_wilm.fits,sha256=PPReRcnWccTE_BKDFLfDposw8Jbu3ms-sIv1UiSkSTU,86400
37
41
  jaxspec/tables/xsect_wabs_angr.fits,sha256=mzBzpHejC1LiB_LEv3mvxq4Zq7qPIHGQrExpcCT3QHM,86400
38
42
  jaxspec/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- jaxspec/util/integrate.py,sha256=6oGYhRTevgOo47hbzdcomOCShC2cpKgF8AP7bkx-Zsw,4379
40
- jaxspec-0.0.4.dist-info/LICENSE.md,sha256=2q5XoWzddts5IqzIcgYYMOL21puU3MfO8gvT3Ype1eQ,1073
41
- jaxspec-0.0.4.dist-info/METADATA,sha256=JSU_vEIQjYwXmTQBXPrXL4ZC8Xfg3s60ktPDmBoB_3E,3194
42
- jaxspec-0.0.4.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
43
- jaxspec-0.0.4.dist-info/RECORD,,
43
+ jaxspec/util/abundance.py,sha256=G-oNT1sxUQj7MwZx7SkQUOq1VZVn-TEBciKWkGhq2is,8554
44
+ jaxspec/util/integrate.py,sha256=_Ax_knpC7d4et2-QFkOUzVtNeQLX1-cwLvm-FRBxYcw,4505
45
+ jaxspec-0.0.6.dist-info/LICENSE.md,sha256=2q5XoWzddts5IqzIcgYYMOL21puU3MfO8gvT3Ype1eQ,1073
46
+ jaxspec-0.0.6.dist-info/METADATA,sha256=aieG8nelwQ5Vsw7e3HA-qGO9x9VHP9kuHdqeCPXKd5M,3264
47
+ jaxspec-0.0.6.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
48
+ jaxspec-0.0.6.dist-info/RECORD,,