(Python interface and tools for Finesse)

Daniel Brown


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

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

If you use Pykat for your research please cite it using:

  Title                    = {Pykat},
  Author                   = {Brown, Daniel David and Freise, Andreas},
  Month                    = {July},
  Note                     = {{\url{}}},
  Year                     = {2017},
  Doi                      = {10.5281/zenodo.821389},
  Url                      = {}
More citation options available at

Download and Install

For download and installtion instructions, 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.

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).