Developer workspace for PyAutoFit: search prototypes and minimal sampler examples.
The 1D-Gaussian expectation-propagation and graphical-model scale-up baselines that
used to live in this repo's ep and graphical directories are now maintained in
autofit_profiling under
scripts/gaussian_1d_ep (one baseline.py per method), with the campaign write-up in
wiki/campaigns/ep_graphical_baselines.md.
searches/ holds non-linear search implementations that are not in PyAutoFit,
either because they were removed from the library or because they have not been
promoted into it. They are preserved here so they are not lost and can still be
used by advanced users.
A search lives in the archive only while PyAutoFit does not ship it. When a search
is (re-)mainlined into PyAutoFit, its archive copy is deleted rather than kept in
parallel, so the library is the one maintained implementation. NSS is an example:
it was parked here and is now af.NSS in PyAutoFit.
searches_minimal/ is not part of the archive: it holds minimal scripts that call
samplers directly, bypassing the NonLinearSearch wrapper, for prototyping and
benchmarking.
Reactive nested sampling via UltraNest.
- Source:
searches/ultranest/search.py - Example:
searches/ultranest/example.py
Particle swarm optimisation via PySwarms. Includes global-best and local-best variants.
- Source:
searches/pyswarms/abstract.py,globe.py,local.py - Example:
searches/pyswarms/example.py
These searches require autofit to be installed. They import from
autofit.non_linear.search base classes.
pip install autofit
pip install ultranest # for UltraNest
pip install pyswarms # for PySwarmsPyAutoFit at commit on main branch, April 2026.