pyuvdata 3.2.4__tar.gz → 3.2.5__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 (281) hide show
  1. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/workflows/publish-to-test-pypi.yaml +2 -2
  2. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.pre-commit-config.yaml +2 -2
  3. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/CHANGELOG.md +22 -0
  4. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/PKG-INFO +2 -2
  5. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/azure-piplines.yml +1 -2
  6. pyuvdata-3.2.5/docs/Images/hera_efield_phase.png +0 -0
  7. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/pyproject.toml +1 -1
  8. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/analytic_beam.py +7 -0
  9. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/array_collapse.py +14 -0
  10. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/coordinates.c +8554 -8804
  11. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/phasing.c +8261 -8372
  12. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/plotting.py +281 -125
  13. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/pol.py +1 -1
  14. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/uvcalibrate.py +75 -54
  15. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/beamfits.py +29 -8
  16. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/uvbeam.c +8272 -8387
  17. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/uvbeam.py +8 -1
  18. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/corr_fits.c +8541 -8744
  19. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/mwa_corr_fits.py +36 -1
  20. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/miriad_wrap.cpp +7480 -7654
  21. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/uvdata.py +31 -12
  22. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata.egg-info/PKG-INFO +2 -2
  23. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata.egg-info/SOURCES.txt +1 -0
  24. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata.egg-info/requires.txt +1 -1
  25. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/conftest.py +1 -0
  26. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_analytic_beam.py +26 -7
  27. pyuvdata-3.2.5/tests/utils/test_plotting.py +82 -0
  28. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_uvcalibrate.py +80 -33
  29. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_beamfits.py +53 -2
  30. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_uvbeam.py +27 -9
  31. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_ms.py +34 -2
  32. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_mwa_corr_fits.py +51 -0
  33. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_uvdata.py +4 -1
  34. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvflag/test_uvflag.py +8 -0
  35. pyuvdata-3.2.4/docs/Images/hera_efield_phase.png +0 -0
  36. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.circleci/config.yml +0 -0
  37. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.codecov.yml +0 -0
  38. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.coveragerc +0 -0
  39. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/CITATION.cff +0 -0
  40. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/CONTRIBUTING.md +0 -0
  41. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  42. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/workflows/macosx_windows_ci.yaml +0 -0
  43. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/workflows/numba_test.yaml +0 -0
  44. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.github/workflows/warning_test.yaml +0 -0
  45. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.gitignore +0 -0
  46. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/.readthedocs.yml +0 -0
  47. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/CODE_OF_CONDUCT.md +0 -0
  48. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/LICENSE +0 -0
  49. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/README.md +0 -0
  50. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/_activate_current_env.sh +0 -0
  51. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/pyuvdata_min_deps_tests.yml +0 -0
  52. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/pyuvdata_min_versions_tests.yml +0 -0
  53. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/pyuvdata_tests.yml +0 -0
  54. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/pyuvdata_tests_mac_arm.yml +0 -0
  55. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/pyuvdata_tests_windows.yml +0 -0
  56. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/ci/test_requirements.txt +0 -0
  57. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/abs_gains.png +0 -0
  58. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/airy_beam_100MHz.png +0 -0
  59. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/airy_beam_200MHz.png +0 -0
  60. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/amplitude_waterfall.png +0 -0
  61. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/amplitude_waterfall_spw0.png +0 -0
  62. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/beam_coordinate_figure.png +0 -0
  63. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/dipole_mwa_power.png +0 -0
  64. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/efield_power_beam_cut.png +0 -0
  65. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/hera_efield.png +0 -0
  66. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/hera_efield_zoom.png +0 -0
  67. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/hera_power_healpix_zoom.png +0 -0
  68. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/hera_power_zoom.png +0 -0
  69. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/hera_pstokes.png +0 -0
  70. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/mwa_off_zenith_power.png +0 -0
  71. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/mwa_zenith_cross_power.png +0 -0
  72. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/mwa_zenith_efield.png +0 -0
  73. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/mwa_zenith_efield_abs.png +0 -0
  74. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/mwa_zenith_power.png +0 -0
  75. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/select_beam_cut.png +0 -0
  76. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Images/short_dipole_beam.png +0 -0
  77. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/Makefile +0 -0
  78. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/_templates/breadcrumbs.html +0 -0
  79. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/analytic_beam_tutorial.rst +0 -0
  80. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/analytic_beams.rst +0 -0
  81. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/beam_interface.rst +0 -0
  82. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/beam_interface_tutorial.rst +0 -0
  83. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/conf.py +0 -0
  84. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/conftest.py +0 -0
  85. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/conventions.rst +0 -0
  86. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/cst_settings_yaml.rst +0 -0
  87. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/developer_docs.rst +0 -0
  88. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/fast_calh5_meta.rst +0 -0
  89. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/fast_uvh5_meta.rst +0 -0
  90. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_index.py +0 -0
  91. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_telescope.py +0 -0
  92. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_uvbeam.py +0 -0
  93. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_uvcal.py +0 -0
  94. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_uvdata.py +0 -0
  95. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/make_uvflag.py +0 -0
  96. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/AIPSMEM117.PDF +0 -0
  97. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/Far_field_spherical_FEKO_draft2.pdf +0 -0
  98. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/GPS.G1-X-00006_Datum_Transformations.pdf +0 -0
  99. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/aasjournal.bst +0 -0
  100. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/app_icrs_frame_comp.png +0 -0
  101. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/beamfits_memo.pdf +0 -0
  102. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/beamfits_memo.tex +0 -0
  103. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/calfits_memo.pdf +0 -0
  104. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/calfits_memo.tex +0 -0
  105. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/calh5.pdf +0 -0
  106. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/calh5.tex +0 -0
  107. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/making_release.md +0 -0
  108. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/miriad-uvvars.pdf +0 -0
  109. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/ncp_icrs_app.png +0 -0
  110. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/phasing.bib +0 -0
  111. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/phasing.pdf +0 -0
  112. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/phasing.tex +0 -0
  113. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/simple_interferometer.png +0 -0
  114. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/uvh5_diagram.pdf +0 -0
  115. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/uvh5_memo.pdf +0 -0
  116. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/references/uvh5_memo.tex +0 -0
  117. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/requirements.txt +0 -0
  118. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/tutorial.rst +0 -0
  119. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/tutorial_data_note.rst +0 -0
  120. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/utility_functions.rst +0 -0
  121. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/uvbeam_tutorial.rst +0 -0
  122. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/uvcal_tutorial.rst +0 -0
  123. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/docs/uvdata_tutorial.rst +0 -0
  124. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/environment.yaml +0 -0
  125. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/paper.bib +0 -0
  126. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/paper.md +0 -0
  127. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/check_uvfits_equal.py +0 -0
  128. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/convert_to_uvfits.py +0 -0
  129. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/fhd_batch_convert.py +0 -0
  130. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/make_bad_fhd_files.pro +0 -0
  131. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/pyuvdata_inspect.py +0 -0
  132. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/readwrite_uvfits.py +0 -0
  133. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/renumber_ants.py +0 -0
  134. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/test_cover_noinstall.sh +0 -0
  135. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/test_coverage.sh +0 -0
  136. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/truncate_fhd_files.pro +0 -0
  137. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/scripts/uvfits_memtest.py +0 -0
  138. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/setup.cfg +0 -0
  139. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/setup.py +0 -0
  140. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/__init__.py +0 -0
  141. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/beam_interface.py +0 -0
  142. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/README.md +0 -0
  143. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/__init__.py +0 -0
  144. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/hera_ant_pos.csv +0 -0
  145. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/jpl_major_bodies.json +0 -0
  146. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa128_ant_layouts.npz +0 -0
  147. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_ant_pos.csv +0 -0
  148. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/Chebychev_coeff.h5 +0 -0
  149. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/MWA_rev_cb_10khz_doubles.h5 +0 -0
  150. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/MWA_rev_cb_10khz_doubles.txt +0 -0
  151. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/mwax_pfb_bandpass_40kHz.h5 +0 -0
  152. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/mwax_pfb_bandpass_80kHz.h5 +0 -0
  153. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/mwa_config_data/sigma1.h5 +0 -0
  154. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/test_analytic_beam.py +0 -0
  155. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/test_data.yaml +0 -0
  156. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/data/test_data_registry.txt +0 -0
  157. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/datasets.py +0 -0
  158. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/docstrings.py +0 -0
  159. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/parameter.py +0 -0
  160. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/telescopes.py +0 -0
  161. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/testing/__init__.py +0 -0
  162. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/testing/warning_check.py +0 -0
  163. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/__init__.py +0 -0
  164. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/antenna.py +0 -0
  165. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/apply_uvflag.py +0 -0
  166. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/bls.py +0 -0
  167. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/bls_numba.py +0 -0
  168. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/bltaxis.py +0 -0
  169. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/coordinates.py +0 -0
  170. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/coordinates.pyx +0 -0
  171. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/frequency.py +0 -0
  172. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/history.py +0 -0
  173. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/__init__.py +0 -0
  174. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/antpos.py +0 -0
  175. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/fhd.py +0 -0
  176. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/fits.py +0 -0
  177. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/hdf5.py +0 -0
  178. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/io/ms.py +0 -0
  179. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/phase_center_catalog.py +0 -0
  180. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/phasing.py +0 -0
  181. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/phasing.pyx +0 -0
  182. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/redundancy.py +0 -0
  183. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/times.py +0 -0
  184. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/tools.py +0 -0
  185. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/utils/types.py +0 -0
  186. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbase.py +0 -0
  187. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/__init__.py +0 -0
  188. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/cst_beam.py +0 -0
  189. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/feko_beam.py +0 -0
  190. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/initializers.py +0 -0
  191. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/mwa_beam.py +0 -0
  192. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvbeam/uvbeam.pyx +0 -0
  193. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/__init__.py +0 -0
  194. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/calfits.py +0 -0
  195. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/calh5.py +0 -0
  196. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/fhd_cal.py +0 -0
  197. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/initializers.py +0 -0
  198. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/ms_cal.py +0 -0
  199. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvcal/uvcal.py +0 -0
  200. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/__init__.py +0 -0
  201. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/aipy_extracts.py +0 -0
  202. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/corr_fits.pyx +0 -0
  203. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/fhd.py +0 -0
  204. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/initializers.py +0 -0
  205. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/mir.py +0 -0
  206. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/mir_meta_data.py +0 -0
  207. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/mir_parser.py +0 -0
  208. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/miriad.py +0 -0
  209. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/ms.py +0 -0
  210. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/aipy_compat.h +0 -0
  211. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/bug.c +0 -0
  212. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/dio.c +0 -0
  213. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/headio.c +0 -0
  214. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/hio.c +0 -0
  215. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/hio.h +0 -0
  216. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/io.h +0 -0
  217. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/maskio.c +0 -0
  218. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/maxdimc.h +0 -0
  219. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/miriad.h +0 -0
  220. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/miriad_wrap.h +0 -0
  221. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/miriad_wrap.pyx +0 -0
  222. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/pack.c +0 -0
  223. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/sysdep.h +0 -0
  224. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/src/uvio.c +0 -0
  225. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/uvfits.py +0 -0
  226. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvdata/uvh5.py +0 -0
  227. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvflag/__init__.py +0 -0
  228. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata/uvflag/uvflag.py +0 -0
  229. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata.egg-info/dependency_links.txt +0 -0
  230. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/src/pyuvdata.egg-info/top_level.txt +0 -0
  231. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/__init__.py +0 -0
  232. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_beam_interface.py +0 -0
  233. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_docstrings.py +0 -0
  234. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_parameter.py +0 -0
  235. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_telescopes.py +0 -0
  236. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_uvbase.py +0 -0
  237. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/test_warning_check.py +0 -0
  238. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/__init__.py +0 -0
  239. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/conftest.py +0 -0
  240. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/io/__init__.py +0 -0
  241. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/io/test_hdf5.py +0 -0
  242. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/io/test_ms.py +0 -0
  243. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_apply_uvflag.py +0 -0
  244. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_array_collapse.py +0 -0
  245. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_bls.py +0 -0
  246. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_bls_numba.py +0 -0
  247. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_bltaxis.py +0 -0
  248. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_coordinates.py +0 -0
  249. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_phase_center_catalog.py +0 -0
  250. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_phasing.py +0 -0
  251. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_pol.py +0 -0
  252. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_redundancy.py +0 -0
  253. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_times.py +0 -0
  254. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/utils/test_tools.py +0 -0
  255. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/__init__.py +0 -0
  256. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/conftest.py +0 -0
  257. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_cst_beam.py +0 -0
  258. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_feko_beam.py +0 -0
  259. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_initializers.py +0 -0
  260. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvbeam/test_mwa_beam.py +0 -0
  261. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/__init__.py +0 -0
  262. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/conftest.py +0 -0
  263. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_calfits.py +0 -0
  264. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_calh5.py +0 -0
  265. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_fhd_cal.py +0 -0
  266. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_initializers.py +0 -0
  267. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_ms_cal.py +0 -0
  268. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvcal/test_uvcal.py +0 -0
  269. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/__init__.py +0 -0
  270. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/conftest.py +0 -0
  271. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_aipy_extracts.py +0 -0
  272. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_fhd.py +0 -0
  273. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_import_errors.py +0 -0
  274. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_initializers.py +0 -0
  275. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_mir.py +0 -0
  276. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_mir_meta_data.py +0 -0
  277. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_mir_parser.py +0 -0
  278. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_miriad.py +0 -0
  279. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_uvfits.py +0 -0
  280. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvdata/test_uvh5.py +0 -0
  281. {pyuvdata-3.2.4 → pyuvdata-3.2.5}/tests/uvflag/__init__.py +0 -0
