v2026.5.1.4
PyAutoFit v2026.5.1.4
Highlights
Python 3.9–3.13 supported, 3.12 / 3.13 recommended
This release expands supported Python versions to 3.9 through 3.13 (#1244). 3.12 and 3.13 are first-class recommended; 3.9, 3.10, 3.11 are supported but emit a loud (bypassable) banner on import. Silence the banner via version.python_version_check: False in your workspace's config/general.yaml. Python 3.14 is not yet supported (parked on a known FactorGraphModel iteration bug).
Key impacts for users:
requires-python = ">=3.9"inpyproject.toml(lower floor than before)- Classifiers now cover 3.9, 3.10, 3.11, 3.12, 3.13
- JAX is now an optional extra:
pip install autofit[jax], gated onpython_version >= '3.11'. Plainpip install autofitno longer pulls JAX as a transitive dep. Analysis(use_jax=True)falls back to numpy with aUserWarningwhen JAX isn't installed, instead of failing at import time.
JAX-jitted likelihoods in Dynesty (use_jax_jit)
Dynesty searches now support JAX-jitted likelihood evaluation via the new use_jax_jit option (#1243). For likelihood-bound runs, this can deliver substantial speedups by JIT-compiling the likelihood once instead of evaluating it interpretively per sample.
Bug Fixes
compute_latent_samplesnow skips samples that raised aFitExceptioninstead of crashing the whole computation (#1233)
Internal / Cleanup
- Remove unused
pyprojrootdependency (#1242) —pip install autofitno longer pulls pyprojroot - Delete jax-using unit tests; cross-xp checks live in
autofit_workspace_test(#1247) — keeps the library's unit suite numpy-only
Upstream Changes
PyAutoConf
- Support Python 3.9–3.13, first-class 3.12/3.13 (PyAutoConf#102)
- Soften Python version check with
general.yamlbypass (PyAutoConf#96)
Full changelog: 2026.4.13.6...2026.5.1.4