lenstronomy - gravitational lensing software package

docs/figures/readme_fig.png https://badge.fury.io/py/lenstronomy.png https://travis-ci.org/sibirrer/lenstronomy.png?branch=master Documentation Status https://coveralls.io/repos/github/sibirrer/lenstronomy/badge.svg?branch=master https://img.shields.io/badge/license-MIT-blue.svg?style=flat https://img.shields.io/badge/arXiv-1803.09746%20-yellowgreen.svg Powered by Astropy Badge

lenstronomy is a multi-purpose package to model strong gravitational lenses. The software package is presented in Birrer & Amara 2018 and is based on Birrer et al 2015. lenstronomy finds application in e.g. Birrer et al 2016, Birrer et al 2019, Shajib et al 2020 and Birrer et al 2020 for time-delay cosmography and measuring the expansion rate of the universe and Birrer et al 2017 and Gilman et al. 2020 for quantifying lensing substructure to infer dark matter properties.

The development is coordinated on GitHub and contributions are welcome. The documentation of lenstronomy is available at readthedocs.org and the package is distributed over PyPI. lenstronomy is an affiliated package of astropy.


$ pip install lenstronomy --user


To run lens models with elliptical mass distributions, the fastell4py package, originally from Barkana (fastell), is also required and can be cloned from: https://github.com/sibirrer/fastell4py (needs a fortran compiler)

$ sudo apt-get install gfortran
$ git clone https://github.com/sibirrer/fastell4py.git <desired location>
$ cd <desired location>
$ python setup.py install --user

Additional python libraries are e.g. : numpy, scipy, matplotlib astropy, dynesty, pymultinest, pypolychord, nestcheck

Modelling Features

  • a variety of analytic lens model profiles
  • various lensing computation tools (lens equation solver, ray-tracing etc)
  • API to conveniently simulating mock lenses
  • Extended source reconstruction with basis sets (shapelets)
  • Model fitting and statistical inference tools with MPI and multi-threading support (Particle swarm optimization, emcee, MultiNest, DyPolyChord, or Dynesty) with MPI and multi-threading support
  • integrated support for multi-lens plane and multi-source plane modelling
  • Kinematic modelling (Jeans anisotropy models) of lens deflector galaxy
  • Cosmographic inference tools
  • …and much more

Getting started

The starting guide jupyter notebook leads through the main modules and design features of lenstronomy. The modular design of lenstronomy allows the user to directly access a lot of tools and each module can also be used as stand-alone packages.


Check out the contributing page contributing page and become an author of lenstronomy! A big shutout to the current list of contributors and developers!

Affiliated packages

Multiple affiliated packages that make use of lenstronomy can be found here (not complete) and further packages are under development by the community.

Mailing list and Slack channel

You can join the lenstronomy mailing list by signing up on the google groups page.

The email list is meant to provide a communication platform between users and developers. You can ask questions, and suggest new features. New releases will be announced via this mailing list.

We also have a Slack channel for the community. Please send me an email such that I can add you to the channel.

If you encounter errors or problems with lenstronomy, please let us know!

Shapelet reconstruction demonstration movies

We provide some examples where a real galaxy has been lensed and then been reconstructed by a shapelet basis set.


The design concept of lenstronomy are reported in Birrer & Amara 2018. Please cite this paper when you use lenstronomy in a publication and link to https://github.com/sibirrer/lenstronomy. Please also cite Birrer et al 2015 when you make use of the lenstronomy work-flow or the Shapelet source reconstruction. Please make sure to cite also the relevant work that was implemented in lenstronomy, as described in the release paper.


If you have any suggestions or questions about lenstronomy feel free to email me at sibirrer@gmail.com.

If you encounter any errors or problems with lenstronomy, please let me know!