(Python interface and tools for Finesse)

Daniel Brown


PyKat is a free Python interface for Finesse 2 and a collection of tools for optical simulations. It aims to provide a Python toolset for automating more complex modelling tasks.

Pykat was written for Finesse 2. If you are just starting, we recommend that you use Finesse 3 instead, from Finesse 3 is a Python package and already includes similar tools as provided by Pykat.

We are now using PyKat to perform most of our modelling of the gravitational wave detectors, in particular supporting the LIGO and Virgo detectors, and developing the design for the Einstein Telescope.

If you use PyKat for your research please cite our research article Pykat: Python package for modelling precision optical interferometers, for example using:

  author   = {Daniel D. Brown and Philip Jones and Samuel Rowlinson and Sean Leavey and Anna C. Green and Daniel T\"oyr\"a and Andreas Freise},
  journal  = {SoftwareX},
  title    = {Pykat: Python package for modelling precision optical interferometers},
  year     = {2020},
  issn     = {2352-7110},
  pages    = {100613},
  volume   = {12},
  doi      = {},
If you want to cite the code itself, you can use citation options available at

Download and Install

We recommend that you install PyKat together with Finesse, following the the Finesse installation instructions. If you want to install only PyKat, see the pypi page:

The source code, including the utility scripts for creating the help index are all stored in a git repository, which can be accessed at:

Screenshot of an IPython notebook running PyKat and Finesse.

Simple example of PyKat in IPython

IPython provides an interactive shell which makes it easy to play and iterate quickly. Running Finesse from inside IPython makes the results directly available for post-processing with Python commands. A simple example has been recorded in a IPython notebook, running PyKat and Finesse. You can try it out without before installing using an online Jupyter notebook.

Advanced example of PyKat

PyKat has been used by us to perform and document a series of simulations started during the Commissioning Workshop at the LIGO detector in Louisiana in 2013. The results are collected in the document `Comparing Finesse simulations, analytical solutions and OSCAR simulations of Fabry-Perot alignment signals', freely available online: The PyKat and Finesse files used to perform the simulations reported are included as an example in the PyKat package (pykat/examples/asc_test).