pyreduce-astro 0.6.0b5__cp313-cp313-macosx_11_0_arm64.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.
Files changed (156) hide show
  1. pyreduce/__init__.py +67 -0
  2. pyreduce/__main__.py +106 -0
  3. pyreduce/clib/__init__.py +0 -0
  4. pyreduce/clib/_slitfunc_2d.cpython-311-darwin.so +0 -0
  5. pyreduce/clib/_slitfunc_2d.cpython-312-darwin.so +0 -0
  6. pyreduce/clib/_slitfunc_2d.cpython-313-darwin.so +0 -0
  7. pyreduce/clib/_slitfunc_bd.cpython-311-darwin.so +0 -0
  8. pyreduce/clib/_slitfunc_bd.cpython-312-darwin.so +0 -0
  9. pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so +0 -0
  10. pyreduce/clib/build_extract.py +75 -0
  11. pyreduce/clib/slit_func_2d_xi_zeta_bd.c +1313 -0
  12. pyreduce/clib/slit_func_2d_xi_zeta_bd.h +55 -0
  13. pyreduce/clib/slit_func_bd.c +362 -0
  14. pyreduce/clib/slit_func_bd.h +17 -0
  15. pyreduce/clipnflip.py +147 -0
  16. pyreduce/combine_frames.py +855 -0
  17. pyreduce/configuration.py +186 -0
  18. pyreduce/continuum_normalization.py +329 -0
  19. pyreduce/cwrappers.py +404 -0
  20. pyreduce/datasets.py +231 -0
  21. pyreduce/echelle.py +413 -0
  22. pyreduce/estimate_background_scatter.py +129 -0
  23. pyreduce/extract.py +1361 -0
  24. pyreduce/extraction_width.py +77 -0
  25. pyreduce/instruments/__init__.py +0 -0
  26. pyreduce/instruments/andes.json +61 -0
  27. pyreduce/instruments/andes.py +102 -0
  28. pyreduce/instruments/common.json +46 -0
  29. pyreduce/instruments/common.py +675 -0
  30. pyreduce/instruments/crires_plus.json +63 -0
  31. pyreduce/instruments/crires_plus.py +103 -0
  32. pyreduce/instruments/filters.py +195 -0
  33. pyreduce/instruments/harpn.json +136 -0
  34. pyreduce/instruments/harpn.py +201 -0
  35. pyreduce/instruments/harps.json +155 -0
  36. pyreduce/instruments/harps.py +310 -0
  37. pyreduce/instruments/instrument_info.py +140 -0
  38. pyreduce/instruments/instrument_schema.json +221 -0
  39. pyreduce/instruments/jwst_miri.json +53 -0
  40. pyreduce/instruments/jwst_miri.py +29 -0
  41. pyreduce/instruments/jwst_niriss.json +52 -0
  42. pyreduce/instruments/jwst_niriss.py +98 -0
  43. pyreduce/instruments/lick_apf.json +53 -0
  44. pyreduce/instruments/lick_apf.py +35 -0
  45. pyreduce/instruments/mcdonald.json +59 -0
  46. pyreduce/instruments/mcdonald.py +123 -0
  47. pyreduce/instruments/metis_ifu.json +63 -0
  48. pyreduce/instruments/metis_ifu.py +45 -0
  49. pyreduce/instruments/metis_lss.json +65 -0
  50. pyreduce/instruments/metis_lss.py +45 -0
  51. pyreduce/instruments/micado.json +53 -0
  52. pyreduce/instruments/micado.py +45 -0
  53. pyreduce/instruments/neid.json +51 -0
  54. pyreduce/instruments/neid.py +154 -0
  55. pyreduce/instruments/nirspec.json +56 -0
  56. pyreduce/instruments/nirspec.py +215 -0
  57. pyreduce/instruments/nte.json +47 -0
  58. pyreduce/instruments/nte.py +42 -0
  59. pyreduce/instruments/uves.json +59 -0
  60. pyreduce/instruments/uves.py +46 -0
  61. pyreduce/instruments/xshooter.json +66 -0
  62. pyreduce/instruments/xshooter.py +39 -0
  63. pyreduce/make_shear.py +606 -0
  64. pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
  65. pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
  66. pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
  67. pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
  68. pyreduce/masks/mask_elodie.fits.gz +0 -0
  69. pyreduce/masks/mask_feros3.fits.gz +0 -0
  70. pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
  71. pyreduce/masks/mask_harps_blue.fits.gz +0 -0
  72. pyreduce/masks/mask_harps_red.fits.gz +0 -0
  73. pyreduce/masks/mask_hds_blue.fits.gz +0 -0
  74. pyreduce/masks/mask_hds_red.fits.gz +0 -0
  75. pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
  76. pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
  77. pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
  78. pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
  79. pyreduce/masks/mask_mcdonald.fits.gz +0 -0
  80. pyreduce/masks/mask_nes.fits.gz +0 -0
  81. pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
  82. pyreduce/masks/mask_sarg.fits.gz +0 -0
  83. pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
  84. pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
  85. pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
  86. pyreduce/masks/mask_uves_blue.fits.gz +0 -0
  87. pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
  88. pyreduce/masks/mask_uves_middle.fits.gz +0 -0
  89. pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
  90. pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
  91. pyreduce/masks/mask_uves_red.fits.gz +0 -0
  92. pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
  93. pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
  94. pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
  95. pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
  96. pyreduce/rectify.py +138 -0
  97. pyreduce/reduce.py +2205 -0
  98. pyreduce/settings/settings_ANDES.json +89 -0
  99. pyreduce/settings/settings_CRIRES_PLUS.json +89 -0
  100. pyreduce/settings/settings_HARPN.json +73 -0
  101. pyreduce/settings/settings_HARPS.json +69 -0
  102. pyreduce/settings/settings_JWST_MIRI.json +55 -0
  103. pyreduce/settings/settings_JWST_NIRISS.json +55 -0
  104. pyreduce/settings/settings_LICK_APF.json +62 -0
  105. pyreduce/settings/settings_MCDONALD.json +58 -0
  106. pyreduce/settings/settings_METIS_IFU.json +77 -0
  107. pyreduce/settings/settings_METIS_LSS.json +77 -0
  108. pyreduce/settings/settings_MICADO.json +78 -0
  109. pyreduce/settings/settings_NEID.json +73 -0
  110. pyreduce/settings/settings_NIRSPEC.json +58 -0
  111. pyreduce/settings/settings_NTE.json +60 -0
  112. pyreduce/settings/settings_UVES.json +54 -0
  113. pyreduce/settings/settings_XSHOOTER.json +78 -0
  114. pyreduce/settings/settings_pyreduce.json +178 -0
  115. pyreduce/settings/settings_schema.json +827 -0
  116. pyreduce/tools/__init__.py +0 -0
  117. pyreduce/tools/combine.py +117 -0
  118. pyreduce/trace_orders.py +645 -0
  119. pyreduce/util.py +1288 -0
  120. pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
  121. pyreduce/wavecal/atlas/thar.fits +4946 -13
  122. pyreduce/wavecal/atlas/thar_list.txt +4172 -0
  123. pyreduce/wavecal/atlas/une.fits +0 -0
  124. pyreduce/wavecal/convert.py +38 -0
  125. pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
  126. pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
  127. pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
  128. pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
  129. pyreduce/wavecal/harps_blue_2D.npz +0 -0
  130. pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
  131. pyreduce/wavecal/harps_red_2D.npz +0 -0
  132. pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
  133. pyreduce/wavecal/mcdonald.npz +0 -0
  134. pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
  135. pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
  136. pyreduce/wavecal/nirspec_K2.npz +0 -0
  137. pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
  138. pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
  139. pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
  140. pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
  141. pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
  142. pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
  143. pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
  144. pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
  145. pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
  146. pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
  147. pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
  148. pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
  149. pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
  150. pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
  151. pyreduce/wavecal/xshooter_nir.npz +0 -0
  152. pyreduce/wavelength_calibration.py +1873 -0
  153. pyreduce_astro-0.6.0b5.dist-info/METADATA +113 -0
  154. pyreduce_astro-0.6.0b5.dist-info/RECORD +156 -0
  155. pyreduce_astro-0.6.0b5.dist-info/WHEEL +6 -0
  156. pyreduce_astro-0.6.0b5.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,113 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyreduce-astro
