PyPI version PyPI license Github build status

Flipper is a program for computing the action of mapping classes on laminations on punctured surfaces using ideal triangulation coordinates. It can decide the Nielsen–Thurston type of a given mapping class and, for pseudo-Anosov mapping classes, construct a layered, veering triangulation of their mapping torus, as described by Agol.

Flipper officially supports Python 3.6 – 3.9. It also runs on PyPy and Sage. To get the best performance, ensure that cypari (>= 2.4.0) or cypari2 is installed or run from it within Sage.


Flipper is available on PyPI, so it can be installed via:

$ pip install flipper --user --upgrade

Once installed, try it inside of Python:

>>> import flipper
>>> S = flipper.load('S_1_2')
>>> h = S('a.b.C')
>>> h.is_pseudo_anosov()
>>> print(h.dilatation())

The API Documentation

If you are looking for information on a specific function, class, or method, this part of the documentation is for you.

The Contributor Guide

If you want to contribute to the project, this part of the documentation is for you.

There are no more guides. You are now guideless. Good luck.

Indices and tables