pyreduce-astro 0.7a3__tar.gz → 0.7a4__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 (204) hide show
  1. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/CHANGELOG.md +6 -0
  2. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/PKG-INFO +1 -1
  3. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/aj_example.py +4 -0
  4. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/crires_plus_example.py +4 -0
  5. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/custom_instrument_example.py +4 -0
  6. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/harpn_example.py +4 -0
  7. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/harps_example.py +4 -0
  8. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/harps_gridsearch.py +4 -0
  9. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/just_one_swath.py +4 -0
  10. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/jwst_miri_example.py +4 -0
  11. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/jwst_niriss_example.py +4 -0
  12. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/lick_apf_example.py +4 -0
  13. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/mcdonald_example.py +4 -0
  14. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/metis_ifu_example.py +4 -0
  15. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/metis_lss_example.py +4 -0
  16. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/micado_example.py +4 -0
  17. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/neid_example.py +4 -0
  18. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/nirspec_example.py +4 -0
  19. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/toes_example.py +4 -0
  20. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/uves_callfunc.py +4 -0
  21. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/uves_example.py +4 -0
  22. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/examples/xshooter_example.py +4 -0
  23. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyproject.toml +1 -1
  24. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/__main__.py +36 -5
  25. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/uv.lock +1 -1
  26. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/.gitattributes +0 -0
  27. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/.gitignore +0 -0
  28. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/.pre-commit-config.yaml +0 -0
  29. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/.pyup.yml +0 -0
  30. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/.readthedocs.yaml +0 -0
  31. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/AGENTS.md +0 -0
  32. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/CLAUDE.md +0 -0
  33. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/LICENSE +0 -0
  34. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/README.md +0 -0
  35. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/README_METIS.md +0 -0
  36. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/codemeta.json +0 -0
  37. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/environment.yml +0 -0
  38. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/hatch_build.py +0 -0
  39. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/ipy_startup.py +0 -0
  40. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/plots_for_paper/dimensionality.py +0 -0
  41. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/plots_for_paper/settings_HARPS.json +0 -0
  42. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/plots_for_paper/wavecal_plot.py +0 -0
  43. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyproject.toml.sav +0 -0
  44. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/__init__.py +0 -0
  45. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/cli.py +0 -0
  46. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/__init__.py +0 -0
  47. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/build_extract.py +0 -0
  48. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/slit_func_2d_xi_zeta_bd.c +0 -0
  49. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/slit_func_2d_xi_zeta_bd.h +0 -0
  50. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/slit_func_bd.c +0 -0
  51. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clib/slit_func_bd.h +0 -0
  52. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/clipnflip.py +0 -0
  53. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/combine_frames.py +0 -0
  54. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/configuration.py +0 -0
  55. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/continuum_normalization.py +0 -0
  56. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/cwrappers.py +0 -0
  57. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/datasets.py +0 -0
  58. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/echelle.py +0 -0
  59. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/estimate_background_scatter.py +0 -0
  60. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/extract.py +0 -0
  61. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/extraction_width.py +0 -0
  62. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/__init__.py +0 -0
  63. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/aj.py +0 -0
  64. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/aj.yaml +0 -0
  65. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/andes.py +0 -0
  66. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/andes.yaml +0 -0
  67. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/common.py +0 -0
  68. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/common.yaml +0 -0
  69. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/crires_plus.py +0 -0
  70. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/crires_plus.yaml +0 -0
  71. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/filters.py +0 -0
  72. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/harpn.py +0 -0
  73. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/harpn.yaml +0 -0
  74. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/harps.py +0 -0
  75. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/harps.yaml +0 -0
  76. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/instrument_info.py +0 -0
  77. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/jwst_miri.py +0 -0
  78. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/jwst_miri.yaml +0 -0
  79. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/jwst_niriss.py +0 -0
  80. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/jwst_niriss.yaml +0 -0
  81. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/lick_apf.py +0 -0
  82. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/lick_apf.yaml +0 -0
  83. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/mcdonald.py +0 -0
  84. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/mcdonald.yaml +0 -0
  85. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/metis_ifu.py +0 -0
  86. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/metis_ifu.yaml +0 -0
  87. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/metis_lss.py +0 -0
  88. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/metis_lss.yaml +0 -0
  89. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/micado.py +0 -0
  90. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/micado.yaml +0 -0
  91. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/models.py +0 -0
  92. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/neid.py +0 -0
  93. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/neid.yaml +0 -0
  94. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/nirspec.py +0 -0
  95. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/nirspec.yaml +0 -0
  96. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/nte.py +0 -0
  97. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/nte.yaml +0 -0
  98. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/uves.py +0 -0
  99. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/uves.yaml +0 -0
  100. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/xshooter.py +0 -0
  101. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/instruments/xshooter.yaml +0 -0
  102. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/make_shear.py +0 -0
  103. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_crires_plus_det1.fits.gz +0 -0
  104. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_crires_plus_det2.fits.gz +0 -0
  105. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_crires_plus_det3.fits.gz +0 -0
  106. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_ctio_chiron.fits.gz +0 -0
  107. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_elodie.fits.gz +0 -0
  108. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_feros3.fits.gz +0 -0
  109. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_flames_giraffe.fits.gz +0 -0
  110. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_harps_blue.fits.gz +0 -0
  111. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_harps_red.fits.gz +0 -0
  112. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_hds_blue.fits.gz +0 -0
  113. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_hds_red.fits.gz +0 -0
  114. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_het_hrs_2x5.fits.gz +0 -0
  115. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_jwst_miri_lrs_slitless.fits.gz +0 -0
  116. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_jwst_niriss_gr700xd.fits.gz +0 -0
  117. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_lick_apf_.fits.gz +0 -0
  118. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_mcdonald.fits.gz +0 -0
  119. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_nes.fits.gz +0 -0
  120. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_nirspec_nirspec.fits.gz +0 -0
  121. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_sarg.fits.gz +0 -0
  122. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_sarg_2x2a.fits.gz +0 -0
  123. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_sarg_2x2b.fits.gz +0 -0
  124. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_subaru_hds_red.fits.gz +0 -0
  125. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_blue.fits.gz +0 -0
  126. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_blue_binned_2_2.fits.gz +0 -0
  127. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_middle.fits.gz +0 -0
  128. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_middle_2x2_split.fits.gz +0 -0
  129. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_middle_binned_2_2.fits.gz +0 -0
  130. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_red.fits.gz +0 -0
  131. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_red_2x2.fits.gz +0 -0
  132. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_red_2x2_split.fits.gz +0 -0
  133. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_uves_red_binned_2_2.fits.gz +0 -0
  134. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/masks/mask_xshooter_nir.fits.gz +0 -0
  135. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/pipeline.py +0 -0
  136. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/rectify.py +0 -0
  137. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/reduce.py +0 -0
  138. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_AJ.json +0 -0
  139. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_ANDES.json +0 -0
  140. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_CRIRES_PLUS.json +0 -0
  141. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_HARPN.json +0 -0
  142. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_HARPS.json +0 -0
  143. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_JWST_MIRI.json +0 -0
  144. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_JWST_NIRISS.json +0 -0
  145. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_LICK_APF.json +0 -0
  146. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_MCDONALD.json +0 -0
  147. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_METIS_IFU.json +0 -0
  148. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_METIS_LSS.json +0 -0
  149. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_MICADO.json +0 -0
  150. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_NEID.json +0 -0
  151. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_NIRSPEC.json +0 -0
  152. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_NTE.json +0 -0
  153. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_UVES.json +0 -0
  154. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_XSHOOTER.json +0 -0
  155. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_pyreduce.json +0 -0
  156. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/settings/settings_schema.json +0 -0
  157. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/tools/__init__.py +0 -0
  158. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/tools/combine.py +0 -0
  159. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/trace.py +0 -0
  160. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/util.py +0 -0
  161. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/MICADO_HK_3arcsec_chip5.npz +0 -0
  162. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/atlas/thar.fits +0 -0
  163. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/atlas/thar_list.txt +0 -0
  164. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/atlas/une.fits +0 -0
  165. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/convert.py +0 -0
  166. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/crires_plus_J1228_Open_det1.npz +0 -0
  167. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/crires_plus_J1228_Open_det2.npz +0 -0
  168. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/crires_plus_J1228_Open_det3.npz +0 -0
  169. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/harpn_harpn_2D.npz +0 -0
  170. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/harps_blue_2D.npz +0 -0
  171. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/harps_blue_pol_2D.npz +0 -0
  172. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/harps_red_2D.npz +0 -0
  173. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/harps_red_pol_2D.npz +0 -0
  174. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/mcdonald.npz +0 -0
  175. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/metis_lss_l_2D.npz +0 -0
  176. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/metis_lss_m_2D.npz +0 -0
  177. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/nirspec_K2.npz +0 -0
  178. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_blue_360nm_2D.npz +0 -0
  179. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_blue_390nm_2D.npz +0 -0
  180. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_blue_437nm_2D.npz +0 -0
  181. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_2x2_2D.npz +0 -0
  182. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_565nm_2D.npz +0 -0
  183. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_580nm_2D.npz +0 -0
  184. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_600nm_2D.npz +0 -0
  185. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_665nm_2D.npz +0 -0
  186. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_middle_860nm_2D.npz +0 -0
  187. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_red_580nm_2D.npz +0 -0
  188. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_red_600nm_2D.npz +0 -0
  189. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_red_665nm_2D.npz +0 -0
  190. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_red_760nm_2D.npz +0 -0
  191. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/uves_red_860nm_2D.npz +0 -0
  192. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavecal/xshooter_nir.npz +0 -0
  193. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/pyreduce/wavelength_calibration.py +0 -0
  194. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/argon.line +0 -0
  195. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/bpm_creator.py +0 -0
  196. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/create_wavelength_guess.py +0 -0
  197. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/download_files.py +0 -0
  198. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/neon.lin +0 -0
  199. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/neon.line +0 -0
  200. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/pymultispec.py +0 -0
  201. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/thar.npz +0 -0
  202. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/wavecal_creator.py +0 -0
  203. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/wavecal_creator_from_existing.py +0 -0
  204. {pyreduce_astro-0.7a3 → pyreduce_astro-0.7a4}/tools/xshooter_nir.json +0 -0
