Metadata-Version: 2.4
Name: autolens
Version: 2026.9.15.1
Summary: Open-Source Strong Lensing
Author-email: James Nightingale <James.Nightingale@newcastle.ac.uk>, Richard Hayes <richard@rghsoftware.co.uk>
License: MIT
Project-URL: Homepage, https://github.com/PyAutoLabs/PyAutoLens
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: autogalaxy>=2026.8.22.1
Requires-Dist: nautilus-sampler==1.0.5
Provides-Extra: jax
Provides-Extra: coolest
Requires-Dist: coolest; extra == "coolest"
Provides-Extra: optional
Requires-Dist: autolens[jax]; extra == "optional"
Requires-Dist: coolest; extra == "optional"
Requires-Dist: numba; extra == "optional"
Requires-Dist: zeus-mcmc==2.5.4; extra == "optional"
Requires-Dist: getdist==1.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"
Requires-Dist: coolest; extra == "test"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: coolest; extra == "dev"
Dynamic: license-file

# PyAutoLens-JAX: Open-Source Strong Lensing

[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/PyAutoLabs/autolens_workspace/blob/2026.9.14.1/start_here.ipynb)
[![Documentation Status](https://readthedocs.org/projects/pyautolens/badge/?version=latest)](https://pyautolens.readthedocs.io/en/latest/?badge=latest)
[![Tests](https://github.com/PyAutoLabs/PyAutoLens/actions/workflows/main.yml/badge.svg)](https://github.com/PyAutoLabs/PyAutoLens/actions)
[![Build](https://github.com/PyAutoLabs/PyAutoHands/actions/workflows/release.yml/badge.svg)](https://github.com/PyAutoLabs/PyAutoHands/actions)
[![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![JOSS](https://joss.theoj.org/papers/10.21105/joss.02825/status.svg)](https://doi.org/10.21105/joss.02825)
[![Zenodo DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4548697.svg)](https://doi.org/10.5281/zenodo.4548697)
[![arXiv](https://img.shields.io/badge/arXiv-1708.07377-blue)](https://arxiv.org/abs/1708.07377)
[![Project Status: Active](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![Python Versions](https://img.shields.io/pypi/pyversions/autolens)](https://pypi.org/project/autolens/)
[![PyPI Version](https://img.shields.io/pypi/v/autolens.svg)](https://pypi.org/project/autolens/)

[Installation Guide](https://pyautolens.readthedocs.io/en/latest/installation/overview.html) |
[readthedocs](https://pyautolens.readthedocs.io/en/latest/index.html) |
[Introduction on Colab](https://colab.research.google.com/github/PyAutoLabs/autolens_workspace/blob/2026.9.14.1/start_here.ipynb) |
[HowToLens](https://pyautolens.readthedocs.io/en/latest/howtolens/howtolens.html)

<img src="https://github.com/Jammy2211/PyAutoLogo/blob/main/gifs/pyautolens.gif?raw=true" width="900" />

When two or more galaxies are aligned perfectly down our line-of-sight, the background galaxy appears multiple times.

This is called strong gravitational lensing and **PyAutoLens** makes it **simple** to model strong gravitational lenses, using JAX to **accelerate lens modeling on GPUs**.

## Getting Started

### Human-Readable Documentation and Examples

The following human-readable documentation and examples are useful for new starters:

- [The PyAutoLens readthedocs](https://pyautolens.readthedocs.io/en/latest): which includes [an overview of PyAutoLens's core features](https://pyautolens.readthedocs.io/en/latest/overview/overview_1_start_here.html), [a new user starting guide](https://pyautolens.readthedocs.io/en/latest/overview/overview_2_new_user_guide.html) and [an installation guide](https://pyautolens.readthedocs.io/en/latest/installation/overview.html).
- [The introduction Jupyter Notebook on Google Colab](https://colab.research.google.com/github/PyAutoLabs/autolens_workspace/blob/2026.9.14.1/start_here.ipynb): try **PyAutoLens** in a web browser (without installation).
- [The autolens_workspace GitHub repository](https://github.com/PyAutoLabs/autolens_workspace): example scripts covering every **PyAutoLens** use case.
- [The HowToLens GitHub repository](https://github.com/PyAutoLabs/HowToLens): a Jupyter notebook lecture series teaching strong lensing and lens modeling from the ground up.

### PyAutoLens AI Assistant

The [**PyAutoLens AI Assistant**](https://github.com/PyAutoLabs/autolens_assistant) lets you do gravitational lensing science in natural language from inside an AI coding agent. You can get started simply by asking it a question about gravitational lensing or describing the task you would like to perform with **PyAutoLens**. See the [autolens_assistant GitHub page](https://github.com/PyAutoLabs/autolens_assistant) for its full scope and instructions.

**The assistant runs inside an AI coding agent: Claude Code or Codex are recommended. Sustained scientific use normally needs paid access to one of them (a personal subscription, institutional access or API billing). OpenCode is an experimental alternative whose client is free but whose model access, cost and capability depend on the provider. Browser chat routes (ChatGPT or Claude with a GitHub connector) are no longer supported.**

## Community & Support

Support for **PyAutoLens** is available via our Slack workspace, where the community shares updates, discusses
gravitational lensing analysis, and helps troubleshoot problems.

Slack is invitation-only. If you'd like to join, please send an email requesting an invite.

For installation issues, bug reports, or feature requests, please raise an issue on the [GitHub issues page](https://github.com/PyAutoLabs/PyAutoLens/issues).

## HowToLens

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

A complete overview of the lectures [is provided on the HowToLens readthedocs page](https://pyautolens.readthedocs.io/en/latest/howtolens/howtolens.html), and the notebooks themselves live in the [PyAutoLabs/HowToLens](https://github.com/PyAutoLabs/HowToLens) repository.

## Citations

Information on how to cite **PyAutoLens** in publications can be found [on the citations page](https://github.com/PyAutoLabs/PyAutoLens/blob/main/CITATIONS.md).

## Contributing

Information on how to contribute to **PyAutoLens** can be found [on the contributing page](https://github.com/PyAutoLabs/PyAutoLens/blob/main/CONTRIBUTING.md).

Hands on support for contributions is available via our Slack workspace, again please email to request an invite.

<sub><i><a href="https://open.spotify.com/track/6Ao5d7TMQ92h87jQqSHGyw">i found you, i found you, i found you beautiful, exploding, i found you</a></i></sub>
