PyAuto

Open-source software for astronomy and Bayesian inference: compose and fit probabilistic models, measure galaxy morphology, and model strong gravitational lenses — accelerated by JAX on GPUs.

The stack

Three packages, one design: each layer is usable on its own, and each builds on the one before it.

PyAutoFit

A probabilistic programming language for model composition and fitting: build models from Python classes, fit them with nested sampling, MCMC or maximum-likelihood searches, and manage large fitting campaigns with databases and graphical models.

pip install autofit

PyAutoGalaxy

Galaxy morphology and structure: light and mass profiles, multi-wavelength imaging and interferometry, and automated fitting of large galaxy samples — from parametric profiles to pixelised reconstructions.

pip install autogalaxy

PyAutoLens

Strong gravitational lensing: ray-tracing, lens modeling and source reconstruction for imaging, interferometry and point sources, built for the large lens samples of Euclid, Rubin and the SKA.

pip install autolens

Learn and drive PyAuto with AI

Alongside the documentation and tutorial courses, AI is a first-class way to use PyAuto.

Ask an AI assistant

Point ChatGPT or Claude at the autolens_assistant repository and ask your question — it gives the assistant curated, up-to-date knowledge of the API, the scientific methods and worked analysis recipes.

Run it with an agentic coding tool

Agentic tools such as Claude Code or Codex can run PyAuto end-to-end on your machine: set up an analysis, fit models, and interpret results, using the same assistant repository as their guide.

Try it in the browser

No installation needed — the introductory notebooks run on Google Colab.

PyAutoLens on Colab

Model your first strong gravitational lens in a browser notebook.

Tutorial courses

Lecture-style Jupyter courses teach each package from first principles: statistics and model fitting, galaxy structure, and strong lensing.

PyAutoScientist

PyAutoScientist is Jammy2211's experimental, vibe-coded AI software development ecosystem. Visitors are welcome to explore how its specialist agents help develop PyAuto, but contributors are not currently expected to use it.

Explore the experiment

It is built as an organism of specialised repositories — Brain, Mind, Cortex, Memory, Eyes, Ears, Heart, Hands, Pulse, Insight, DNA, Nerves, Broca and Gut. The organs and their boundaries, specialist agents, health gate and development workflow are documented against the live system.

See the system at work

The Cortex records science projects separately from software development and publishes a live view of their runs and findings. The Eyes hold the rendered gallery of every figure each PyAuto library draws, on realistic data, so what the software shows can be seen, judged and improved in one place. The Ears listen to public community conversations and feedback, showing who may need attention and where coverage is incomplete. The Pulse will gather each library's profiling results onto one board, so how fast the software runs, and how that changes from release to release, can be followed in one place. Insight coordinates inference campaigns, pending tasks and their evidence through one dashboard and a single-chat check-in. The cockpit gathers every organ's live status feed onto one installable page.

Community & Contributing

PyAuto is built in the open by its users: everyone is welcome to ask questions, share what they have made with it, and contribute. Questions, ideas and bug reports: the PyAutoLabs Discussions. Chat with us on Slack.

Project community pages

Each project's community page lists community-built tools, tutorials and how to contribute.

Contributing

The PyAutoLabs contribution guide covers every repository.