@@ -1,6 +1,12 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ ## [0.7a4] - 2025-12-23
5
+
6
+ ### Added
7
+ - `reduce examples --run` flag to download and execute examples directly
8
+ - PEP 723 inline metadata in examples for `uv run` compatibility
9
+
4
10
  ## [0.7a3] - 2025-12-23
5
11
 
6
12
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyreduce-astro
3
- Version: 0.7a3
3
+ Version: 0.7a4
4
4
  Summary: A data reduction package for echelle spectrographs
5
5
  Project-URL: Homepage, https://github.com/ivh/PyReduce
6
6
  Project-URL: Documentation, https://pyreduce-astro.readthedocs.io
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  AJ instrument example: Fiber bundle tracing with direct function calls.
3
7
 
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a CRIRES+ dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample UVES dataset, and runs the full extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a HARPS-N dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample HARPS dataset, and runs the full extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  import os.path
2
6
 
3
7
  import matplotlib.pyplot as plt
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  import matplotlib.pyplot as plt
2
6
  import numpy as np
3
7
  from astropy.io import fits
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a JWST MIRI dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample JWST NIRISS dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a Lick APF dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a McDonald Observatory dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a simulated METIS dataset, and runs the full extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a simulated METIS dataset, and runs the full extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a ScopeSim simulated MICADO dataset (with updated spectral layout and updated line lists), and runs the full extraction.
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a NEID dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample NIRSPEC dataset, and runs the extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  import numpy as np
2
6
 