@@ -19,7 +19,7 @@ jobs:
19
19
  matrix:
20
20
  buildplat:
21
21
  - [ubuntu-latest, manylinux, x86_64]
22
- - [macos-13, macosx, x86_64]
22
+ - [macos-15-intel, macosx, x86_64]
23
23
  - [macos-latest, macosx, arm64]
24
24
  - [windows-latest, win, AMD64]
25
25
  python: ["cp311", "cp312", "cp313"]
@@ -29,7 +29,7 @@ jobs:
29
29
  fetch-depth: 0
30
30
 
31
31
  - name: Build wheels
32
- uses: pypa/cibuildwheel@v2.23
32
+ uses: pypa/cibuildwheel@v3.3
33
33
  env:
34
34
  CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}*
35
35
  CIBW_ARCHS: ${{ matrix.buildplat[2] }}
@@ -17,13 +17,13 @@ repos:
17
17
  args: ['--fix=no']
18
18
 
19
19
  - repo: https://github.com/astral-sh/ruff-pre-commit
20
- rev: v0.12.12
20
+ rev: v0.14.8
21
21
  hooks:
22
22
  - id: ruff
23
23
  - id: ruff-format
24
24
 
25
25
  - repo: https://github.com/PyCQA/bandit
26
- rev: 1.8.6
26
+ rev: 1.9.2
27
27
  hooks:
28
28
  - id: bandit
29
29
  args: ["-c", "pyproject.toml", "--recursive"]
@@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  ## [Unreleased]
5
5
 
6
+ ## [3.2.5] - 2025-12-11
7
+
8
+ ### Changed
9
+ - Added a `UVData.flip_conjugation` method and more detail to the uvw check warning
10
+ message to inform users when a conjugation flip might be needed.
11
+ - When reading MWAX correlator files , `remove_coarse_band` now defaults to
12
+ `False` if DERIPPLE is on. Otherwise it defaults to `True`.
13
+ - If the user has set `remove_coarse_band=True` when DERIPPLE is on, a warning is
14
+ raised, and no pfb shape is removed.
15
+
16
+ ### Added
17
+ - Support for wide-band `UVCal` gain objects with `uvcalibrate`.
18
+ - A colormap option to the UVBeam and AnalyticBeam `plot` methods, along with
19
+ better default colormaps for phase.
20
+ - A NotImplementedError to `mwa_corr_fits.py` that is thrown when trying to read
21
+ fringe-stopped data.
22
+
23
+ ### Fixed
24
+ - A backwards compatibiilty issue with feed arrays in old beamfits files which
25
+ could specify feeds as "e" or "n".
26
+ - Compatiblity with numpy>=2.3
27
+
6
28
  ## [3.2.4] - 2025-09-15