3
+ Version: 0.6.0b5
4
+ Summary: A data reduction package for echelle spectrographs
5
+ Project-URL: Homepage, https://github.com/ivh/PyReduce
6
+ Project-URL: Documentation, https://pyreduce-astro.readthedocs.io
7
+ Project-URL: Repository, https://github.com/ivh/PyReduce
8
+ Project-URL: Issues, https://github.com/ivh/PyReduce/issues
9
+ Author: Nikolai Piskunov, Ansgar Wehrhahn
10
+ Author-email: Thomas Marquart <thomas.marquart@astro.uu.se>
11
+ License: GPL-3.0-or-later
12
+ License-File: LICENSE
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
16
+ Classifier: Programming Language :: C
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Scientific/Engineering :: Astronomy
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: astropy>=5.3.0
24
+ Requires-Dist: cffi>=1.17.1
25
+ Requires-Dist: colorlog>=6.8.0
26
+ Requires-Dist: corner>=2.2.0
27
+ Requires-Dist: emcee>=3.1.0
28
+ Requires-Dist: joblib>=1.3.0
29
+ Requires-Dist: jsonschema>=4.20.0
30
+ Requires-Dist: matplotlib>=3.8.0
31
+ Requires-Dist: numpy>=1.26.0
32
+ Requires-Dist: pillow>=10.0.0
33
+ Requires-Dist: python-dateutil>=2.8.0
34
+ Requires-Dist: scikit-image>=0.22.0
35
+ Requires-Dist: scipy>=1.11.0
36
+ Requires-Dist: spectres>=2.2.0
37
+ Requires-Dist: tqdm>=4.66.0
38
+ Requires-Dist: wget>=3.2
39
+ Provides-Extra: dev
40
+ Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
41
+ Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
42
+ Requires-Dist: pytest>=7.4.0; extra == 'dev'
43
+ Requires-Dist: ruff>=0.8.0; extra == 'dev'
44
+ Requires-Dist: setuptools; extra == 'dev'
45
+ Requires-Dist: sphinx>=7.2.0; extra == 'dev'
46
+ Description-Content-Type: text/markdown
47
+
48
+ [![CI](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml/badge.svg)](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml)
49
+ [![Documentation Status](https://readthedocs.org/projects/pyreduce-astro/badge/?version=latest)](https://pyreduce-astro.readthedocs.io/en/latest/?badge=latest)
50
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
51
+
52
+ # PyReduce
53
+
54
+ PyReduce is a port of the [REDUCE](http://www.astro.uu.se/~piskunov/RESEARCH/REDUCE/) package to Python.
55
+ It is a complete data reduction pipeline for the echelle spectrographs, e.g. HARPS or UVES.
56
+
57
+ The methods are descibed in the papers
58
+ * Original REDUCE: Piskunov & Valenti (2001) [doi:10.1051/0004-6361:20020175](https://doi.org/10.1051/0004-6361:20020175)
59
+ * Updates to curved slit extraction and PyReduce: Piskunov, Wehrhahn & Marquart (2021) [10.1051/0004-6361/202038293](https://doi.org/10.1051/0004-6361/202038293)
60
+
61
+ Some documentation on how to use PyReduce is available at [ReadTheDocs](https://pyreduce-astro.readthedocs.io/en/latest/index.html).
62
+
63
+ Installation
64
+ ------------
65
+
66
+ ### For Users
67
+
68
+ The latest version can be installed with pip:
69
+
70
+ ```bash
71
+ pip install git+https://github.com/ivh/PyReduce
72
+ ```
73
+
74
+ The version available from PyPI is slightly outdated, but functional: ``pip install pyreduce-astro``.
75
+
76
+ ### For Development
77
+
78
+ If you foresee making changes to PyReduce itself, clone the repository and use [uv](https://docs.astral.sh/uv/) for fast, modern package management:
79
+
80
+ ```bash
81
+ git clone <your fork url>
82
+ cd PyReduce/
83
+ uv sync
84
+ ```
85
+
86
+ This will automatically:
87
+ - Create a virtual environment
88
+ - Install all dependencies
89
+ - Build the CFFI C extensions
90
+ - Install PyReduce in editable mode
91
+
92
+ To run commands, use `uv run`:
93
+ ```bash
94
+ uv run pytest # Run tests
95
+ uv run python examples/uves_example.py # Run example
96
+ ```
97
+
98
+ **Note:** PyReduce uses CFFI to link to C code. On non-Linux platforms you might need to install libffi.
99
+ See https://cffi.readthedocs.io/en/latest/installation.html#platform-specific-instructions for details.
100
+
101
+ Output Format
102
+ -------------
103
+ PyReduce will create ``.ech`` files when run. Despite the name those are just regular ``.fits`` files and can be opened with any programm that can read ``.fits``. The data is contained in a table extension. The header contains all the keywords of the input science file, plus some extra PyReduce specific keyword, all of which start with ``e_``.
104
+
105
+ How To
106
+ ------
107
+ PyReduce is designed to be easy to use, but still be flexible.
108
+ ``examples/uves_example.py`` is a good starting point, to understand how it works.
109
+ First we define the instrument, target, night, and instrument mode (if applicable) of our reduction. Then we tell PyReduce where to find the data, and lastly we define all the specific settings of the reduction (e.g. polynomial degrees of various fits) in a json configuration file.
110
+ We also define which steps of the reduction to perform. Steps that are not specified, but are still required, will be loaded from previous runs if possible, or executed otherwise.
111
+ All of this is then passed to pyreduce.reduce.main to start the reduction.
112
+
113
+ In this example, PyReduce will plot all intermediary results, and also plot the progres during some of the steps. Close them to continue calculations, if it seems nothing is happening. Once you are statisified with the results you can disable them in settings_UVES.json (with "plot":false in each step) to speed up the computation.
@@ -0,0 +1,156 @@
1
+ pyreduce/configuration.py,sha256=cUjMBobsgxA_Q4DRWzhsYEOirkrNcRLV3fpgx8DI03U,5826
2
+ pyreduce/clipnflip.py,sha256=yL_ESobmpVopzEG_jGXeXu63MKnQGSyEW1uAGl7inFE,5557
3
+ pyreduce/reduce.py,sha256=smXUX89Ta9NnSFNR7EcUyDo8fckj3v6q0aDV2VfglQQ,76284
4
+ pyreduce/util.py,sha256=xu41l56zMVjuP9129dU45L05UHGXph9DtpIdUyB7VYY,37188
5
+ pyreduce/datasets.py,sha256=RpP9kSGDlih0jvXvz6ab8Otad74IzmGW5Q44wwa3mPc,5105
6
+ pyreduce/__init__.py,sha256=MgaO38bC9mwKHkrcAu5cyRHyfSMbCbYKy635-GDZyyo,1730
7
+ pyreduce/trace_orders.py,sha256=DxSvWA2rMjxYhyxwtF1AFmKcUGarsZ0ic0Sq-gqMExg,20672
8
+ pyreduce/wavelength_calibration.py,sha256=GNHTOUoGjk5l0TJ7ggaPX5fxZLBPJxuXEjcV3sTJuRs,68564
9
+ pyreduce/combine_frames.py,sha256=xPG-k_Z5Bf7bL6Io3OuHHlsVVlb95wU-QKggXB7RpJo,29196
10
+ pyreduce/echelle.py,sha256=JgSex9nW3pl9h73qy8jcr0rE6FEK_O9oVjn8HfceHoo,12275
11
+ pyreduce/cwrappers.py,sha256=_LHLMxPvWDigkcgJIY-U1_NY021ElK9VyN6vrHYnPuw,13590
12
+ pyreduce/continuum_normalization.py,sha256=upC1mIict1QuB_pYSQZLOMBhhDFBcgxNsqItXgcFgJQ,11316
13
+ pyreduce/make_shear.py,sha256=hIiNKBkAgUiT29lO9xT5KA2PwCmE75J7ToeZYB8GFtw,20129
14
+ pyreduce/rectify.py,sha256=2l8h8tU0dFD4uv5o4SlqrrIIxVj-RU2Q4aQj7yRNvkk,5025
15
+ pyreduce/extract.py,sha256=wDj3l-P8UCaM4KqM1yyQTRWqrB69Q8uQerU-0EIoVh8,45031
16
+ pyreduce/__main__.py,sha256=x59nq52i35-56M-4crL97XNnpCsMD6HwbWwUni4SXfI,3095
17
+ pyreduce/extraction_width.py,sha256=71_wRtXJ5WaCR48WWemGS-FgDtrFCf1HGIPQskT3LI0,2308
18
+ pyreduce/estimate_background_scatter.py,sha256=QVY1kpqirdZQr_tKWhbVocX2LnvDkVj30iAz7hQRpy0,3871
19
+ pyreduce/settings/settings_METIS_IFU.json,sha256=5V_uEK6CH6XLuvEX45LFQexEh-nyMHJ9ax2l9qcbpxk,2014
20
+ pyreduce/settings/settings_schema.json,sha256=Y67Jxx4TAjUNi5iTYa-hrjMWSw7i0cvPu4sU1de1Pdg,33925
21
+ pyreduce/settings/settings_LICK_APF.json,sha256=GAisZ-QrFVMYWREgQPbpTXsOvZsJ9yFxHmkJNnWk3vo,1340
22
+ pyreduce/settings/settings_HARPN.json,sha256=37Ya6unViL5Pocgih9FCRZ4VtlnQ-n-LScqzwMEHtds,1579
23
+ pyreduce/settings/settings_METIS_LSS.json,sha256=5V_uEK6CH6XLuvEX45LFQexEh-nyMHJ9ax2l9qcbpxk,2014
24
+ pyreduce/settings/settings_JWST_MIRI.json,sha256=AF68wV4JNDmx21gipoyBlLrNboa_pAo9cIzR1hg4TH4,1227
25
+ pyreduce/settings/settings_NIRSPEC.json,sha256=YX1U97acKcg_8O4wGBUFViQNSkV8VFSmjaKgszOaCH0,1483
26
+ pyreduce/settings/settings_ANDES.json,sha256=ej6Kx2fLFvGGiSoWzJvYsw15bcfnKLeGr4n6Cl7V9rE,2155
27
+ pyreduce/settings/settings_JWST_NIRISS.json,sha256=hRvo-gMsZd054PksdUsoH_0MbfHH2h2TqekCp8PYAPE,1236
28
+ pyreduce/settings/settings_CRIRES_PLUS.json,sha256=JEf1Ja5yv2boCuZx__XlNoBVSli-oKudRb4hix5Io00,2161
29
+ pyreduce/settings/settings_MICADO.json,sha256=lz-7cNajEOj0R5iHrtOFpE-71jSBVX80B2VbusEXNM4,1991
30
+ pyreduce/settings/settings_HARPS.json,sha256=WcizGTYG5Tw5UQSuUB8MDbUPs909eDPtvCtefIWB7uI,1445
31
+ pyreduce/settings/settings_pyreduce.json,sha256=1BG0E_EMowNHVjqJ5yJ0AH4yw5PVsOZt85g_HKINZdA,4720
32
+ pyreduce/settings/settings_UVES.json,sha256=lVVddsOUekHkUDC4J56-G8hL51p2Vklj1dqHCfVH7ZU,1176
33
+ pyreduce/settings/settings_NEID.json,sha256=37Ya6unViL5Pocgih9FCRZ4VtlnQ-n-LScqzwMEHtds,1579
34
+ pyreduce/settings/settings_NTE.json,sha256=mAY0A-cy3UYKmoe_6AVJDm5oWbYZzk2WvfQNMOsyutA,1428
35
+ pyreduce/settings/settings_MCDONALD.json,sha256=MiaktItczNFiBtoxY6yxeabBvqkoRrjL-5iw4GEwvN8,1337
36
+ pyreduce/settings/settings_XSHOOTER.json,sha256=xZy8FGcSJhISebj0Jl1Gw3PnhHDz5JdEmbMEYLMaaMw,1773
37
+ pyreduce/tools/combine.py,sha256=ETAq15r3PfuqcP_yD7zKfWsU3rrIDI10MEeOTLa_5YE,3956
38
+ pyreduce/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.h,sha256=vQkOPIzNzOa32D-iW1_qoQDp4jtaKjSHUYCiDMIIcq4,1512
40
+ pyreduce/clib/slit_func_bd.c,sha256=i_nLyO-5PDZdNZyJKUk3oR_tCYZqVsYKrvQmhwQBxTg,11466
41
+ pyreduce/clib/_slitfunc_2d.cpython-312-darwin.so,sha256=gw3ikjC0mwe9vP62kWBh1qDHOQR3Bou02HEU0b8wHOE,69824
42
+ pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so,sha256=DzxWrsfN-yaNi5CoYqokF7jUvv7QXJEAswLsasT9yzY,52176
43
+ pyreduce/clib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ pyreduce/clib/_slitfunc_bd.cpython-312-darwin.so,sha256=ywhMGlJOHxHrQP1VWx14Iq2xOgQzlz7gqaZX-4188YA,52176
45
+ pyreduce/clib/_slitfunc_2d.cpython-313-darwin.so,sha256=iElbenGQKEjaEgx43pBT61bI85aDRETYBXBYl3H_NNY,69824
46
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.c,sha256=o_R_3hq0tX2ZdaCRxJjY2mXQf4RaYENcVKVn2OZR_Rk,51279
47
+ pyreduce/clib/slit_func_bd.h,sha256=Dx9dBmk4xYiqK44Ak5lxI9JJTkxagKdKa-rOItiTpCE,1326
48
+ pyreduce/clib/build_extract.py,sha256=Jf1nqWUIR_fnlnUrwpiWJd-sNP6Yq2WZPC5mKqCOUbY,1945
49
+ pyreduce/clib/_slitfunc_bd.cpython-311-darwin.so,sha256=LBYMczDFsu7R_7MzNSoMxj6fPFVeEGiShkIOqs4AjcE,52176
50
+ pyreduce/clib/_slitfunc_2d.cpython-311-darwin.so,sha256=JSAdihS0Tw4B2Qk5izh932MPEtYOqsLOSpcfNZwwgmQ,69824
51
+ pyreduce/instruments/jwst_niriss.json,sha256=Twh_Y18gXC_VrDuB2t5CDobjgZ7AQydilnMXiUW6Kbw,1426
52
+ pyreduce/instruments/andes.json,sha256=sk3pIuYYdty6r8_ihbTuJXpFAw2ZOLP5wUWLFESYBZs,1904
53
+ pyreduce/instruments/jwst_miri.py,sha256=9zomwYwPKbE3k8AnUhPTmlagy2X0gSS4u2iOh7B2Ci4,986
54
+ pyreduce/instruments/crires_plus.py,sha256=rzGmDwDg8he9Jbz8pDi-RJsglJSsg8xxqXU9kTo5oTU,3451
55
+ pyreduce/instruments/neid.json,sha256=NomBe8rCfYt4t2mhlydSpTKqgN9KLlmvzd1DBiHgGBw,1535
56
+ pyreduce/instruments/andes.py,sha256=0Z9lACgBPI8KT7bRE_m_daqQzzfl6GcZVud6_hZGClk,3439
57
+ pyreduce/instruments/xshooter.json,sha256=MfVQiZLg8VGWbh9VcsxJwV4oB_Zz8xNrRJeJU0PAHL8,1771
58
+ pyreduce/instruments/crires_plus.json,sha256=6WBw8hOkYvvAftxrC31tKHFKd5gUsmOAhctfgh-b1cI,2137
59
+ pyreduce/instruments/metis_ifu.json,sha256=IVG4Iak_hn_-J-l-qPYrHdM-2jXlR9Nh3k6m7B83e1A,1542
60
+ pyreduce/instruments/mcdonald.json,sha256=w-pmd4tDh91RHrxuvTCRBCOIvMesyU83Hk7Iwc3GHwY,1369
61
+ pyreduce/instruments/xshooter.py,sha256=eg6xBmmBsnL2WlX2PrtLA2yZch09i4QvKYUvE45foLE,1227
62
+ pyreduce/instruments/harpn.json,sha256=AGOYxXx9953q1dczoDP_tP_whpoU92BJA_GleLpcrA8,4090
63
+ pyreduce/instruments/neid.py,sha256=ForuqQCLg2UfBWMW3F7IhknVdagcjDJXJwU0lorkfvU,4849
64
+ pyreduce/instruments/common.json,sha256=ypTnKwF5ZT629RUwJa4zXQuBH5DXk2asSGcttQHwzGM,1134
65
+ pyreduce/instruments/uves.json,sha256=p71VuTwZ1lqxxLs8aQpKY-RHJM1IVS_2PvZ-pl_73DY,1742
66
+ pyreduce/instruments/micado.py,sha256=RcQj_T13bK3vIxqgixgbwk7roXnF0za4qDOOsKoNP9A,1408
67
+ pyreduce/instruments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ pyreduce/instruments/jwst_niriss.py,sha256=QHAYa6hAhTl8Vph_EUqpcEaR-nxBRZ2luW7trfemrbU,3287
69
+ pyreduce/instruments/jwst_miri.json,sha256=CwG3dkt1wjHTikscCKFt_ykC774RMjvxWmcdoggUibA,1142
70
+ pyreduce/instruments/metis_lss.json,sha256=mMwwr-wZHi-reTw9iYyFGDXu4yPhykP5qy0M_mnO-u0,1545
71
+ pyreduce/instruments/uves.py,sha256=NONVIqz80-IoFNR17t2_O4befSg7SoHs3zAs_7H3weM,1513
72
+ pyreduce/instruments/harps.py,sha256=dsUyz8QEnojTjqyPfpUj-9lRN7Pf2hm7zaj1-XE63vY,10588
73
+ pyreduce/instruments/instrument_info.py,sha256=LlrHxpOF8FRl4n2EA4JbfGDczvZyuEO_oZxl8NmTSBE,3638
74
+ pyreduce/instruments/common.py,sha256=IE7R67gWA2BFRzu_akdqkUpC6scvoK0A2_hEsOES3E4,22316
75
+ pyreduce/instruments/mcdonald.py,sha256=Pd1kJHLoaKg8VBTG-PGCzZFa9yKSRr5RKYbzmzzekGc,3907
76
+ pyreduce/instruments/metis_ifu.py,sha256=S4xGp5AHO3jbMutmBU0TBheY1vVkeVAjDIGAqYZd9as,1435
77
+ pyreduce/instruments/harpn.py,sha256=p5hQ2muEYVMbDNRqMnr4bI2_t_FMOSeBsVrjHe3rkK4,6506
78
+ pyreduce/instruments/nte.json,sha256=BP1CjT_VoxxyVONoqLCd7vlgQ1wi1253T8xhKNoZCTk,1155
79
+ pyreduce/instruments/harps.json,sha256=x3sE0GYUVqZ59KmY-7cSx4tG6w9FWnXyUegqmw7KLms,4215
80
+ pyreduce/instruments/micado.json,sha256=XjFOvXTNI_Z9FROe9wPNXizhU0JOkEqiJE4rYT1OhWg,1447
81
+ pyreduce/instruments/nte.py,sha256=3tx6ZTJfGTr0PdSFdYVotnM6yqQT-fyEbuq_yMgDkp4,1353
82
+ pyreduce/instruments/metis_lss.py,sha256=drNFC89LLXFZFtGaMzBi8YpTfn_JPsGaty83xKmpeIw,1435
83
+ pyreduce/instruments/lick_apf.json,sha256=YdRz17lDeDOsNikdCGjuw1-rAFycnCCnrZZFvMRhCNk,1347
84
+ pyreduce/instruments/instrument_schema.json,sha256=LF1hthYpYu8wRdPmjI1YR5xa2IGd3Rb2ZfDdMsZdW20,7540
85
+ pyreduce/instruments/nirspec.py,sha256=wDqgekxArL7F3NGs5lmtVRPh8EV4DnOuTUYE1ICbxmA,7855
86
+ pyreduce/instruments/filters.py,sha256=H8ss5qcMoaaeGCzYIxXFLAqqY6Tpxg_mPKirBQL5AJg,5604
87
+ pyreduce/instruments/nirspec.json,sha256=i9q_3-luNXfREpT3srx1dCWphy_mwtox_zxyVEOeax8,1234
88
+ pyreduce/instruments/lick_apf.py,sha256=FHzLmvP0wRMX-_Z-kKuWQvKExNQqBGBfbe0SPtZ-qOY,1162
89
+ pyreduce/wavecal/uves_blue_437nm_2D.npz,sha256=_WaHZRIiQ9DqfqWDVj0ak6tZDoDzBNmhgWsSybZAMrs,96818
90
+ pyreduce/wavecal/harps_blue_pol_2D.npz,sha256=igJS5gB6_PngiXx8fyBq-ECeh8dkZcWxaG1SMPUpplQ,377987
91
+ pyreduce/wavecal/uves_red_760nm_2D.npz,sha256=NWUk-lwmlVC1Ta5LSrT6hQt8L14AqYz9ouLHsp3BGhM,35978
92
+ pyreduce/wavecal/metis_lss_l_2D.npz,sha256=e_lIoswQhh8G6EC19m9RbLdHAhE-4yRrTi2VX6s2044,204191
93
+ pyreduce/wavecal/harpn_harpn_2D.npz,sha256=yYnqgJi1RCpsd0xTi5Ms2LMhSI0RdZFQzMKa6qBeDG4,268060
94
+ pyreduce/wavecal/uves_red_860nm_2D.npz,sha256=jqp4390I3MgdZTJ6fm3HiiSNswOLrA7P6_YhvarnaD0,10321
95
+ pyreduce/wavecal/nirspec_K2.npz,sha256=0LwqPyO3iOqkB-HOME5_HR5Cv4X2chdBFlU_FuPKNrk,2588
96
+ pyreduce/wavecal/convert.py,sha256=kNp9vl1ml6Mx2Cd1Pi3Yi1W3-Z1M3Yahg8VK0W6Q7HE,817
97
+ pyreduce/wavecal/xshooter_nir.npz,sha256=0Fu5wxWutc8072n8Hk2AZAWSlyT4WdhJuhh0OzUI6e4,21198
98
+ pyreduce/wavecal/uves_blue_390nm_2D.npz,sha256=tGe07byH0jxqVPA-gAgMSRN1qR4uu2y4TTRxabGRgMQ,130256
99
+ pyreduce/wavecal/uves_red_665nm_2D.npz,sha256=t8Y_6BX2hersnADGHAKgJbX26D6sLgyw3Ge-2kVmWTk,27599
100
+ pyreduce/wavecal/harps_red_2D.npz,sha256=spVxwfZzD4G2ELk4nBRWkYltFCgDKGfB9JmImdHW2y8,74679
101
+ pyreduce/wavecal/uves_middle_600nm_2D.npz,sha256=y1GimameWtSiB5Aqlv5uzQcHnV5cOq74cNtbG9bKdkU,87881
102
+ pyreduce/wavecal/mcdonald.npz,sha256=YEB8oaeYB-UgO64psXtAbGLnmZZ3nCcgmDhnWEbaCvk,227121
103
+ pyreduce/wavecal/harps_red_pol_2D.npz,sha256=9XFkZZwQlCPbech3_m3IIS5ghxmnwlZmV-4FNxsBdOQ,147107
104
+ pyreduce/wavecal/uves_middle_580nm_2D.npz,sha256=EAwuO7ozbcsPUWzSa-oEas4vACsvbPVDM3X5U4CX9Nw,28986
105
+ pyreduce/wavecal/uves_middle_565nm_2D.npz,sha256=L1_kUQtw7ym460bTD1P7ahdYOPknwbPx-tUZZJ78UEw,75994
106
+ pyreduce/wavecal/uves_red_580nm_2D.npz,sha256=i8S_TPB4Y4WACXQPXnn2rRV3Gk7KjaNoiGwoUmS8Kuw,26742
107
+ pyreduce/wavecal/uves_middle_665nm_2D.npz,sha256=b60CAzYLQz2Dyj1Fnct8Z52todIo1FcOdKN6tRDpP0U,56251
108
+ pyreduce/wavecal/uves_red_600nm_2D.npz,sha256=rVI28O0ZR35vv-zT3v3EHPzP0cAswN5oFEKJduuyyX8,45163
109
+ pyreduce/wavecal/uves_middle_2x2_2D.npz,sha256=RpoS4NPBob39gAvyMDFbAoGZfox1m4qE_zRab20mlnE,66037
110
+ pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz,sha256=bmYZ1nXFur_qXPLvfeeBaowXurgFn5gGftV5sC2VHAY,1604
111
+ pyreduce/wavecal/uves_middle_860nm_2D.npz,sha256=Boeaz2DVgx9Sm-xzkJ4DkndaXE3cfN7H3W7ToyLu47I,50889
112
+ pyreduce/wavecal/metis_lss_m_2D.npz,sha256=rs-5VJeYz6ERAIY62wrKcghmPm7rScZoBaz6Wg_Sq90,80056
113
+ pyreduce/wavecal/harps_blue_2D.npz,sha256=jyiBRlE7eWlOWuKBiD3wrAvmlJvA7jb4ByynRAeIZig,190128
114
+ pyreduce/wavecal/crires_plus_J1228_Open_det1.npz,sha256=olE9CLc0tbmW8FwqxLbGBiDZgZD1tTTzAaMTSpW_td4,9508
115
+ pyreduce/wavecal/crires_plus_J1228_Open_det2.npz,sha256=KuxhYVBYCKC-Ov3BBsBp0_BCEfJtypdH7lFYBiZor8w,7976
116
+ pyreduce/wavecal/uves_blue_360nm_2D.npz,sha256=hQvWWy6sA4l-DlV9wttpawHXHEPC5U5xlcSGKuz2ad8,62739
117
+ pyreduce/wavecal/crires_plus_J1228_Open_det3.npz,sha256=x-xQM5uUCbtGw4frENtkYhaY55rsSLP5EkQRfWPnEkY,5788
118
+ pyreduce/wavecal/atlas/thar.fits,sha256=nPPNStZ281iPUNsOXu3YJfHNlnHBd1CWMLwTuZL8vvo,1529218
119
+ pyreduce/wavecal/atlas/une.fits,sha256=egHlchdM4AN9MSksEI5MlHkmB3g1G1VhEdzhUG3XU8I,2949057
120
+ pyreduce/wavecal/atlas/thar_list.txt,sha256=saK3YW1slxlXGeulZDdILWf952XOWToJcUULVSHMe6k,63515
121
+ pyreduce/masks/mask_uves_middle_2x2_split.fits.gz,sha256=mjLfUFDfxzOvRTxTwZJS7kkzYTWjR-TbaxARIZTL7wQ,9930
122
+ pyreduce/masks/mask_lick_apf_.fits.gz,sha256=u4a_DCpmBVH354W08kNLPRJrLt3_Mhy_6eA0T-zoQHg,23847
123
+ pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz,sha256=WWcXMmdk2aYueMURjCSBuJ0md-IPQ3nYRxhX3KLF43g,2536
124
+ pyreduce/masks/mask_hds_blue.fits.gz,sha256=d_5vJe8l4rU0cpN-Uu7SKOlcpH2qNuSEwKV-ECutAYc,15587
125
+ pyreduce/masks/mask_flames_giraffe.fits.gz,sha256=FcSRlH0kvAkAv808frj49Mrqw6UqFSG6ABmBqbNrjkc,19740
126
+ pyreduce/masks/mask_nirspec_nirspec.fits.gz,sha256=Y1eExU_7vD_zsVIYB17sZONGvHUYw9OIqe54IstKx4A,9466
127
+ pyreduce/masks/mask_uves_red_2x2.fits.gz,sha256=rE-DhRuGKshYFpmjYDO9H6_7JHOb4GGUqvnIqGhuBww,14620
128
+ pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz,sha256=mZHL4fD9NwKVNjgsKI_YNws-5b7X83AdaQkjJJ1SVl4,10409
129
+ pyreduce/masks/mask_hds_red.fits.gz,sha256=F1a-4-2Z1ZyvOWzJD2cOApWWwzW5cnVEkFDg0KckIF0,11402
130
+ pyreduce/masks/mask_harps_blue.fits.gz,sha256=O5ghje-FidZz5ggOvUJJ3pf5GpblZDHjlsPT66rG5Q8,24105
131
+ pyreduce/masks/mask_uves_red_2x2_split.fits.gz,sha256=dJ7XlP_VHF_s6mlaG-vFc4o9mhlt29B6lLpkRb085jM,9959
132
+ pyreduce/masks/mask_uves_middle.fits.gz,sha256=xeEg3Xy3xZJEkFxXUgs2cUj7bOQ82BtA1rSTZDcO-fU,21652
133
+ pyreduce/masks/mask_uves_blue.fits.gz,sha256=BQ4-XZqdRkE8Obr5RoDwZIXKo-kAuj3MBP_siV7kp10,13763
134
+ pyreduce/masks/mask_crires_plus_det2.fits.gz,sha256=5cDvtSWBF-AryyCL5ynd4KHmoo2HfolCzfkjhIb709I,149290
135
+ pyreduce/masks/mask_sarg_2x2b.fits.gz,sha256=pLu2Vwtp__7aoLFfGYOwTI5BUIuIP65um_NXSc8IjLk,23078
136
+ pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz,sha256=onSOSqiwe_4DR7soRbg2rlGdEYgBhaFus91fe00vWrY,7590
137
+ pyreduce/masks/mask_feros3.fits.gz,sha256=CX76NtGNBoTcxF8uaEwjRJhRpkvpDnK6acmQQMA5ma4,61414
138
+ pyreduce/masks/mask_uves_red.fits.gz,sha256=k7yTcCtvYcJqVuTZs6cKjNH5Q1n2YhNyC_SYdpq-5WI,33317
139
+ pyreduce/masks/mask_ctio_chiron.fits.gz,sha256=DJzpUxJ7_YjGTw26eAqpd4ewoThG4SRggtbw68_o4HQ,11280
140
+ pyreduce/masks/mask_nes.fits.gz,sha256=LwPxBKjlGJ8zzvsUTYN4B43FHB-Nd6c49AKBpiZegu8,24057
141
+ pyreduce/masks/mask_subaru_hds_red.fits.gz,sha256=BGMe2TXZRLSwE_GOPzz_3IweBzElumMndwIDz219F7E,28440
142
+ pyreduce/masks/mask_crires_plus_det3.fits.gz,sha256=QXr9osxy7yOmvNIpzxgOIJ92DI0AY8YfrpV4x5GTWIg,149290
143
+ pyreduce/masks/mask_het_hrs_2x5.fits.gz,sha256=NiwsH2qwuF1I-PP3VGjvgRSKJQ-91gs3L-4NEJtwS88,2515
144
+ pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz,sha256=nIhqp0kEb3W_5wy8B-dhJGNxrPIk3iSdu2dR0LaupKs,4994
145
+ pyreduce/masks/mask_elodie.fits.gz,sha256=3EyeN0AjmjDwHQghS5OAfVpSGq_QTk5cHdTyANJLDRQ,5871
146
+ pyreduce/masks/mask_crires_plus_det1.fits.gz,sha256=qZdr3GyvEqh38Wv7QwPS7et_spu2Hd7lMvYfHR21Zmc,116600
147
+ pyreduce/masks/mask_sarg.fits.gz,sha256=UeR22NrEvcuVwRgTXxbq_rJYfv03PSkQx77MUMtDMa0,97348
148
+ pyreduce/masks/mask_harps_red.fits.gz,sha256=uUFdORzafXtePfmsMyfur0DK-rtwxJvTA1hPhKlz1EI,24835
149
+ pyreduce/masks/mask_sarg_2x2a.fits.gz,sha256=nP71dP5wfr13ENnxmQg0p4eQMwDPJJt7OlIs-z4Xn5s,21718
150
+ pyreduce/masks/mask_xshooter_nir.fits.gz,sha256=ZyG6yKkYLb3FnOWlmTvbKzjEhv2PctvBGyq2TkfuiF4,28155
151
+ pyreduce/masks/mask_uves_red_binned_2_2.fits.gz,sha256=rKmu5FQx2H-h7PDRg36sQJd20kVfiz4igP-5nqy32tE,13277
152
+ pyreduce/masks/mask_mcdonald.fits.gz,sha256=fX0fl69Gipedk_by3dvGzriSr24fRNMRGjcllj-6o-w,51295
153
+ pyreduce_astro-0.6.0b5.dist-info/RECORD,,
154
+ pyreduce_astro-0.6.0b5.dist-info/WHEEL,sha256=s0cTlxH34_QlWnER2EjFUsHTyO2KntcvTrX9yBtBmNo,133
155
+ pyreduce_astro-0.6.0b5.dist-info/METADATA,sha256=cSQ5IIqB7TJWj6xqdtOoDvrHRzkO2zzawfIQLewWEEs,5315
156
+ pyreduce_astro-0.6.0b5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-macosx_11_0_arm64
5
+ Generator: delocate 0.13.0
6
+