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.8 -- 3.12. 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() True >>> print(h.dilatation()) 2.296630262