Metadata-Version: 2.4
Name: autofit
Version: 2026.11.12.1
Summary: Classy Probabilistic Programming
Author-email: James Nightingale <James.Nightingale@newcastle.ac.uk>, Richard Hayes <richard@rghsoftware.co.uk>
License: MIT
Project-URL: Homepage, https://github.com/PyAutoLabs/PyAutoFit
Keywords: cli
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: autonerves>=2026.11.9.1.post1
Requires-Dist: optax>=0.2.5; sys_platform != "darwin" or platform_machine == "arm64"
Requires-Dist: array_api_compat
Requires-Dist: anesthetic>=2.9.0
Requires-Dist: corner==2.2.2
Requires-Dist: decorator>=4.2.1
Requires-Dist: dill>=0.3.1.1
Requires-Dist: dynesty==2.1.5
Requires-Dist: typing-inspect>=0.4.0
Requires-Dist: emcee>=3.1.6
Requires-Dist: gprof2dot==2021.2.21
Requires-Dist: matplotlib
Requires-Dist: numpydoc>=1.0.0
Requires-Dist: h5py>=3.11.0
Requires-Dist: SQLAlchemy<2.1.0,>=2.0.32
Requires-Dist: scipy<=1.17.1
Requires-Dist: astunparse==1.6.3
Requires-Dist: threadpoolctl>=3.1.0
Requires-Dist: timeout-decorator==0.5.0
Requires-Dist: xxhash<=3.4.1
Requires-Dist: networkx==3.1
Requires-Dist: pyvis==0.3.2
Requires-Dist: psutil==6.1.0
Provides-Extra: jax
Provides-Extra: mcp
Requires-Dist: mcp; extra == "mcp"
Provides-Extra: optional
Requires-Dist: autofit[jax]; extra == "optional"
Requires-Dist: astropy>=5.0; extra == "optional"
Requires-Dist: blackjax>=1.6.2; extra == "optional"
Requires-Dist: getdist==1.4; extra == "optional"
Requires-Dist: nautilus-sampler==1.0.5; extra == "optional"
Requires-Dist: zeus-mcmc==2.5.4; extra == "optional"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: furo; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: sphinx_copybutton; extra == "docs"
Requires-Dist: sphinx_design; extra == "docs"
Requires-Dist: sphinx_inline_tabs; extra == "docs"
Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Dynamic: license-file

# PyAutoFit: Scientific Inference with Natural Language

**PyAutoFit** is a Python package for scientific model fitting and Bayesian inference. Bring your models, data and likelihood code, then fit models and explore results through natural language with an AI assistant or by writing Python yourself.

## Getting Started

### Explore with AI

The [**PyAutoFit AI Assistant**](https://github.com/PyAutoLabs/autofit_assistant) helps you compose models, choose priors, run inference and interpret results through conversation. To get started, paste this prompt into your AI coding agent:

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

First clone the assistant repository, cd into it and follow its AGENTS.md.
Begin the "start here" guide for a new user.
```

See [AI Options](https://github.com/PyAutoLabs/PyAutoScientist/blob/main/AI_OPTIONS.md) for tools and setup guidance.

### Explore It Yourself

- **[Try it in your browser](https://colab.research.google.com/github/PyAutoLabs/autofit_workspace/blob/2026.11.9.1/notebooks/overview/overview_1_the_basics.ipynb)** — run the introductory notebook without installing anything.
- **[Install PyAutoFit](https://pyautofit.readthedocs.io/en/latest/installation/overview.html)** — get set up on your computer.
- **[Find examples](https://github.com/PyAutoLabs/autofit_workspace#find-your-examples)** — explore model fitting, sampling methods and plotting in the workspace.

## Bring Your Own Likelihood

Already have a likelihood function for your science problem? The assistant can help connect your existing code to PyAutoFit:

```text
Set up PyAutoFit with my existing science project:
[GitHub link or local directory].

Explain my likelihood function, propose a model and priors,
and recommend a search method.

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

Then show me how to inspect and interpret the results.
```

The [Bring Your Own Likelihood guide](https://github.com/PyAutoLabs/autofit_assistant/blob/main/modes/byol.md) explains the workflow.

## Learn Bayesian Inference

[**HowToFit**](https://github.com/PyAutoLabs/HowToFit) teaches Bayesian inference and model fitting through worked notebooks, starting from undergraduate level. You can also read the [Markdown lectures](https://github.com/PyAutoLabs/HowToFit/tree/main/markdown) directly on GitHub.

The [PyAutoFit documentation](https://pyautofit.readthedocs.io/en/latest/index.html) covers the software’s features, from model composition and sampling to model comparison and hierarchical inference.

## Community and Contributing

Ask questions, suggest improvements and share your work in [PyAutoLabs Discussions](https://github.com/orgs/PyAutoLabs/discussions), or chat with us on [Slack](https://join.slack.com/t/pyautolens/shared_invite/zt-2cufp4eyf-fXfgMxRGuvg~bMrI3uOAxg).

To contribute or explore community projects, visit the [PyAutoFit community page](https://pyautofit.readthedocs.io/en/latest/general/community.html).

## Citations

If you use PyAutoFit in your research, see the [citation guide](https://github.com/PyAutoLabs/PyAutoFit/blob/main/CITATIONS.md).

## License

See the [license](https://github.com/PyAutoLabs/PyAutoFit/blob/main/LICENSE).
