autoarray 2026.5.1.4__tar.gz → 2026.5.8.2__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 (249) hide show
  1. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/MANIFEST.in +1 -1
  2. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/PKG-INFO +4 -3
  3. autoarray-2026.5.1.4/README.rst → autoarray-2026.5.8.2/README.md +3 -2
  4. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/__init__.py +1 -1
  5. autoarray-2026.5.8.2/autoarray/config/README.md +13 -0
  6. autoarray-2026.5.8.2/autoarray/config/visualize/README.md +10 -0
  7. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/dataset.py +4 -0
  8. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/inversion_imaging_numba_util.py +18 -3
  9. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/inversion_plots.py +12 -2
  10. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/output.py +5 -5
  11. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/utils.py +6 -5
  12. autoarray-2026.5.8.2/autoarray/util/dataset_util.py +73 -0
  13. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray.egg-info/SOURCES.txt +4 -4
  14. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/conf.py +4 -3
  15. autoarray-2026.5.8.2/docs/index.md +2 -0
  16. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/pyproject.toml +2 -2
  17. autoarray-2026.5.1.4/autoarray/config/README.rst +0 -16
  18. autoarray-2026.5.1.4/autoarray/config/visualize/README.rst +0 -11
  19. autoarray-2026.5.1.4/autoarray/util/dataset_util.py +0 -24
  20. autoarray-2026.5.1.4/docs/index.rst +0 -1
  21. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  22. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  23. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/copilot-instructions.md +0 -0
  24. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/.github/workflows/main.yml +0 -0
  25. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/AGENTS.md +0 -0
  26. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/CLAUDE.md +0 -0
  27. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/CONTRIBUTING.md +0 -0
  28. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/LICENSE +0 -0
  29. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/PLAN.md +0 -0
  30. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/abstract_ndarray.py +0 -0
  31. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/.gitignore +0 -0
  32. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/general.yaml +0 -0
  33. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/logging.yaml +0 -0
  34. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/visualize/general.yaml +0 -0
  35. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/config/visualize/plots.yaml +0 -0
  36. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/__init__.py +0 -0
  37. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/abstract/__init__.py +0 -0
  38. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/abstract/dataset.py +0 -0
  39. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/dataset_model.py +0 -0
  40. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/grids.py +0 -0
  41. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/__init__.py +0 -0
  42. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/imaging/simulator.py +0 -0
  43. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/__init__.py +0 -0
  44. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/dataset.py +0 -0
  45. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/interferometer/simulator.py +0 -0
  46. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/mock/__init__.py +0 -0
  47. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/mock/mock_dataset.py +0 -0
  48. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/__init__.py +0 -0
  49. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/imaging_plots.py +0 -0
  50. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/plot/interferometer_plots.py +0 -0
  51. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/dataset/preprocess.py +0 -0
  52. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/exc.py +0 -0
  53. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/__init__.py +0 -0
  54. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_dataset.py +0 -0
  55. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_imaging.py +0 -0
  56. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_interferometer.py +0 -0
  57. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/fit_util.py +0 -0
  58. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/__init__.py +0 -0
  59. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/mock_fit_imaging.py +0 -0
  60. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/mock/mock_fit_interferometer.py +0 -0
  61. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/__init__.py +0 -0
  62. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/fit_imaging_plots.py +0 -0
  63. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fit/plot/fit_interferometer_plots.py +0 -0
  64. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/fixtures.py +0 -0
  65. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/__init__.py +0 -0
  66. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/abstract_2d.py +0 -0
  67. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_1d.py +0 -0
  68. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_2d.py +0 -0
  69. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_2d_irregular.py +0 -0
  70. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/geometry/geometry_util.py +0 -0
  71. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/__init__.py +0 -0
  72. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/__init__.py +0 -0
  73. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/abstract.py +0 -0
  74. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/dataset_interface.py +0 -0
  75. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/factory.py +0 -0
  76. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/__init__.py +0 -0
  77. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/abstract.py +0 -0
  78. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/inversion_imaging_util.py +0 -0
  79. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/mapping.py +0 -0
  80. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging/sparse.py +0 -0
  81. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/__init__.py +0 -0
  82. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/imaging_numba/sparse.py +0 -0
  83. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/__init__.py +0 -0
  84. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/abstract.py +0 -0
  85. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/inversion_interferometer_util.py +0 -0
  86. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/mapping.py +0 -0
  87. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/interferometer/sparse.py +0 -0
  88. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/inversion/inversion_util.py +0 -0
  89. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/__init__.py +0 -0
  90. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/func_list.py +0 -0
  91. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/linear_obj.py +0 -0
  92. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/neighbors.py +0 -0
  93. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/linear_obj/unique_mappings.py +0 -0
  94. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/__init__.py +0 -0
  95. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/abstract.py +0 -0
  96. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/mapper_numba_util.py +0 -0
  97. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mappers/mapper_util.py +0 -0
  98. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/__init__.py +0 -0
  99. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/border_relocator.py +0 -0
  100. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/__init__.py +0 -0
  101. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/abstract.py +0 -0
  102. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/abstract_weighted.py +0 -0
  103. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/hilbert.py +0 -0
  104. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/kmeans.py +0 -0
  105. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/image_mesh/overlay.py +0 -0
  106. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/__init__.py +0 -0
  107. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/abstract.py +0 -0
  108. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/delaunay.py +0 -0
  109. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/knn.py +0 -0
  110. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular.py +0 -0
  111. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular_spline.py +0 -0
  112. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/interpolator/rectangular_uniform.py +0 -0
  113. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/__init__.py +0 -0
  114. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/abstract.py +0 -0
  115. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/delaunay.py +0 -0
  116. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/knn.py +0 -0
  117. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_adapt_density.py +0 -0
  118. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_adapt_image.py +0 -0
  119. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_spline_adapt_density.py +0 -0
  120. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_spline_adapt_image.py +0 -0
  121. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh/rectangular_uniform.py +0 -0
  122. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/__init__.py +0 -0
  123. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/abstract.py +0 -0
  124. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/delaunay.py +0 -0
  125. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mesh/mesh_geometry/rectangular.py +0 -0
  126. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/__init__.py +0 -0
  127. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_image_mesh.py +0 -0
  128. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_interpolator.py +0 -0
  129. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion.py +0 -0
  130. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion_imaging.py +0 -0
  131. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_inversion_interferometer.py +0 -0
  132. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_linear_obj.py +0 -0
  133. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_linear_obj_func_list.py +0 -0
  134. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_mapper.py +0 -0
  135. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_mesh.py +0 -0
  136. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_pixelization.py +0 -0
  137. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/mock/mock_regularization.py +0 -0
  138. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/pixelization.py +0 -0
  139. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/__init__.py +0 -0
  140. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/plot/mapper_plots.py +0 -0
  141. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/__init__.py +0 -0
  142. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/abstract.py +0 -0
  143. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt.py +0 -0
  144. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt_split.py +0 -0
  145. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/adapt_split_zeroth.py +0 -0
  146. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/brightness_zeroth.py +0 -0
  147. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant.py +0 -0
  148. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant_split.py +0 -0
  149. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/constant_zeroth.py +0 -0
  150. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/exponential_kernel.py +0 -0
  151. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/gaussian_kernel.py +0 -0
  152. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/matern_adapt_kernel.py +0 -0
  153. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/matern_kernel.py +0 -0
  154. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/regularization_util.py +0 -0
  155. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/inversion/regularization/zeroth.py +0 -0
  156. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/__init__.py +0 -0
  157. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/layout.py +0 -0
  158. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/layout_util.py +0 -0
  159. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/layout/region.py +0 -0
  160. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/__init__.py +0 -0
  161. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/abstract_mask.py +0 -0
  162. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/__init__.py +0 -0
  163. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/grid_1d.py +0 -0
  164. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/grid_2d.py +0 -0
  165. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/indexes_2d.py +0 -0
  166. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/mask_1d.py +0 -0
  167. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/mask_2d.py +0 -0
  168. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/derive/zoom_2d.py +0 -0
  169. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_1d.py +0 -0
  170. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_1d_util.py +0 -0
  171. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_2d.py +0 -0
  172. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mask_2d_util.py +0 -0
  173. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mock/__init__.py +0 -0
  174. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mask/mock/mock_mask.py +0 -0
  175. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/mock.py +0 -0
  176. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/numba_util.py +0 -0
  177. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/__init__.py +0 -0
  178. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/contour.py +0 -0
  179. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/convolver.py +0 -0
  180. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/mock/__init__.py +0 -0
  181. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/mock/mock_psf.py +0 -0
  182. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/__init__.py +0 -0
  183. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/decorator.py +0 -0
  184. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/over_sample_util.py +0 -0
  185. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/over_sampling/over_sampler.py +0 -0
  186. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/transformer.py +0 -0
  187. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/operators/transformer_util.py +0 -0
  188. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/__init__.py +0 -0
  189. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/array.py +0 -0
  190. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/grid.py +0 -0
  191. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/inversion.py +0 -0
  192. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/segmentdata.py +0 -0
  193. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/plot/yx.py +0 -0
  194. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/settings.py +0 -0
  195. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/__init__.py +0 -0
  196. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/abstract_structure.py +0 -0
  197. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/__init__.py +0 -0
  198. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/array_1d_util.py +0 -0
  199. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/array_2d_util.py +0 -0
  200. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/irregular.py +0 -0
  201. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/rgb.py +0 -0
  202. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/uniform_1d.py +0 -0
  203. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/arrays/uniform_2d.py +0 -0
  204. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/__init__.py +0 -0
  205. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/abstract.py +0 -0
  206. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_array.py +0 -0
  207. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_grid.py +0 -0
  208. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/to_vector_yx.py +0 -0
  209. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/decorators/transform.py +0 -0
  210. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/__init__.py +0 -0
  211. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/grid_1d_util.py +0 -0
  212. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/grid_2d_util.py +0 -0
  213. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/irregular_2d.py +0 -0
  214. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/sparse_2d_util.py +0 -0
  215. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/uniform_1d.py +0 -0
  216. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/grids/uniform_2d.py +0 -0
  217. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/header.py +0 -0
  218. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/__init__.py +0 -0
  219. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/mock_decorators.py +0 -0
  220. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/mock/mock_grid.py +0 -0
  221. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/plot/__init__.py +0 -0
  222. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/plot/structure_plots.py +0 -0
  223. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/__init__.py +0 -0
  224. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/abstract.py +0 -0
  225. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/array.py +0 -0
  226. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/array_np.py +0 -0
  227. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/coordinate_array.py +0 -0
  228. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/coordinate_array_np.py +0 -0
  229. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/triangles/shape.py +0 -0
  230. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/__init__.py +0 -0
  231. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/abstract.py +0 -0
  232. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/irregular.py +0 -0
  233. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/vectors/uniform.py +0 -0
  234. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/structures/visibilities.py +0 -0
  235. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/type.py +0 -0
  236. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/__init__.py +0 -0
  237. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/cholesky_funcs.py +0 -0
  238. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/fnnls.py +0 -0
  239. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/autoarray/util/misc_util.py +0 -0
  240. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/Makefile +0 -0
  241. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/docs/make.bat +0 -0
  242. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/eden.ini +0 -0
  243. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/eden.ini +0 -0
  244. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/release.sh +0 -0
  245. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/files/to_do_list +0 -0
  246. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/readthedocs.yml +0 -0
  247. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/setup.cfg +0 -0
  248. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/setup.py +0 -0
  249. {autoarray-2026.5.1.4 → autoarray-2026.5.8.2}/to_do_list +0 -0