3
7
  from pyreduce.configuration import get_configuration_for_instrument
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Example showing direct function calls for each step.
3
7
 
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample UVES dataset, and runs the full extraction
@@ -1,3 +1,7 @@
1
+ # /// script
2
+ # requires-python = ">=3.13"
3
+ # dependencies = ["pyreduce-astro>=0.7"]
4
+ # ///
1
5
  """
2
6
  Simple usage example for PyReduce
3
7
  Loads a sample XSHOOTER dataset, and runs the extraction
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyreduce-astro"
3
- version = "0.7a3"
3
+ version = "0.7a4"
4
4
  requires-python = ">=3.11"
5
5
  description = "A data reduction package for echelle spectrographs"
6
6
  readme = "README.md"
@@ -161,20 +161,25 @@ def download(instrument):
161
161
  "--list", "-l", "list_examples", is_flag=True, help="List available examples"
162
162
  )
163
163
  @click.option("--all", "-a", "download_all", is_flag=True, help="Download all examples")
164
+ @click.option("--run", "-r", is_flag=True, help="Run the example after downloading")
164
165
  @click.option("--output", "-o", default=".", help="Output directory")
165
- def examples(filename, list_examples, download_all, output):
166
- """List or download example scripts from GitHub.
166
+ def examples(filename, list_examples, download_all, run, output):
167
+ """List, download, or run example scripts from GitHub.
167
168
 
168
169
  Downloads examples matching your installed PyReduce version.
169
170
 
170
171
  \b
171
172
  Examples:
172
- reduce examples # List available examples
173
- reduce examples uves_example.py # Download to current dir
174
- reduce examples --all -o ~/scripts # Download all to ~/scripts
173
+ reduce examples # List available examples
174
+ reduce examples uves_example.py # Download to current dir
175
+ reduce examples -r uves_example.py # Download and run
176
+ reduce examples --all -o ~/scripts # Download all to ~/scripts
175
177
  """
