Skip to content

Releases: PyAutoLabs/PyAutoGalaxy

v2026.4.5.3

05 Apr 18:59

Choose a tag to compare

PyAutoGalaxy v2026.4.5.3

What's New

New Features

  • Use configurable output_format default from autoarray (#316)
  • Update docs for new flat plot function API (#315)

Bug Fixes

  • Fix JAX jit boundary in LensCalc + document decorator/JAX patterns (#291)
  • feature/ell_comps_division_0_bug_fix (#278)
  • feature/geometry_hot_fix (#274)
  • Jax hot fix (#273)

Internal

  • Drop Python 3.9-3.11, add 3.13 (#317)
  • Visualization final: fits API, plot consolidation (#314)
  • Visualization cleanup and NFW truncated enhancements (#313)
  • Add jax_zero_contour-based critical curve and caustic tracing (#312)
  • Remove sigma cb_unit from normalized residual map in subplot_fit (#311)
  • Plot improvements: rename fits functions, move fits_to_fits, add cb_unit (#310)
  • Plot improvements batch 2 (#309)
  • Overhaul plot styling and extract fits_* output functions (#308)
  • Rename PlotterInterface -> Plotter; extract subplot functions; update docs (#307)
  • PR G1-G2: replace mat_plot_2d.plot_array with _plot_array() bridge in… (#306)
  • Refactor mass profile unit tests to be more granular (#305)
  • Feature/ellipse utils (#304)
  • docs(api): update RST API reference pages for consistency (#303)
  • docs(util): add module-level docstrings to util package (#302)
  • docs(aggregator): add module-level docstrings to aggregator package (#301)
  • docs: add module docstrings to analysis package (#300)
  • docs: add module docstrings to quantity package (#299)
  • docs: add module docstrings to ellipse package (#298)
  • docs: add module docstrings to interferometer package (#297)
  • docs: add module docstrings and fill missing docstrings in imaging package (#296)
  • docs: add module docstrings and fill missing method docstrings in operate package (#295)
  • docs: add module docstring and improve class docstrings in cosmology package (#294)
  • docs: add module docstrings and improve method docstrings in galaxy package (#293)
  • docs: add module docstrings and improve method docstrings in profiles package (#292)
  • Feature/cnfw mge (#290)
  • Add luminosity_distance to LensingCosmology (#289)
  • Add hilbert_pixels_from_pixel_scale to model_util (#288)
  • Add mge_point_model_from to model_util for compact point-source model… (#287)
  • feature/jaxify_gnfw_conc (#286)
  • Feature/deflections operate jax (#285)
  • Feature/jax mge (#284)
  • Feature/remove preloads (#283)
  • Feature/psf convolution refactor (#282)
  • Feature/mesh refactor (#281)
  • Feature/cored nfw (#280)
  • Feature/jax e nfw (#279)
  • Feature/jax in image dict (#277)
  • Feature/unconvolved images (#276)
  • Feature/linalg mixed precision (#275)
  • zeta_from made jax compatible, zeta_from and wofz in higher precision… (#272)
  • Feature/fft jax imaging (#271)
  • Feature/cosmology jax (#269)
  • Feature/gaussian mass (#268)
  • feature/remove_mapper_valued (#267)

Upstream Changes

PyAutoFit

  • Drop Python 3.9-3.11, add 3.13 (#1177)
  • Make search logging JAX-aware (#1176)
  • Flatten plot API: replace Plotter classes with module-level functions (#1174)
  • Add expanded model mapping unit tests (#1172)
  • feature/jax_cpu_jit (#1170)
  • feature/jax_cpu_batch_size_1 (#1169)
  • feature/samples_summary_failsafe (#1168)

PyAutoArray

  • Drop Python 3.9-3.11, add 3.13 (#249)
  • Make output_format configurable, default to show (#248)
  • Visualization final: config origin, fits API, output mode (#247)
  • Colorbar tick fontsize reduction and scientific notation consistency (#246)
  • Plot improvements: DPI config, Delaunay aspect ratio, tick rounding, source vmax (#244)
  • Add RGB support to plot_array (#243)
  • Plot improvements: line_colors, is_subplot colorbar sizing, inversion panels (#242)
  • Plot improvements: arcsec tick labels, circular import fix, test imports (#241)
  • Plot improvements batch 2 (#240)
  • Overhaul 2D plot styling and subplot layout (#239)
  • Add subplot_imaging and subplot_imaging_dataset_list standalone plot functions (#238)
  • Claude/refactor plotting module s6 zq1 (#236)
  • Refactor dataset and operator tests for granularity and clarity (#235)
  • Refactor inversion and mapper tests for granularity and clarity (#234)
  • Refactor regularization tests for granularity and clarity (#233)
  • refactor: split mask tests into granular focused tests (#232)
  • refactor: split structures tests into granular focused tests (#231)
  • refactor: split fit tests into granular focused tests (#230)
  • improve docstrings for autoarray/inversion package and update fit log… (#229)
  • Improve docstrings for autoarray/fit package (#228)
  • docs: refactor docstrings for autoarray/structures package (#227)
  • docs: refactor docstrings for autoarray/mask package (#226)
  • docs: refactor and complete docstrings for autoarray/geometry (#225)
  • docs: refactor and complete docstrings for autoarray/dataset (#224)
  • Add CLAUDE.md documenting decorator system and JAX jit boundary (#223)
  • eature/blurring_mask_padding (#222)
  • perform fix by not linking state blurring grid to dataset grid (#221)
  • Feature/remove preloads (#220)
  • fix rectangular mesh grid plot (#219)
  • Feature/psf convolution refactor (#218)
  • Feature/mesh refactor (#217)
  • feature/psf_centering_fix (#216)
  • Feature/matern adaptive ([#214]...
Read more

PyAutoGalaxy JAX

22 Jan 08:55

Choose a tag to compare

UPDATE: Latest JAX version is now 2025.11.5.1

This release marks the completion of two years work implementing JAX (https://docs.jax.dev/en/latest/notebooks/thinking_in_jax.html) in PyAutoGalaxy.

With JAX, any modeling analysis can be run on GPU, with speed up of ~x50 or more.

Core Release

The core PyAutoGalaxy API does not change significantly, however existing users redownload the new autogalaxy workspace, which has new configs and examples:

https://github.com/Jammy2211/autogalaxy_workspace

New user should checkout the start_here.ipynb notebook, which can be read via a Google Colab by clicking the hyperlink.

GPU Modeling Examples

The following Juypter Notebooks, which run via Google Colab, illustrate < 10 minute galaxy modeling for different science cases:

Performance Of Features

  • Interferometer with many Visibilities: Above ~ GPU uv-plane analysis with hundreds of millions of visibilities and extremely high resolutions run in under and hour, a monumental speed up compared to CPU modeling.

  • Pixelized sources run ~x5 - x20 faster on modern HPC GPU clusters, with galaxy modeling times typically ~10 - 20 minutes. Pixelized source performance depends on the available GPU VRAM.

May 2025

07 May 20:44

Choose a tag to compare

  • Results workflow API, which generates .csv, .png and .fits files of large libraries of results for quick and efficient inspection:

https://github.com/Jammy2211/autolens_workspace/tree/main/notebooks/results/workflow

  • Visualization now outputs .fits files corresponding to each subplot, which more concisely contain all information of a fit and are used by the above workflow API.

  • Visualization Simplified, removing customization of individual image outputs.

  • Remove Analysis summing API, replacing all dataset combinations with AnalysisFactor and FactorGraphModel API used for graphical modeling:

https://github.com/Jammy2211/autolens_workspace/blob/main/notebooks/advanced/multi/modeling/start_here.ipynb

  • Pixelized source reconstruction output as a .csv file which can be loaded and interpolated for better source science analysis.

  • Latent variable API bug fixes and now used in some test example scripts.

January 2025

18 Jan 12:45

Choose a tag to compare

The main updates are visualization of Delaunay mesh's using Delaunah triangles and a significant refactoring of over sampling, with the primary motivation to make the code much less complex for the ongoing JAX implementation.

What's Changed

Full Changelog: 2024.11.13.2...2025.1.18.7

November 2024 update

13 Nov 14:00

Choose a tag to compare

Small bug fixes and optimizations for Euclid lens modeling pipeline.

November 2024

06 Nov 09:26

Choose a tag to compare

Minor release with stability updates and one main feature.

September 2024

21 Sep 11:04

Choose a tag to compare

This release updates all projects to support Python 3.12, with support tested for Python 3.9 - 3.12 and 3.11 regarded as most stable.

This includes many project dependency updates:

https://github.com/rhayes777/PyAutoFit/blob/main/requirements.txt
https://github.com/rhayes777/PyAutoFit/blob/main/optional_requirements.txt
https://github.com/Jammy2211/PyAutoGalaxy/blob/main/requirements.txt
https://github.com/Jammy2211/PyAutoGalaxy/blob/main/optional_requirements.txt

Workspace Restructure:

This release has a workspace restructure, which is now grouped at a high level by tasks (e.g. modeling, simulators) rather than datasets:

https://github.com/Jammy2211/autogalaxy_workspace

The readthedocs have been greatly simplified and include a new user guide to help navitgate the new workspace:

https://pyautogalaxy.readthedocs.io/en/latest/overview/overview_2_new_user_guide.html

PyAutoGalaxy:

PyAutoFit:

https://github.com/rhayes777/PyAutoFit/pulls?q=is%3Apr+is%3Aclosed

May 2024

16 May 10:32
c47c753

Choose a tag to compare

PyAutoFit:

  • Nautilus now outputs results on the fly: PyAutoLabs/PyAutoFit#961
  • Output latent samples of a model-fit, which are parameters derived from a model which may be marginalized over:

PR: PyAutoLabs/PyAutoFit#994
Example: https://github.com/Jammy2211/autofit_workspace/blob/release/notebooks/cookbooks/analysis.ipynb

PyAutoGalaxy:

  • Remove Plane object and replace with Galaxies object
  • Shapelets improvements: #173
  • Adaptive over sampling of grids for a pixelization: #168
  • BasisPlotter which plots each basis (e.g. each Gaussian of an MGE): #173
  • Plot mappings between source and image plane of a pixelization as lines: #172
  • For multi-wavelength datasets model offsets between each dataset: #171
  • Modeling of background sky: #170
  • Improvements to use of adapt images for adaptive pixelizations: #160
  • Improved angle conversions for computing errors on mass profile and shear angles from ell_comps: #169
  • Remove sub_size from all classes (e.g. Array2D, Mask2D) to simplify API.
  • MaternKernel added: #148

January 2024 (2024.1.27.4)

27 Jan 20:05

Choose a tag to compare

  • Log10 plots implemented in 1D and 2D, which show certain quantities (e.g. galaxy convergence) more clear and include contours showing log10 values:

image

  • Improved subplots including addition of log10 panels:

image

  • Pixelization API now has separate entry for an image_mesh, defining how the source pixel centres are computed (E.g. using a KMeans clustering) and the mesh is now just the method (e.g. Delaunay):
pixelization = al.Pixelization(
    image_mesh=al.image_mesh.Overlay(shape=(25, 25)),
    mesh=al.mesh.Delaunay(),
    regularization=al.reg.Constant(coefficient=1.0),
)
  • Implemented Hilbert image-mesh which is a significant improvement on KMeans clustering for creating the distribution of source pixels for a pixelization and inversion.

  • Simplified adapt_dataset API to now only pass via an AdaptImage class, which is not passed as Galaxy attributes anymore but instead through the FitImaging object.

  • Removed SetupAdapt object and pass image_mesh_pixels as an integer through pipelines.

  • Added Exponential / Gaussian smoothing kernels for regularization documented in Vernardos 2022 (https://arxiv.org/abs/2202.09378)

October 2023 (2023.10.23.3)

23 Oct 13:07

Choose a tag to compare

  • Support for Python 3.11 by updating requirement on core libraries (e.g. numpy, scipy, scikit-learn).
  • Fix issues with sqlite database following switch from .pickle outputs to .json / .fits / .csv.
  • Database use of Samples object much more efficient.
  • Methods to output classes to hard-disk (e.g. output_to_json, from_json, to_dict) are now all handled and called from autoconf.
  • Fix bug where nautilus parallel fits sometimes crashed.
  • Fix bug where nautilus single CPU fits did not work.