@@ -1,6 +1,6 @@
1
1
  # MANIFEST.in
2
2
  exclude .gitignore
3
- include README.rst
3
+ include README.md
4
4
  include setup.cfg
5
5
  include CITATIONS.rst
6
6
  include LICENSE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autoarray
3
- Version: 2026.5.1.4
3
+ Version: 2026.5.8.2
4
4
  Summary: PyAuto Data Structures
5
5
  Author-email: James Nightingale <James.Nightingale@newcastle.ac.uk>, Richard Hayes <richard@rghsoftware.co.uk>
6
6
  License: MIT
@@ -16,9 +16,9 @@ Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Requires-Python: >=3.9
19
- Description-Content-Type: text/x-rst
19
+ Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: autoconf==2026.5.1.4
21
+ Requires-Dist: autoconf==2026.5.8.2
22
22
  Requires-Dist: astropy<=7.2.0,>=5.0
23
23
  Requires-Dist: decorator>=4.0.0
24
24
  Requires-Dist: dill>=0.3.1.1
@@ -44,4 +44,5 @@ Requires-Dist: pynufft==2022.2.2; extra == "dev"
44
44
  Dynamic: license-file
45
45
 
46
46
  # PyAutoArray
47
+
47
48
  A library for manipulating arrays within the PyAuto software framework