7
29
 
8
30
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyuvdata
3
- Version: 3.2.4
3
+ Version: 3.2.5
4
4
  Summary: A pythonic interface for radio astronomy interferometry data
5
5
  Author-email: Bryna Hazelton <brynah@phys.washington.edu>, Adam Beardsley <adam.beardsley@winona.edu>, Daniel Jacobs <daniel.c.jacobs@gmail.com>, Garrett Keating <garrett.keating@cfa.harvard.edu>, Nicholas Kern <nkern@mit.edu>, Matthew Kolopanis <matthew.kolopanis@gmail.com>, Adam Lanman <alanman@mit.edu>, Paul La Plante <paul.laplante@unlv.edu>, Steven Murray <murray.steveng@gmail.com>, Jonathan Pober <jonathan_pober@brown.edu>, Pyxie Star <pyxiestar@gmail.com>
6
6
  Maintainer-email: Bryna Hazelton <brynah@phys.washington.edu>, Matthew Kolopanis <matthew.kolopanis@gmail.com>, Garrett Keating <garrett.keating@cfa.harvard.edu>, Steven Murray <murray.steveng@gmail.com>
@@ -20,7 +20,7 @@ License-File: LICENSE
20
20
  Requires-Dist: astropy>=6.0
21
21
  Requires-Dist: docstring-parser>=0.15
