Skip to main content

PyAutoFit: Scientific Inference with Natural Language

Project Status: Active Python Versions PyPI Version Colab Tests Build Documentation Status JOSS

AI Assistant | Documentation | Installation Guide | Introduction on Colab | HowToFit

PyAutoFit is designed so scientists can bring their models, data and likelihood code, then fit models, explore results and develop analyses using natural language with an AI coding agent.

Getting Started

PyAutoFit and the autofit_assistant allow one to perform scientific inference using purely natural language. Simply open your AI coding agent (codex or Claude Code are recommended) and input the following prompt:

Example Natural Language Prompt for Claude Code, Codex or other AI coding agent

I want to perform scientific inference with PyAutoFit (https://github.com/PyAutoLabs/PyAutoFit) and the
autofit_assistant (https://github.com/PyAutoLabs/autofit_assistant).

Begin the "start here" guide for a new user.

PyAutoFit is designed to be used entirely through natural language — the natural-language inference page walks through this, including its AI First Design.

Bring Your Own Likelihood (BYOL)

Already have a likelihood function for your science problem? Point the assistant at your existing code and it can set it up with PyAutoFit — defining the model, choosing priors with you, configuring a search and organising the results:

Example Natural Language Prompt for Claude Code, Codex or other AI coding agent

Set up PyAutoFit with my existing science project. An example likelihood function can be found at
[GitHub link or local directory].

First, give me an overview of my project and likelihood function. Compose an appropriate model, explain it to me,
and recommend a non-linear search (for example MCMC, nested sampling or maximum-likelihood estimation).

Do not begin inference until we have discussed the setup and I give you the go-ahead.

Once inference is running, explain how the results are written to disk and show me how to inspect and interpret
them with PyAutoFit.

The assistant answers this prompt with its BYOL mode — bring your own likelihood, the assistant brings the inference. It reads your code and restates what your likelihood scores, composes a model with priors chosen with you, wraps and validates your function unchanged, recommends a search, and runs nothing until you say go.

Your existing science code remains the source of the likelihood. With PyAutoFit built around it, you can perform inference through natural language while gaining access to features such as flexible priors and model composition, MCMC and nested sampling, automated result handling, model comparison and scalable workflows.

What is PyAutoFit?

PyAutoFit is a domain-agnostic Python package for scientific model fitting and Bayesian inference. It supports nested sampling, MCMC and optimisation, alongside advanced methods such as hierarchical models, search chaining and Bayesian model comparison.

autofit_assistant connects natural-language requests to runnable PyAutoFit workflows. Ask it to compose a model, discuss priors, run inference or compare competing explanations. You guide the science; it writes and runs Python scripts you can inspect, rerun and share.

Human Readable Documentation

HowToFit

For users less familiar with Bayesian inference and scientific analysis you may wish to read through the HowToFit lectures. These teach you the basic principles of Bayesian inference, with the content pitched at undergraduate level and above.

The lectures are available in the standalone HowToFit repository.

Use the Jupyter notebooks if you want to run the code (recommended), or read the available Markdown lectures directly on GitHub.

For help alongside the lectures, open the autofit_assistant repository in your AI coding agent, following its setup instructions, and paste:

Enter HowToFit mode.

I want to work through the HowToFit lectures. Show me where to find them
and how to use Jupyter Notebook or Markdown, then help me with questions
as I go.

The assistant will answer questions about concepts, equations, code and results as you study, and help with notebook errors. Share the lecture link and section or the cell you are working on; you choose when to move on.

Community & Support

Questions, help with your code or your analysis, and ideas: the PyAutoLabs Discussions. Bug reports with a reproducer (a snippet, the traceback, your versions): an issue on the library's tracker. The Slack is for collaborators, by invitation.

Collaborators receive the latest PyAutoFit updates in the Slack channel. Contact James Nightingale about collaborator access.

Metadata

Release files for autofit 2026.9.26.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autofit 2026.9.26.1
File Size Uploaded
autofit-2026.9.26.1.tar.gz 8.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for autofit 2026.9.26.1
File Interpreter ABI Platform
autofit-2026.9.26.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.1 MB

Release files / autofit-2026.9.26.1.tar.gz

Download URL autofit-2026.9.26.1.tar.gz
Size 8.5 MB
Tags Source
SHA-256 checksum
How to use checksums
1efe76c912fde6f3543580cab93c4357fd91663a723242122ef4aa3d5d77c3f0
BLAKE2b-256 checksum
How to use checksums
6b0702b20e1847a4981d61a0298454832cd5e34d1bdda08e6b618b734d2ee6c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.14

Release files / autofit-2026.9.26.1-py3-none-any.whl

Download URL autofit-2026.9.26.1-py3-none-any.whl
Size 8.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
dd58ae69011f2cd4e3472ebf5e1e1ae7ad615d9faf88e9b490512b2612bb23a4
BLAKE2b-256 checksum
How to use checksums
535423659eff818647b6b2c28d5922d2a6454d1d6b9a47e1825c319b7e28f569
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.14

Release history Release notifications | RSS feed

This release

2026.9.26.1 This release

2 release files

0.77.1

2 release files

0.77.0

2 release files

0.75.0

2 release files

0.72.2

2 release files

0.72.1

2 release files

0.72.0

2 release files

0.71.5

2 release files

0.71.3

2 release files

0.71.2

2 release files

0.71.1

1 release file

0.71.0

2 release files

0.70.3

2 release files

0.70.2

2 release files

0.70.1

2 release files

0.70.0

2 release files

0.69.5

2 release files

0.69.4

2 release files

0.69.3

2 release files

0.69.2

2 release files

0.69.1

2 release files

0.69.0

2 release files

0.68.0

2 release files

0.67.9

2 release files

0.67.8

2 release files

0.67.7

2 release files

0.67.6

2 release files

0.67.5

2 release files

0.67.4

2 release files

0.67.2

2 release files

0.67.1

2 release files

0.67.0

2 release files

0.65.0

2 release files

0.64.3

2 release files

0.64.2

2 release files

0.62.0

1 release file

0.61.4

2 release files

0.61.3

2 release files

0.61.2

2 release files

0.60.2

2 release files

0.60.1

2 release files

0.59.7

2 release files

0.59.6

2 release files

0.59.5

2 release files

0.59.4

2 release files

0.59.3

2 release files

0.59.2

2 release files

0.59.1

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.56.0

2 release files

0.55.1

1 release file

0.55.0

2 release files

0.54.0

2 release files

0.53.0

2 release files

0.51.1

2 release files

0.51.0

2 release files

0.50.5

2 release files

0.50.4

2 release files

0.50.3

2 release files

0.50.2

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.49.1

2 release files

0.48.1

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.2

2 release files

0.46.1

2 release files

0.45.1

2 release files

0.45.0

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.33.9

2 release files

0.33.8

2 release files

0.33.7

2 release files

0.33.6

2 release files

0.33.5

2 release files

0.33.4

2 release files

0.32.0

2 release files

0.30.5

2 release files

0.30.4

2 release files

0.30.3

2 release files

0.30.2

2 release files

0.30.1

2 release files

0.30.0

2 release files

0.29.5

2 release files

0.29.4

2 release files

0.29.3

2 release files

0.29.2

2 release files

0.29.1

2 release files

0.29.0

2 release files

0.28.3

2 release files

0.26.6

2 release files

0.26.5

2 release files

0.26.4

2 release files

0.26.3

2 release files

0.26.2

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.5

2 release files

0.25.4

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.2

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.9

2 release files

0.23.8

2 release files

0.23.7

2 release files

0.23.6

2 release files

0.23.5

2 release files

0.23.4

2 release files

0.23.3

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.9

2 release files

0.18.8

2 release files

0.18.7

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.11

2 release files

0.7.10

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page