@@ -1,2 +1,3 @@
1
- # PyAutoArray
2
- A library for manipulating arrays within the PyAuto software framework
1
+ # PyAutoArray
2
+
3
+ A library for manipulating arrays within the PyAuto software framework
@@ -101,4 +101,4 @@ from autoconf.fitsable import hdu_list_for_output_from
101
101
 
102
102
  conf.instance.register(__file__)
103
103
 
104
- __version__ = "2026.5.1.4"
104
+ __version__ = "2026.5.8.2"
@@ -0,0 +1,13 @@
1
+ The `config` folder contains configuration files which customize default **PyAutoLens**.
2
+
3
+ # Folders
4
+
5
+ - `priors`: Configs defining default priors assumed on every model component and set of parameters.
6
+ - `visualize`: Configs defining what images are output by a lens model fit.
7
+
8
+ # Files
9
+
10
+ - `general.yaml`: Customizes general **PyAutoLens** settings.
11
+ - `grids.yaml`: Customize default behaviour of grids when used for calculations.
12
+ - `logging.yaml`: Customizes the logging behaviour.
13
+ - `notation.yaml`: Configs defining labels and formatting of model parameters when used for visualization.
@@ -0,0 +1,10 @@
1
+ The `config` folder contains configuration files which customize default **PyAutoLens**.
2
+
3
+ # Files
4
+
5
+ - `general.yaml`: Customizes general visualization settings (e.g. the matplotlib backend).
6
+ - `include.yaml`: Customize features that appears on plotted images by default (e.g. a mask, a grid).
7
+ - `plots.yaml`: Customize which figures are output during a model-fit.
8
+ - `mat_wrap.yaml`: Specify the default matplotlib settings when figures and subplots are plotted.
9
+ - `mat_wrap_1d.yaml`: Specify the default matplotlib settings when 1D figures and subplots are plotted.
10
+ - `mat_wrap_2d.yaml`: Specify the default matplotlib settings when 2D figures and subplots are plotted.
@@ -203,13 +203,17 @@ class Imaging(AbstractDataset):
203
203
  passed into the calculations performed in the `inversion` module.
