Releases: rhayes777/PyAutoFit
May 2025
- Remove Analysis summing API, replacing all dataset combinations with
AnalysisFactorandFactorGraphModelAPI used for graphical modeling:
https://github.com/Jammy2211/autofit_workspace/blob/main/notebooks/cookbooks/multiple_datasets.ipynb
- 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
- Latent variable API bug fixes and now used in some test example scripts.
January 2025
This update is mostly bug fixes and small improvements, with no major new functionality added.
What's Changed
- Feature/enviroment warning by @Jammy2211 in #1077
- cache hdus to avoid object deletion causing files to be closed by @rhayes777 in #1081
- feature/constant comparison by @rhayes777 in #1080
- Remove database test path by @Jammy2211 in #1083
- analysis_summed_latent by @Jammy2211 in #1084
- monkey patch abstract_search.gc during testing to prevent expensive calls to gc.collect() by @rhayes777 in #1088
- feature/aggregate summary by @rhayes777 in #1089
Full Changelog: 2024.11.13.2...2025.1.18.7
November 2024 update
Garbage collection and other things to improve memory use.
November 2024
Minor release with stability updates and one main feature.
-
Sensitivity Mapping improvements.
-
Start point for MCMC.
September 2024
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
PyAutoFit:
https://github.com/rhayes777/PyAutoFit/pulls?q=is%3Apr+is%3Aclosed
- Improvements to HowToFit lectures: #1022
- Support for NumPy arrays in model composition and prior creation, for example creating an
ndarrayof inputshapewhere each value is a free parameter in the seach: #1021 - Name of
optimizesearches renamed tomle, for maximum likelihood estimator, with improvements to visualization: #1029 - Improvement to sensitivity mapping functionality and results: https://github.com/rhayes777/PyAutoFit/pulls?q=is%3Apr+is%3Aclosed
- More improvements to JAX Pytree interface, documentation still to come.
May 2024
PyAutoFit:
Nautilusnow outputs results on the fly: #961- Output latent samples of a model-fit, which are parameters derived from a model which may be marginalized over:
PR: #994
Example: https://github.com/Jammy2211/autofit_workspace/blob/release/notebooks/cookbooks/analysis.ipynb
model.infofile displays complex models in a more concise and readable way: #1012- All samples with a weight below an input value are now removed from
samples.csvto save hard disk space: #979 - Documentation describing autofit scientific workflow: #1011
- Refactor visualization into stand alone module: #995
- Refactor how results are returned after a search: #989
- Improved parallelism logging: #1009
- Likelihood consistency check now performed internally: #987
- Generation of initial search samples is now performed in parallel: #997
- No longer store
search_internalon hard-disk. simplifying source code internals: #938 - Multiple small bug fixes and improvements to interface.
January 2024 (2024.1.27.4)
- Stability upgrades for change from .pickle to .json files.
- JAX implementation improved, still in development.
- Sensitivity mapping improvements.
October 2023 (2023.10.23.3)
- 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
.pickleoutputs to.json/.fits/.csv. - Database use of
Samplesobject much more efficient. - Fix bug where
nautilusparallel fits sometimes crashed. - Fix bug where
nautilussingle CPU fits did not work.
September (v2023.9.18.4)
This release implements two major changes to PyAutoFit:
Results Output
Result metadata was previously output as .pickle files, which were not human readable and depended on project imports, hurting backwards compatibility.
All metadata is now output as human readable .json files and dataset as .fits files, making it a lot more straight forward for a user to interpret how data is stored internally within PyAutoFit:
Here is an example of the search.json file:
All internal functionality (e.g. the sqlite database) has been updated to use these files.
All workspace documentation has been updated accordingly.
Nautilus
Recently, a new nested sampler, Nautilus (https://nautilus-sampler.readthedocs.io/en/stable/), was released, which uses machine-learning based techniques to improve sampling.
This release implements this.
July (2023.5.7.2)
Bug fixes for new MacOS parallelization.
No new features.

