pyreduce-astro 0.6.0__cp314-cp314-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 (158) 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_2d.cpython-314-darwin.so +0 -0
  8. pyreduce/clib/_slitfunc_bd.cpython-311-darwin.so +0 -0
  9. pyreduce/clib/_slitfunc_bd.cpython-312-darwin.so +0 -0
  10. pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so +0 -0
  11. pyreduce/clib/_slitfunc_bd.cpython-314-darwin.so +0 -0
  12. pyreduce/clib/build_extract.py +75 -0
  13. pyreduce/clib/slit_func_2d_xi_zeta_bd.c +1313 -0
  14. pyreduce/clib/slit_func_2d_xi_zeta_bd.h +55 -0
  15. pyreduce/clib/slit_func_bd.c +362 -0
  16. pyreduce/clib/slit_func_bd.h +17 -0
  17. pyreduce/clipnflip.py +147 -0
  18. pyreduce/combine_frames.py +855 -0
  19. pyreduce/configuration.py +186 -0
  20. pyreduce/continuum_normalization.py +329 -0
  21. pyreduce/cwrappers.py +404 -0
  22. pyreduce/datasets.py +231 -0
  23. pyreduce/echelle.py +413 -0
  24. pyreduce/estimate_background_scatter.py +129 -0
  25. pyreduce/extract.py +1361 -0
  26. pyreduce/extraction_width.py +77 -0
  27. pyreduce/instruments/__init__.py +0 -0
  28. pyreduce/instruments/andes.json +61 -0
  29. pyreduce/instruments/andes.py +102 -0
  30. pyreduce/instruments/common.json +46 -0
  31. pyreduce/instruments/common.py +683 -0
  32. pyreduce/instruments/crires_plus.json +63 -0
  33. pyreduce/instruments/crires_plus.py +103 -0
  34. pyreduce/instruments/filters.py +195 -0
  35. pyreduce/instruments/harpn.json +136 -0
  36. pyreduce/instruments/harpn.py +201 -0
  37. pyreduce/instruments/harps.json +155 -0
  38. pyreduce/instruments/harps.py +310 -0
  39. pyreduce/instruments/instrument_info.py +140 -0
  40. pyreduce/instruments/instrument_schema.json +318 -0
  41. pyreduce/instruments/jwst_miri.json +53 -0
  42. pyreduce/instruments/jwst_miri.py +29 -0
  43. pyreduce/instruments/jwst_niriss.json +52 -0
  44. pyreduce/instruments/jwst_niriss.py +98 -0
  45. pyreduce/instruments/lick_apf.json +53 -0
  46. pyreduce/instruments/lick_apf.py +35 -0
  47. pyreduce/instruments/mcdonald.json +59 -0
  48. pyreduce/instruments/mcdonald.py +123 -0
  49. pyreduce/instruments/metis_ifu.json +63 -0
  50. pyreduce/instruments/metis_ifu.py +45 -0
  51. pyreduce/instruments/metis_lss.json +65 -0
  52. pyreduce/instruments/metis_lss.py +45 -0
  53. pyreduce/instruments/micado.json +53 -0
  54. pyreduce/instruments/micado.py +45 -0
  55. pyreduce/instruments/neid.json +51 -0
  56. pyreduce/instruments/neid.py +154 -0
  57. pyreduce/instruments/nirspec.json +56 -0
  58. pyreduce/instruments/nirspec.py +215 -0
  59. pyreduce/instruments/nte.json +47 -0
  60. pyreduce/instruments/nte.py +42 -0
  61. pyreduce/instruments/uves.json +59 -0
  62. pyreduce/instruments/uves.py +46 -0
  63. pyreduce/instruments/xshooter.json +66 -0
  64. pyreduce/instruments/xshooter.py +39 -0
  65. pyreduce/make_shear.py +606 -0
  66. pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
  67. pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
  68. pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
  69. pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
  70. pyreduce/masks/mask_elodie.fits.gz +0 -0
  71. pyreduce/masks/mask_feros3.fits.gz +0 -0
  72. pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
  73. pyreduce/masks/mask_harps_blue.fits.gz +0 -0
  74. pyreduce/masks/mask_harps_red.fits.gz +0 -0
  75. pyreduce/masks/mask_hds_blue.fits.gz +0 -0
  76. pyreduce/masks/mask_hds_red.fits.gz +0 -0
  77. pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
  78. pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
  79. pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
  80. pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
  81. pyreduce/masks/mask_mcdonald.fits.gz +0 -0
  82. pyreduce/masks/mask_nes.fits.gz +0 -0
  83. pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
  84. pyreduce/masks/mask_sarg.fits.gz +0 -0
  85. pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
  86. pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
  87. pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
  88. pyreduce/masks/mask_uves_blue.fits.gz +0 -0
  89. pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
  90. pyreduce/masks/mask_uves_middle.fits.gz +0 -0
  91. pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
  92. pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
  93. pyreduce/masks/mask_uves_red.fits.gz +0 -0
  94. pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
  95. pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
  96. pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
  97. pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
  98. pyreduce/rectify.py +138 -0
  99. pyreduce/reduce.py +2205 -0
  100. pyreduce/settings/settings_ANDES.json +89 -0
  101. pyreduce/settings/settings_CRIRES_PLUS.json +89 -0
  102. pyreduce/settings/settings_HARPN.json +73 -0
  103. pyreduce/settings/settings_HARPS.json +69 -0
  104. pyreduce/settings/settings_JWST_MIRI.json +55 -0
  105. pyreduce/settings/settings_JWST_NIRISS.json +55 -0
  106. pyreduce/settings/settings_LICK_APF.json +62 -0
  107. pyreduce/settings/settings_MCDONALD.json +58 -0
  108. pyreduce/settings/settings_METIS_IFU.json +77 -0
  109. pyreduce/settings/settings_METIS_LSS.json +77 -0
  110. pyreduce/settings/settings_MICADO.json +78 -0
  111. pyreduce/settings/settings_NEID.json +73 -0
  112. pyreduce/settings/settings_NIRSPEC.json +58 -0
  113. pyreduce/settings/settings_NTE.json +60 -0
  114. pyreduce/settings/settings_UVES.json +54 -0
  115. pyreduce/settings/settings_XSHOOTER.json +78 -0
  116. pyreduce/settings/settings_pyreduce.json +178 -0
  117. pyreduce/settings/settings_schema.json +827 -0
  118. pyreduce/tools/__init__.py +0 -0
  119. pyreduce/tools/combine.py +117 -0
  120. pyreduce/trace_orders.py +645 -0
  121. pyreduce/util.py +1288 -0
  122. pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
  123. pyreduce/wavecal/atlas/thar.fits +4946 -13
  124. pyreduce/wavecal/atlas/thar_list.txt +4172 -0
  125. pyreduce/wavecal/atlas/une.fits +0 -0
  126. pyreduce/wavecal/convert.py +38 -0
  127. pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
  128. pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
  129. pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
  130. pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
  131. pyreduce/wavecal/harps_blue_2D.npz +0 -0
  132. pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
  133. pyreduce/wavecal/harps_red_2D.npz +0 -0
  134. pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
  135. pyreduce/wavecal/mcdonald.npz +0 -0
  136. pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
  137. pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
  138. pyreduce/wavecal/nirspec_K2.npz +0 -0
  139. pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
  140. pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
  141. pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
  142. pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
  143. pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
  144. pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
  145. pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
  146. pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
  147. pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
  148. pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
  149. pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
  150. pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
  151. pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
  152. pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
  153. pyreduce/wavecal/xshooter_nir.npz +0 -0
  154. pyreduce/wavelength_calibration.py +1873 -0
  155. pyreduce_astro-0.6.0.dist-info/METADATA +114 -0
  156. pyreduce_astro-0.6.0.dist-info/RECORD +158 -0
  157. pyreduce_astro-0.6.0.dist-info/WHEEL +6 -0
  158. pyreduce_astro-0.6.0.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,114 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyreduce-astro