204
204
  """
205
205
 
206
+ from autoarray.util.dataset_util import cap_array_2d_for_small_datasets
207
+
206
208
  data = Array2D.from_fits(
207
209
  file_path=data_path, hdu=data_hdu, pixel_scales=pixel_scales
208
210
  )
211
+ data, pixel_scales = cap_array_2d_for_small_datasets(data, pixel_scales)
209
212
 
210
213
  noise_map = Array2D.from_fits(
211
214
  file_path=noise_map_path, hdu=noise_map_hdu, pixel_scales=pixel_scales
212
215
  )
216
+ noise_map, pixel_scales = cap_array_2d_for_small_datasets(noise_map, pixel_scales)
213
217
 
214
218
  if psf_path is not None:
215
219
  kernel = Array2D.from_fits(
@@ -310,9 +310,24 @@ def psf_precision_value_from(
310
310
 
311
311
  for k0_y in range(kernel_native.shape[0]):
312
312
  for k0_x in range(kernel_native.shape[1]):
313
- value = value_native[
314
- ip0_y + k0_y + kernel_shift_y, ip0_x + k0_x + kernel_shift_x
315
- ]
313
+ iy = ip0_y + k0_y + kernel_shift_y
314
+ ix = ip0_x + k0_x + kernel_shift_x
315
+
316
+ # numba @jit() does not bounds-check array reads. Without this
317
+ # guard, a kernel position that lands off the noise-map array
318
+ # (e.g. a mask pixel within `kernel_shift` of the array edge)
319
+ # silently reads uninitialized memory, producing astronomical
320
+ # or non-finite contributions that poison the entire
321
+ # psf_precision_operator and downstream curvature matrix.
322
+ if (
323
+ iy < 0
324
+ or iy >= value_native.shape[0]
325
+ or ix < 0
326
+ or ix >= value_native.shape[1]
327
+ ):
328
+ continue
329
+
330
+ value = value_native[iy, ix]
316
331
 
317
332
  if value > 0.0:
318
333
  k1_y = k0_y + ip_y_offset
@@ -60,8 +60,13 @@ def subplot_of_mapper(
60
60
 
61
61
  # panel 0: data subtracted
62
62
  try:
63
+ array = inversion.data_subtracted_dict[mapper]
64
+ from autoarray.structures.visibilities import Visibilities
65
+
66
+ if isinstance(array, Visibilities):
67
+ array = inversion.transformer.image_from(visibilities=array)
63
68
  plot_array(
64
- inversion.data_subtracted_dict[mapper],
69
+ array,
65
70
  ax=axes[0],
66
71
  title=_pf("Data Subtracted"),
67
72
  colormap=colormap,
@@ -286,8 +291,13 @@ def subplot_mappings(
286
291
 
287
292
  # panel 0: data subtracted
288
293
  try:
294
+ array = inversion.data_subtracted_dict[mapper]
295
+ from autoarray.structures.visibilities import Visibilities
296
+
297
+ if isinstance(array, Visibilities):
298
+ array = inversion.transformer.image_from(visibilities=array)
289
299
  plot_array(
290
- inversion.data_subtracted_dict[mapper],
300
+ array,
291
301
  ax=axes[0],
292
302
  title="Data Subtracted",
293
303
  colormap=colormap,
@@ -1,6 +1,6 @@
1
1
  import logging
2
- from os import path
3
2
  import os
3
+ from pathlib import Path
4
4
  from typing import Union, List, Optional
5
5
 
6
6
  from autoarray.structures.abstract_structure import Structure
@@ -100,7 +100,7 @@ class Output:
100
100
  return None
101
101
 
102
102
  if self.format_folder:
103
- output_path = path.join(self.path, format)
103
+ output_path = str(Path(self.path) / format)
104
104
  else:
105
105
  output_path = self.path
106
106
 
@@ -156,7 +156,7 @@ class Output:
156
156
 
157
157
  try:
158
158
  plt.savefig(
159
- path.join(output_path, f"{filename}.{format}"),
159
+ str(Path(output_path) / f"{filename}.{format}"),
160
160
  bbox_inches=self.bbox_inches,
161
161
  pad_inches=0.1,
162
162
  )
@@ -257,9 +257,9 @@ class Output:
257
257
 
258
258
  import sys
259
259
 
260
- script_name = path.split(sys.argv[0])[-1].replace(".py", "")
260
+ script_name = Path(sys.argv[0]).name.replace(".py", "")
261
261
 
262
- output_path = path.join(os.getcwd(), "output_mode", script_name)
262
+ output_path = str(Path(os.getcwd()) / "output_mode" / script_name)
263
263
  os.makedirs(output_path, exist_ok=True)
264
264
 
265
265
  self.savefig(f"{COUNT}_{filename}", output_path, "png")
@@ -4,6 +4,7 @@ Shared utilities for the direct-matplotlib plot functions.
4
4
 
5
5
  import logging
6
6
  import os
7
+ from pathlib import Path
7
8
  from typing import List, Optional, Tuple
8
9
 
9
10
  import numpy as np
@@ -310,8 +311,8 @@ def _output_mode_save(fig, filename):
310
311
 
311
312
  import sys
312
313
 
313
- script_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
314
- output_path = os.path.join(os.getcwd(), "output_mode", script_name)
314
+ script_name = Path(sys.argv[0]).stem
315
+ output_path = str(Path(os.getcwd()) / "output_mode" / script_name)
315
316
  os.makedirs(output_path, exist_ok=True)
316
317
 
317
318
  count = getattr(_output_mode_save, "_count", -1) + 1
@@ -319,7 +320,7 @@ def _output_mode_save(fig, filename):
319
320
 
320
321
  try:
321
322
  fig.savefig(
322
- os.path.join(output_path, f"{count}_{filename}.png"),
323
+ str(Path(output_path) / f"{count}_{filename}.png"),
323
324
  dpi=150,
324
325
  bbox_inches="tight",
325
326
  pad_inches=0.1,
@@ -371,7 +372,7 @@ def subplot_save(fig, output_path, output_filename, output_format=None):
371
372
  os.makedirs(output_path, exist_ok=True)
372
373
  try:
373
374
  fig.savefig(
374
- os.path.join(output_path, f"{output_filename}.{output_format}"),
375
+ str(Path(output_path) / f"{output_filename}.{output_format}"),
375
376
  bbox_inches="tight",
376
377
  pad_inches=0.1,
377
378
  )
@@ -552,7 +553,7 @@ def save_figure(
552
553
  continue
553
554
  try:
554
555
  fig.savefig(
555
- os.path.join(path, f"{filename}.{fmt}"),
556
+ str(Path(path) / f"{filename}.{fmt}"),
556
557
  dpi=dpi,
557
558
  bbox_inches="tight",
558
559
  pad_inches=0.1,
@@ -0,0 +1,73 @@
1
+ import os
2
+ import shutil
3
+ from pathlib import Path
4
+
5
+
6
+ SMALL_DATASETS_SHAPE_NATIVE = (15, 15)
7
+ SMALL_DATASETS_PIXEL_SCALES = 0.6
8
+
9
+
10
+ def cap_array_2d_for_small_datasets(array_2d, pixel_scales):
11
+ """
12
+ Center-crop a 2D autoarray to the small-datasets cap when
13
+ ``PYAUTO_SMALL_DATASETS=1`` is active.
14
+
15
+ Returns ``(array_2d, pixel_scales)`` unchanged in any of these cases:
16
+
17
+ - ``PYAUTO_SMALL_DATASETS`` is not set to ``"1"``.
18
+ - ``array_2d.shape_native`` is already at-or-below the cap (15, 15).
19
+
20
+ When the env var is set and the input shape exceeds (15, 15), returns a
21
+ new ``Array2D`` center-cropped to (15, 15) with ``pixel_scales`` overridden
22
+ to 0.6 — matching the convention used by ``Mask2D.circular`` and
23
+ ``Grid2D.uniform`` so the loaded dataset stays shape-consistent with masks
24
+ and grids built under the same env var.
25
+
26
+ The same env var is honoured for shape construction in
27
+ ``Mask2D.circular`` and ``Grid2D.uniform`` (and by ``should_simulate``
28
+ for on-disk regeneration). This helper closes the gap for FITS loaders
29
+ that read pre-committed datasets larger than the cap, which would
30
+ otherwise broadcast-mismatch against capped masks/grids.
31
+
32
+ Center-cropping (rather than downsampling/resampling) is intentional:
33
+ smoke-mode tests don't require numerical correctness, and the simpler
34
+ op avoids interpolation artifacts and a scipy dependency at this layer.
35
+ """
36
+ if os.environ.get("PYAUTO_SMALL_DATASETS") != "1":
37
+ return array_2d, pixel_scales
38
+
39
+ h, w = array_2d.shape_native
40
+ cap_h, cap_w = SMALL_DATASETS_SHAPE_NATIVE
41
+ if h <= cap_h and w <= cap_w:
42
+ return array_2d, pixel_scales
43
+
44
+ from autoarray.structures.arrays.uniform_2d import Array2D
45
+
46
+ h0, w0 = (h - cap_h) // 2, (w - cap_w) // 2
47
+ cropped = array_2d.native.array[h0:h0 + cap_h, w0:w0 + cap_w]
48
+ return (
49
+ Array2D.no_mask(values=cropped, pixel_scales=SMALL_DATASETS_PIXEL_SCALES),
50
+ SMALL_DATASETS_PIXEL_SCALES,
51
+ )
52
+
53
+
54
+ def should_simulate(dataset_path):
55
+ """
56
+ Returns True if the dataset at ``dataset_path`` needs to be simulated.
57
+
58
+ When ``PYAUTO_SMALL_DATASETS=1`` is active, any existing dataset
59
+ is deleted so the simulator re-creates it at the reduced resolution. This
60
+ avoids shape mismatches between full-resolution FITS files on disk and the
61
+ 15x15 mask/grid cap applied by the env var.
62
+
63
+ Use this as a drop-in replacement for ``not path.exists(dataset_path)`` in
64
+ the workspace auto-simulation pattern::
65
+
66
+ if aa.util.dataset.should_simulate(dataset_path):
67
+ subprocess.run([sys.executable, "scripts/.../simulator.py"], check=True)
68
+ """
69
+ if os.environ.get("PYAUTO_SMALL_DATASETS") == "1":
70
+ if Path(dataset_path).exists():
71
+ shutil.rmtree(dataset_path)
72
+
73
+ return not Path(dataset_path).exists()
@@ -4,7 +4,7 @@ CONTRIBUTING.md
4
4
  LICENSE
5
5
  MANIFEST.in
6
6
  PLAN.md
7
- README.rst
7
+ README.md
8
8
  eden.ini
9
9
  pyproject.toml
10
10
  readthedocs.yml
@@ -23,10 +23,10 @@ autoarray/numba_util.py
23
23
  autoarray/settings.py
24
24
  autoarray/type.py
25
25
  autoarray/config/.gitignore
26
- autoarray/config/README.rst
26
+ autoarray/config/README.md
27
27
  autoarray/config/general.yaml
28
28
  autoarray/config/logging.yaml
29
- autoarray/config/visualize/README.rst
29
+ autoarray/config/visualize/README.md
30
30
  autoarray/config/visualize/general.yaml
31
31
  autoarray/config/visualize/plots.yaml
32
32
  autoarray/dataset/__init__.py
@@ -235,7 +235,7 @@ autoarray/util/fnnls.py
235
235
  autoarray/util/misc_util.py
236
236
  docs/Makefile
237
237
  docs/conf.py
238
- docs/index.rst
238
+ docs/index.md
239
239
  docs/make.bat
240
240
  files/eden.ini
241
241
  files/release.sh
@@ -10,11 +10,11 @@ import datetime
10
10
 
11
11
  # If extensions (or modules to document with autodoc) are in another directory,
12
12
  # add these directories to sys.path here. If the directory is relative to the
13
- # documentation root, use os.path.abspath to make it absolute, like shown here.
13
+ # documentation root, use Path(...).resolve() to make it absolute, like shown here.
14
14
  #
15
- # import os
16
15
  # import sys
17
- # sys.path.insert(0, os.path.abspath('.'))
16
+ # from pathlib import Path
17
+ # sys.path.insert(0, str(Path(".").resolve()))
18
18
 
19
19
  # -- Project information -----------------------------------------------------
20
20
 
@@ -39,6 +39,7 @@ extensions = [
39
39
  "sphinx.ext.napoleon",
40
40
  "sphinx.ext.extlinks",
41
41
  "numpydoc",
42
+ "myst_parser",
42
43
  ]
43
44
 
44
45
  ## Generate autodoc stubs with summaries from code
@@ -0,0 +1,2 @@
1
+ ```{include} ../README.md
2
+ ```
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
  name = "autoarray"
7
7
  dynamic = ["version"]
8
8
  description="PyAuto Data Structures"
9
- readme = { file = "README.rst", content-type = "text/x-rst" }
9
+ readme = { file = "README.md", content-type = "text/markdown" }
10
10
  license = { text = "MIT" }
11
11
  requires-python = ">=3.9"
12
12
  authors = [
@@ -26,7 +26,7 @@ classifiers = [
26
26
  ]
27
27
  keywords = ["cli"]
28
28
  dependencies = [
29
- "autoconf==2026.5.1.4",
29
+ "autoconf==2026.5.8.2",
30
30
  "astropy>=5.0,<=7.2.0",
31
31
  "decorator>=4.0.0",
32
32
  "dill>=0.3.1.1",
@@ -1,16 +0,0 @@
1
- The ``config`` folder contains configuration files which customize default **PyAutoLens**.
2
-
3
- Folders
4
- -------
5
-
6
- - ``priors``: Configs defining default priors assumed on every model component and set of parameters.
7
- - ``visualize``: Configs defining what images are output by a lens model fit.
8
-
9
- Files
10
- -----
11
-
12
- - ``general.yaml``: Customizes general **PyAutoLens** settings.
13
- - ``grids.yaml``: Customize default behaviour of grids when used for calculations.
14
- - ``logging.yaml``: Customizes the logging behaviour.
15
- - ``notation.yaml``: Configs defining labels and formatting of model parameters when used for visualization.
16
-
@@ -1,11 +0,0 @@
1
- The ``config`` folder contains configuration files which customize default **PyAutoLens**.
2
-
3
- Files
4
- -----
5
-
6
- - ``general.yaml``: Customizes general visualization settings (e.g. the matplotlib backend).
7
- - ``include.yaml``: Customize features that appears on plotted images by default (e.g. a mask, a grid).
8
- - ``plots.yaml``: Customize which figures are output during a model-fit.
9
- - ``mat_wrap.yaml``: Specify the default matplotlib settings when figures and subplots are plotted.
10
- - ``mat_wrap_1d.yaml``: Specify the default matplotlib settings when 1D figures and subplots are plotted.
11
- - ``mat_wrap_2d.yaml``: Specify the default matplotlib settings when 2D figures and subplots are plotted.
@@ -1,24 +0,0 @@
1
- import os
2
- import shutil
3
-
4
-
5
- def should_simulate(dataset_path):
6
- """
7
- Returns True if the dataset at ``dataset_path`` needs to be simulated.
8
-
9
- When ``PYAUTO_SMALL_DATASETS=1`` is active, any existing dataset
10
- is deleted so the simulator re-creates it at the reduced resolution. This
11
- avoids shape mismatches between full-resolution FITS files on disk and the
12
- 15x15 mask/grid cap applied by the env var.
13
-
14
- Use this as a drop-in replacement for ``not path.exists(dataset_path)`` in
15
- the workspace auto-simulation pattern::
16
-
17
- if aa.util.dataset.should_simulate(dataset_path):
18
- subprocess.run([sys.executable, "scripts/.../simulator.py"], check=True)
19
- """
20
- if os.environ.get("PYAUTO_SMALL_DATASETS") == "1":
21
- if os.path.exists(dataset_path):
22
- shutil.rmtree(dataset_path)
23
-
24
- return not os.path.exists(dataset_path)
@@ -1 +0,0 @@
1
- .. include:: ../README.rst
File without changes
File without changes
File without changes
File without changes