176
178
  import json
177
179
  import os
180
+ import subprocess
181
+ import sys
182
+ import tempfile
178
183
  import urllib.request
179
184
  from urllib.error import HTTPError
180
185
 
@@ -212,6 +217,32 @@ def examples(filename, list_examples, download_all, output):
212
217
  click.echo(f" {name}")
213
218
  return
214
219
 
220
+ if run and download_all:
221
+ raise click.ClickException("Cannot use --run with --all")
222
+
223
+ # Run mode: download to temp and execute
224
+ if run:
225
+ if filename not in example_files:
226
+ raise click.ClickException(
227
+ f"Unknown example '{filename}'. Use 'reduce examples --list' to see available."
228
+ )
229
+ url = f"{github_raw}/{filename}"
230
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".py", delete=False) as f:
231
+ try:
232
+ with urllib.request.urlopen(url) as resp:
233
+ f.write(resp.read().decode())
234
+ temp_path = f.name
235
+ except HTTPError as e:
236
+ raise click.ClickException(
237
+ f"Failed to download {filename}: {e}"
238
+ ) from None
239
+ try:
240
+ click.echo(f"Running {filename}...")
241
+ result = subprocess.run([sys.executable, temp_path], check=False)
242
+ sys.exit(result.returncode)
243
+ finally:
244
+ os.unlink(temp_path)
245
+
215
246
  # Ensure output directory exists
216
247
  os.makedirs(output, exist_ok=True)
217
248
 
@@ -1456,7 +1456,7 @@ wheels = [
1456
1456
 
1457
1457
  [[package]]
1458
1458
  name = "pyreduce-astro"
1459
- version = "0.7a3"
1459
+ version = "0.7a4"
1460
1460
  source = { editable = "." }
1461
1461
  dependencies = [
1462
1462
  { name = "astropy" },
File without changes
File without changes
File without changes
File without changes
File without changes