3
+ Version: 0.6.0
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, Thomas Marquart, Ansgar Wehrhahn
10
+ Maintainer-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: Programming Language :: Python :: 3.14
22
+ Classifier: Topic :: Scientific/Engineering :: Astronomy
23
+ Requires-Python: >=3.11
24
+ Requires-Dist: astropy>=5.3.0
25
+ Requires-Dist: cffi>=1.17.1
26
+ Requires-Dist: colorlog>=6.8.0
27
+ Requires-Dist: corner>=2.2.0
28
+ Requires-Dist: emcee>=3.1.0
29
+ Requires-Dist: joblib>=1.3.0
30
+ Requires-Dist: jsonschema>=4.20.0
31
+ Requires-Dist: matplotlib>=3.8.0
32
+ Requires-Dist: numpy>=1.26.0
33
+ Requires-Dist: pillow>=10.0.0
34
+ Requires-Dist: python-dateutil>=2.8.0
35
+ Requires-Dist: scikit-image>=0.22.0
36
+ Requires-Dist: scipy>=1.11.0
37
+ Requires-Dist: spectres>=2.2.0
38
+ Requires-Dist: tqdm>=4.66.0
39
+ Requires-Dist: wget>=3.2
40
+ Provides-Extra: dev
41
+ Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
42
+ Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
43
+ Requires-Dist: pytest>=7.4.0; extra == 'dev'
44
+ Requires-Dist: ruff>=0.8.0; extra == 'dev'
45
+ Requires-Dist: setuptools; extra == 'dev'
46
+ Requires-Dist: sphinx>=7.2.0; extra == 'dev'
47
+ Description-Content-Type: text/markdown
48
+
49
+ [![CI](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml/badge.svg)](https://github.com/ivh/PyReduce/actions/workflows/python-publish.yml)
50
+ [![Documentation Status](https://readthedocs.org/projects/pyreduce-astro/badge/?version=latest)](https://pyreduce-astro.readthedocs.io/en/latest/?badge=latest)
51
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
52
+
53
+ # PyReduce
54
+
55
+ PyReduce is a port of the [REDUCE](http://www.astro.uu.se/~piskunov/RESEARCH/REDUCE/) package to Python.
56
+ It is a complete data reduction pipeline for the echelle spectrographs, e.g. HARPS or UVES.
57
+
58
+ The methods are descibed in the papers
59
+ * Original REDUCE: Piskunov & Valenti (2001) [doi:10.1051/0004-6361:20020175](https://doi.org/10.1051/0004-6361:20020175)
60
+ * Updates to curved slit extraction and PyReduce: Piskunov, Wehrhahn & Marquart (2021) [10.1051/0004-6361/202038293](https://doi.org/10.1051/0004-6361/202038293)
61
+
62
+ Some documentation on how to use PyReduce is available at [ReadTheDocs](https://pyreduce-astro.readthedocs.io/en/latest/index.html).
63
+
64
+ Installation
65
+ ------------
66
+
67
+ ### For Users
68
+
69
+ The latest version can be installed with pip:
70
+
71
+ ```bash
72
+ pip install git+https://github.com/ivh/PyReduce
73
+ ```
74
+
75
+ The version available from PyPI is slightly outdated, but functional: ``pip install pyreduce-astro``.
76
+
77
+ ### For Development
78
+
79
+ If you foresee making changes to PyReduce itself, clone the repository and use [uv](https://docs.astral.sh/uv/) for fast, modern package management:
80
+
81
+ ```bash
82
+ git clone <your fork url>
83
+ cd PyReduce/
84
+ uv sync
85
+ ```
86
+
87
+ This will automatically:
88
+ - Create a virtual environment
89
+ - Install all dependencies
90
+ - Build the CFFI C extensions
91
+ - Install PyReduce in editable mode
92
+
93
+ To run commands, use `uv run`:
94
+ ```bash
95
+ uv run pytest # Run tests
96
+ uv run python examples/uves_example.py # Run example
97
+ ```
98
+
99
+ **Note:** PyReduce uses CFFI to link to C code. On non-Linux platforms you might need to install libffi.
100
+ See https://cffi.readthedocs.io/en/latest/installation.html#platform-specific-instructions for details.
101
+
102
+ Output Format
103
+ -------------
104
+ 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_``.
105
+
106
+ How To
107
+ ------
108
+ PyReduce is designed to be easy to use, but still be flexible.
109
+ ``examples/uves_example.py`` is a good starting point, to understand how it works.
110
+ 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.
111
+ 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.
112
+ All of this is then passed to pyreduce.reduce.main to start the reduction.
113
+
114
+ 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,158 @@
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/_slitfunc_2d.cpython-314-darwin.so,sha256=vwxeMo0_opADGWdpbWWwbAtxvSICfuHUHVtcpjNOLL8,69824
40
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.h,sha256=vQkOPIzNzOa32D-iW1_qoQDp4jtaKjSHUYCiDMIIcq4,1512
41
+ pyreduce/clib/slit_func_bd.c,sha256=i_nLyO-5PDZdNZyJKUk3oR_tCYZqVsYKrvQmhwQBxTg,11466
42
+ pyreduce/clib/_slitfunc_2d.cpython-312-darwin.so,sha256=C8ZhUasnOpJGYLkBUX6TRte5dDj7qzTIDeCi3KwEQeA,69824
43
+ pyreduce/clib/_slitfunc_bd.cpython-313-darwin.so,sha256=s4-zjq9CS6wjwqPFKW0sQ6xutuLeykc4H2-RbQAdbmc,52176
44
+ pyreduce/clib/_slitfunc_bd.cpython-314-darwin.so,sha256=ocMYayr58GzNTzbl9uFnFwC7oB5rDUm7iDZlS9885iQ,52176
45
+ pyreduce/clib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ pyreduce/clib/_slitfunc_bd.cpython-312-darwin.so,sha256=mHyocOKYpssO_TIrNpc-AY5Sh-FJ27wqIoPVGWFnVfc,52176
47
+ pyreduce/clib/_slitfunc_2d.cpython-313-darwin.so,sha256=z6CNLFPkMhIfnTvX0ymR4ma0U-KTOfyPSWc8Gv_EQS0,69824
48
+ pyreduce/clib/slit_func_2d_xi_zeta_bd.c,sha256=o_R_3hq0tX2ZdaCRxJjY2mXQf4RaYENcVKVn2OZR_Rk,51279
49
+ pyreduce/clib/slit_func_bd.h,sha256=Dx9dBmk4xYiqK44Ak5lxI9JJTkxagKdKa-rOItiTpCE,1326
50
+ pyreduce/clib/build_extract.py,sha256=Jf1nqWUIR_fnlnUrwpiWJd-sNP6Yq2WZPC5mKqCOUbY,1945
51
+ pyreduce/clib/_slitfunc_bd.cpython-311-darwin.so,sha256=X89s0i5MOYfL405RR9-85A5NsTcE1MGuMe4v09ER2Ng,52176
52
+ pyreduce/clib/_slitfunc_2d.cpython-311-darwin.so,sha256=bzqHdxi5hwjwJS2JLNWkRj7mOlutI7OpOllgyQac1jo,69824
53
+ pyreduce/instruments/jwst_niriss.json,sha256=Twh_Y18gXC_VrDuB2t5CDobjgZ7AQydilnMXiUW6Kbw,1426
54
+ pyreduce/instruments/andes.json,sha256=sk3pIuYYdty6r8_ihbTuJXpFAw2ZOLP5wUWLFESYBZs,1904
55
+ pyreduce/instruments/jwst_miri.py,sha256=9zomwYwPKbE3k8AnUhPTmlagy2X0gSS4u2iOh7B2Ci4,986
56
+ pyreduce/instruments/crires_plus.py,sha256=rzGmDwDg8he9Jbz8pDi-RJsglJSsg8xxqXU9kTo5oTU,3451
57
+ pyreduce/instruments/neid.json,sha256=NomBe8rCfYt4t2mhlydSpTKqgN9KLlmvzd1DBiHgGBw,1535
58
+ pyreduce/instruments/andes.py,sha256=0Z9lACgBPI8KT7bRE_m_daqQzzfl6GcZVud6_hZGClk,3439
59
+ pyreduce/instruments/xshooter.json,sha256=MfVQiZLg8VGWbh9VcsxJwV4oB_Zz8xNrRJeJU0PAHL8,1771
60
+ pyreduce/instruments/crires_plus.json,sha256=6WBw8hOkYvvAftxrC31tKHFKd5gUsmOAhctfgh-b1cI,2137
61
+ pyreduce/instruments/metis_ifu.json,sha256=IVG4Iak_hn_-J-l-qPYrHdM-2jXlR9Nh3k6m7B83e1A,1542
62
+ pyreduce/instruments/mcdonald.json,sha256=w-pmd4tDh91RHrxuvTCRBCOIvMesyU83Hk7Iwc3GHwY,1369
63
+ pyreduce/instruments/xshooter.py,sha256=eg6xBmmBsnL2WlX2PrtLA2yZch09i4QvKYUvE45foLE,1227
64
+ pyreduce/instruments/harpn.json,sha256=AGOYxXx9953q1dczoDP_tP_whpoU92BJA_GleLpcrA8,4090
65
+ pyreduce/instruments/neid.py,sha256=ForuqQCLg2UfBWMW3F7IhknVdagcjDJXJwU0lorkfvU,4849
66
+ pyreduce/instruments/common.json,sha256=ypTnKwF5ZT629RUwJa4zXQuBH5DXk2asSGcttQHwzGM,1134
67
+ pyreduce/instruments/uves.json,sha256=p71VuTwZ1lqxxLs8aQpKY-RHJM1IVS_2PvZ-pl_73DY,1742
68
+ pyreduce/instruments/micado.py,sha256=RcQj_T13bK3vIxqgixgbwk7roXnF0za4qDOOsKoNP9A,1408
69
+ pyreduce/instruments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ pyreduce/instruments/jwst_niriss.py,sha256=QHAYa6hAhTl8Vph_EUqpcEaR-nxBRZ2luW7trfemrbU,3287
71
+ pyreduce/instruments/jwst_miri.json,sha256=CwG3dkt1wjHTikscCKFt_ykC774RMjvxWmcdoggUibA,1142
72
+ pyreduce/instruments/metis_lss.json,sha256=mMwwr-wZHi-reTw9iYyFGDXu4yPhykP5qy0M_mnO-u0,1545
73
+ pyreduce/instruments/uves.py,sha256=NONVIqz80-IoFNR17t2_O4befSg7SoHs3zAs_7H3weM,1513
74
+ pyreduce/instruments/harps.py,sha256=dsUyz8QEnojTjqyPfpUj-9lRN7Pf2hm7zaj1-XE63vY,10588
75
+ pyreduce/instruments/instrument_info.py,sha256=LlrHxpOF8FRl4n2EA4JbfGDczvZyuEO_oZxl8NmTSBE,3638
76
+ pyreduce/instruments/common.py,sha256=aTKxxSk80XYXR3yc9Vh4R2k22lrKTgy3TJ0OTcJWex0,22669
77
+ pyreduce/instruments/mcdonald.py,sha256=Pd1kJHLoaKg8VBTG-PGCzZFa9yKSRr5RKYbzmzzekGc,3907
78
+ pyreduce/instruments/metis_ifu.py,sha256=S4xGp5AHO3jbMutmBU0TBheY1vVkeVAjDIGAqYZd9as,1435
79
+ pyreduce/instruments/harpn.py,sha256=p5hQ2muEYVMbDNRqMnr4bI2_t_FMOSeBsVrjHe3rkK4,6506
80
+ pyreduce/instruments/nte.json,sha256=BP1CjT_VoxxyVONoqLCd7vlgQ1wi1253T8xhKNoZCTk,1155
81
+ pyreduce/instruments/harps.json,sha256=x3sE0GYUVqZ59KmY-7cSx4tG6w9FWnXyUegqmw7KLms,4215
82
+ pyreduce/instruments/micado.json,sha256=XjFOvXTNI_Z9FROe9wPNXizhU0JOkEqiJE4rYT1OhWg,1447
83
+ pyreduce/instruments/nte.py,sha256=3tx6ZTJfGTr0PdSFdYVotnM6yqQT-fyEbuq_yMgDkp4,1353
84
+ pyreduce/instruments/metis_lss.py,sha256=drNFC89LLXFZFtGaMzBi8YpTfn_JPsGaty83xKmpeIw,1435
85
+ pyreduce/instruments/lick_apf.json,sha256=YdRz17lDeDOsNikdCGjuw1-rAFycnCCnrZZFvMRhCNk,1347
86
+ pyreduce/instruments/instrument_schema.json,sha256=Mq-Bfa3j4r_FF6RBmzd07QtHhCtYLVsH4XAGgXKjADw,9971
87
+ pyreduce/instruments/nirspec.py,sha256=wDqgekxArL7F3NGs5lmtVRPh8EV4DnOuTUYE1ICbxmA,7855
88
+ pyreduce/instruments/filters.py,sha256=H8ss5qcMoaaeGCzYIxXFLAqqY6Tpxg_mPKirBQL5AJg,5604
89
+ pyreduce/instruments/nirspec.json,sha256=i9q_3-luNXfREpT3srx1dCWphy_mwtox_zxyVEOeax8,1234
90
+ pyreduce/instruments/lick_apf.py,sha256=FHzLmvP0wRMX-_Z-kKuWQvKExNQqBGBfbe0SPtZ-qOY,1162
91
+ pyreduce/wavecal/uves_blue_437nm_2D.npz,sha256=_WaHZRIiQ9DqfqWDVj0ak6tZDoDzBNmhgWsSybZAMrs,96818
92
+ pyreduce/wavecal/harps_blue_pol_2D.npz,sha256=igJS5gB6_PngiXx8fyBq-ECeh8dkZcWxaG1SMPUpplQ,377987
93
+ pyreduce/wavecal/uves_red_760nm_2D.npz,sha256=NWUk-lwmlVC1Ta5LSrT6hQt8L14AqYz9ouLHsp3BGhM,35978
94
+ pyreduce/wavecal/metis_lss_l_2D.npz,sha256=e_lIoswQhh8G6EC19m9RbLdHAhE-4yRrTi2VX6s2044,204191
95
+ pyreduce/wavecal/harpn_harpn_2D.npz,sha256=yYnqgJi1RCpsd0xTi5Ms2LMhSI0RdZFQzMKa6qBeDG4,268060
96
+ pyreduce/wavecal/uves_red_860nm_2D.npz,sha256=jqp4390I3MgdZTJ6fm3HiiSNswOLrA7P6_YhvarnaD0,10321
97
+ pyreduce/wavecal/nirspec_K2.npz,sha256=0LwqPyO3iOqkB-HOME5_HR5Cv4X2chdBFlU_FuPKNrk,2588
98
+ pyreduce/wavecal/convert.py,sha256=kNp9vl1ml6Mx2Cd1Pi3Yi1W3-Z1M3Yahg8VK0W6Q7HE,817
99
+ pyreduce/wavecal/xshooter_nir.npz,sha256=0Fu5wxWutc8072n8Hk2AZAWSlyT4WdhJuhh0OzUI6e4,21198
100
+ pyreduce/wavecal/uves_blue_390nm_2D.npz,sha256=tGe07byH0jxqVPA-gAgMSRN1qR4uu2y4TTRxabGRgMQ,130256
101
+ pyreduce/wavecal/uves_red_665nm_2D.npz,sha256=t8Y_6BX2hersnADGHAKgJbX26D6sLgyw3Ge-2kVmWTk,27599
102
+ pyreduce/wavecal/harps_red_2D.npz,sha256=spVxwfZzD4G2ELk4nBRWkYltFCgDKGfB9JmImdHW2y8,74679
103
+ pyreduce/wavecal/uves_middle_600nm_2D.npz,sha256=y1GimameWtSiB5Aqlv5uzQcHnV5cOq74cNtbG9bKdkU,87881
104
+ pyreduce/wavecal/mcdonald.npz,sha256=YEB8oaeYB-UgO64psXtAbGLnmZZ3nCcgmDhnWEbaCvk,227121
105
+ pyreduce/wavecal/harps_red_pol_2D.npz,sha256=9XFkZZwQlCPbech3_m3IIS5ghxmnwlZmV-4FNxsBdOQ,147107
106
+ pyreduce/wavecal/uves_middle_580nm_2D.npz,sha256=EAwuO7ozbcsPUWzSa-oEas4vACsvbPVDM3X5U4CX9Nw,28986
107
+ pyreduce/wavecal/uves_middle_565nm_2D.npz,sha256=L1_kUQtw7ym460bTD1P7ahdYOPknwbPx-tUZZJ78UEw,75994
108
+ pyreduce/wavecal/uves_red_580nm_2D.npz,sha256=i8S_TPB4Y4WACXQPXnn2rRV3Gk7KjaNoiGwoUmS8Kuw,26742
109
+ pyreduce/wavecal/uves_middle_665nm_2D.npz,sha256=b60CAzYLQz2Dyj1Fnct8Z52todIo1FcOdKN6tRDpP0U,56251
110
+ pyreduce/wavecal/uves_red_600nm_2D.npz,sha256=rVI28O0ZR35vv-zT3v3EHPzP0cAswN5oFEKJduuyyX8,45163
111
+ pyreduce/wavecal/uves_middle_2x2_2D.npz,sha256=RpoS4NPBob39gAvyMDFbAoGZfox1m4qE_zRab20mlnE,66037
112
+ pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz,sha256=bmYZ1nXFur_qXPLvfeeBaowXurgFn5gGftV5sC2VHAY,1604
113
+ pyreduce/wavecal/uves_middle_860nm_2D.npz,sha256=Boeaz2DVgx9Sm-xzkJ4DkndaXE3cfN7H3W7ToyLu47I,50889
114
+ pyreduce/wavecal/metis_lss_m_2D.npz,sha256=rs-5VJeYz6ERAIY62wrKcghmPm7rScZoBaz6Wg_Sq90,80056
115
+ pyreduce/wavecal/harps_blue_2D.npz,sha256=jyiBRlE7eWlOWuKBiD3wrAvmlJvA7jb4ByynRAeIZig,190128
116
+ pyreduce/wavecal/crires_plus_J1228_Open_det1.npz,sha256=olE9CLc0tbmW8FwqxLbGBiDZgZD1tTTzAaMTSpW_td4,9508
117
+ pyreduce/wavecal/crires_plus_J1228_Open_det2.npz,sha256=KuxhYVBYCKC-Ov3BBsBp0_BCEfJtypdH7lFYBiZor8w,7976
118
+ pyreduce/wavecal/uves_blue_360nm_2D.npz,sha256=hQvWWy6sA4l-DlV9wttpawHXHEPC5U5xlcSGKuz2ad8,62739
119
+ pyreduce/wavecal/crires_plus_J1228_Open_det3.npz,sha256=x-xQM5uUCbtGw4frENtkYhaY55rsSLP5EkQRfWPnEkY,5788
120
+ pyreduce/wavecal/atlas/thar.fits,sha256=nPPNStZ281iPUNsOXu3YJfHNlnHBd1CWMLwTuZL8vvo,1529218
121
+ pyreduce/wavecal/atlas/une.fits,sha256=egHlchdM4AN9MSksEI5MlHkmB3g1G1VhEdzhUG3XU8I,2949057
122
+ pyreduce/wavecal/atlas/thar_list.txt,sha256=saK3YW1slxlXGeulZDdILWf952XOWToJcUULVSHMe6k,63515
123
+ pyreduce/masks/mask_uves_middle_2x2_split.fits.gz,sha256=mjLfUFDfxzOvRTxTwZJS7kkzYTWjR-TbaxARIZTL7wQ,9930
124
+ pyreduce/masks/mask_lick_apf_.fits.gz,sha256=u4a_DCpmBVH354W08kNLPRJrLt3_Mhy_6eA0T-zoQHg,23847
125
+ pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz,sha256=WWcXMmdk2aYueMURjCSBuJ0md-IPQ3nYRxhX3KLF43g,2536
126
+ pyreduce/masks/mask_hds_blue.fits.gz,sha256=d_5vJe8l4rU0cpN-Uu7SKOlcpH2qNuSEwKV-ECutAYc,15587
127
+ pyreduce/masks/mask_flames_giraffe.fits.gz,sha256=FcSRlH0kvAkAv808frj49Mrqw6UqFSG6ABmBqbNrjkc,19740
128
+ pyreduce/masks/mask_nirspec_nirspec.fits.gz,sha256=Y1eExU_7vD_zsVIYB17sZONGvHUYw9OIqe54IstKx4A,9466
129
+ pyreduce/masks/mask_uves_red_2x2.fits.gz,sha256=rE-DhRuGKshYFpmjYDO9H6_7JHOb4GGUqvnIqGhuBww,14620
130
+ pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz,sha256=mZHL4fD9NwKVNjgsKI_YNws-5b7X83AdaQkjJJ1SVl4,10409
131
+ pyreduce/masks/mask_hds_red.fits.gz,sha256=F1a-4-2Z1ZyvOWzJD2cOApWWwzW5cnVEkFDg0KckIF0,11402
132
+ pyreduce/masks/mask_harps_blue.fits.gz,sha256=O5ghje-FidZz5ggOvUJJ3pf5GpblZDHjlsPT66rG5Q8,24105
133
+ pyreduce/masks/mask_uves_red_2x2_split.fits.gz,sha256=dJ7XlP_VHF_s6mlaG-vFc4o9mhlt29B6lLpkRb085jM,9959
134
+ pyreduce/masks/mask_uves_middle.fits.gz,sha256=xeEg3Xy3xZJEkFxXUgs2cUj7bOQ82BtA1rSTZDcO-fU,21652
135
+ pyreduce/masks/mask_uves_blue.fits.gz,sha256=BQ4-XZqdRkE8Obr5RoDwZIXKo-kAuj3MBP_siV7kp10,13763
136
+ pyreduce/masks/mask_crires_plus_det2.fits.gz,sha256=5cDvtSWBF-AryyCL5ynd4KHmoo2HfolCzfkjhIb709I,149290
137
+ pyreduce/masks/mask_sarg_2x2b.fits.gz,sha256=pLu2Vwtp__7aoLFfGYOwTI5BUIuIP65um_NXSc8IjLk,23078
138
+ pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz,sha256=onSOSqiwe_4DR7soRbg2rlGdEYgBhaFus91fe00vWrY,7590
139
+ pyreduce/masks/mask_feros3.fits.gz,sha256=CX76NtGNBoTcxF8uaEwjRJhRpkvpDnK6acmQQMA5ma4,61414
140
+ pyreduce/masks/mask_uves_red.fits.gz,sha256=k7yTcCtvYcJqVuTZs6cKjNH5Q1n2YhNyC_SYdpq-5WI,33317
141
+ pyreduce/masks/mask_ctio_chiron.fits.gz,sha256=DJzpUxJ7_YjGTw26eAqpd4ewoThG4SRggtbw68_o4HQ,11280
142
+ pyreduce/masks/mask_nes.fits.gz,sha256=LwPxBKjlGJ8zzvsUTYN4B43FHB-Nd6c49AKBpiZegu8,24057
143
+ pyreduce/masks/mask_subaru_hds_red.fits.gz,sha256=BGMe2TXZRLSwE_GOPzz_3IweBzElumMndwIDz219F7E,28440
144
+ pyreduce/masks/mask_crires_plus_det3.fits.gz,sha256=QXr9osxy7yOmvNIpzxgOIJ92DI0AY8YfrpV4x5GTWIg,149290
145
+ pyreduce/masks/mask_het_hrs_2x5.fits.gz,sha256=NiwsH2qwuF1I-PP3VGjvgRSKJQ-91gs3L-4NEJtwS88,2515
146
+ pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz,sha256=nIhqp0kEb3W_5wy8B-dhJGNxrPIk3iSdu2dR0LaupKs,4994
147
+ pyreduce/masks/mask_elodie.fits.gz,sha256=3EyeN0AjmjDwHQghS5OAfVpSGq_QTk5cHdTyANJLDRQ,5871
148
+ pyreduce/masks/mask_crires_plus_det1.fits.gz,sha256=qZdr3GyvEqh38Wv7QwPS7et_spu2Hd7lMvYfHR21Zmc,116600
149
+ pyreduce/masks/mask_sarg.fits.gz,sha256=UeR22NrEvcuVwRgTXxbq_rJYfv03PSkQx77MUMtDMa0,97348
150
+ pyreduce/masks/mask_harps_red.fits.gz,sha256=uUFdORzafXtePfmsMyfur0DK-rtwxJvTA1hPhKlz1EI,24835
151
+ pyreduce/masks/mask_sarg_2x2a.fits.gz,sha256=nP71dP5wfr13ENnxmQg0p4eQMwDPJJt7OlIs-z4Xn5s,21718
152
+ pyreduce/masks/mask_xshooter_nir.fits.gz,sha256=ZyG6yKkYLb3FnOWlmTvbKzjEhv2PctvBGyq2TkfuiF4,28155
153
+ pyreduce/masks/mask_uves_red_binned_2_2.fits.gz,sha256=rKmu5FQx2H-h7PDRg36sQJd20kVfiz4igP-5nqy32tE,13277
154
+ pyreduce/masks/mask_mcdonald.fits.gz,sha256=fX0fl69Gipedk_by3dvGzriSr24fRNMRGjcllj-6o-w,51295
155
+ pyreduce_astro-0.6.0.dist-info/RECORD,,
156
+ pyreduce_astro-0.6.0.dist-info/WHEEL,sha256=WXbsi20BQPXASsTtoxXQwqKayNrjmxYKohCcHJqRTOk,133
157
+ pyreduce_astro-0.6.0.dist-info/METADATA,sha256=ztKj0GMs5l6qbPXsLHQluCv5lzBYOALyJ25-OGYPu6c,5385
158
+ pyreduce_astro-0.6.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: false
4
+ Tag: cp314-cp314-macosx_11_0_arm64
5
+ Generator: delocate 0.13.0
6
+