22
22
  Requires-Dist: h5py>=3.7
23
- Requires-Dist: numba>=0.57.0
23
+ Requires-Dist: numba<0.63,>=0.57.0
24
24
  Requires-Dist: numpy>=1.23
25
25
  Requires-Dist: pyerfa>=2.0.1.1
26
26
  Requires-Dist: pyyaml>=5.4.1
@@ -95,9 +95,8 @@ jobs:
95
95
  - bash: |
96
96
  micromamba info
97
97
  # need to add gxx and gcc to build novas and cython
98
- # numba should be removed after next pyuvdata release (>3.2.1)
99
98
  # note different spelling of yaml extension
100
- micromamba create --name=${ENV_NAME} python=$PYTHON gxx gcc numba -f ../$(NAME)/ci/${ENV_NAME}.yaml -yq
99
+ micromamba create --name=${ENV_NAME} python=$PYTHON gxx gcc -f ../$(NAME)/ci/${ENV_NAME}.yaml -yq
101
100
  displayName: configure conda environment
102
101
 
103
102
  - bash: |
@@ -34,7 +34,7 @@ dependencies = [
34
34
  "astropy>=6.0",
35
35
  "docstring-parser>=0.15",
36
36
  "h5py>=3.7",
37
- "numba>=0.57.0",
37
+ "numba>=0.57.0,<0.63", # 0.63+ have no wheels for intel macs (conda builds are available)
38
38
  "numpy>=1.23",
39
39
  "pyerfa>=2.0.1.1",
40
40
  "pyyaml>=5.4.1",
@@ -646,6 +646,7 @@ class AnalyticBeam:
646
646
  beam_type: str,
647
647
  freq: float,
648
648
  complex_type: str = "real",
649
+ colormap: str | None = None,
649
650
  logcolor: bool | None = None,
650
651
  plt_kwargs: dict | None = None,
651
652
  norm_kwargs: dict | None = None,
@@ -666,6 +667,11 @@ class AnalyticBeam:
666
667
  What to plot for complex beams, options are: [real, imag, abs, phase].
667
668
  Defaults to "real" for complex beams. Ignored for real beams
668
669
  (i.e. power beams, same feed).
670
+ colormap : str, optional
671
+ Matplotlib colormap to use. Defaults to "twlight" if complex_type="phase"
672
+ and logcolor=False, otherwise it defaults to "viridis" if the data to be
673
+ plotted is positive definite (e.g. if complex_type="abs") and "PRGn"
674
+ otherwise.
669
675
  logcolor : bool, optional
670
676
  Option to use log scaling for the color. Defaults to True for power
671
677
  beams and False for E-field beams. Results in using
@@ -690,6 +696,7 @@ class AnalyticBeam:
690
696
  beam_type=beam_type,
691
697
  freq=freq,
692
698
  complex_type=complex_type,
699
+ colormap=colormap,
693
700
  logcolor=logcolor,
694
701
  plt_kwargs=plt_kwargs,
695
702
  norm_kwargs=norm_kwargs,
@@ -14,6 +14,8 @@ def mean_collapse(
14
14
  """
15
15
  Collapse by averaging data.
16
16
 
17
+ Bools are cast to integers prior to calculations.
18
+
17
19
  This is similar to np.average, except it handles infs (by giving them
18
20
  zero weight) and zero weight axes (by forcing result to be inf with zero
19
21
  output weight).
@@ -34,6 +36,8 @@ def mean_collapse(
34
36
 
35
37
  """
36
38
  arr = deepcopy(arr) # avoid changing outside
39
+ if isinstance(arr.item(0), bool):
40
+ arr = arr.astype(int)
37
41
  if weights is None:
38
42
  weights = np.ones_like(arr)
39
43
  else:
@@ -64,6 +68,8 @@ def absmean_collapse(
64
68
  """
65
69
  Collapse by averaging absolute value of data.
66
70
 
71
+ Bools are cast to integers prior to calculations.
72
+
67
73
  Parameters
68
74
  ----------
69
75
  arr : array
@@ -79,6 +85,9 @@ def absmean_collapse(
79
85
  whether to return the sum of the squares of the weights. Default is False.
80
86
 
81
87
  """
88
+ arr = deepcopy(arr) # avoid changing outside
89
+ if isinstance(arr.item(0), bool):
90
+ arr = arr.astype(int)
82
91
  return mean_collapse(
83
92
  np.abs(arr),
84
93
  weights=weights,
@@ -94,6 +103,8 @@ def quadmean_collapse(
94
103
  """
95
104
  Collapse by averaging in quadrature.
96
105
 
106
+ Bools are cast to integers prior to calculations.
107
+
97
108
  Parameters
98
109
  ----------
99
110
  arr : array
@@ -109,6 +120,9 @@ def quadmean_collapse(
109
120
  whether to return the sum of the squares of the weights. Default is False.
110
121
 
111
122
  """
123
+ arr = deepcopy(arr) # avoid changing outside
124
+ if isinstance(arr.item(0), bool):
125
+ arr = arr.astype(int)
112
126
  out = mean_collapse(
113
127
  np.abs(arr) ** 2,
114
128
  weights=weights,