# SnapPy

## What is SnapPy?

SnapPy is a program for studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures. It runs on Mac OS X, Linux, and Windows, and combines a link editor and 3D-graphics for Dirichlet domains and cusp neighborhoods with a powerful command-line interface based on the Python programming language. You can see it in action, learn how to install it, and watch the tutorial.

## News

- Version 3.1 (May 2023):

  - A method `exterior_to_link` for going from a link exterior to a link diagram taken from Dunfield-Obeidin-Rudd.

  - Covers now computed by the stand-alone low_index module, which uses multiple processor cores and is typically much faster than the old code. In some cases, it is dramatically faster than even GAP or Magma.

  - Added geodesics to the `inside_view`. Here are some intersecting tubes about closed geodesics in the manifold `v3539(5,1)`:

  - Added drilling any simple geodesic with `drill_word` and `drill_words`, not just those that are `combinatorially simple`.

  - Added ignore_orientation flag to `triangulation_isosig`.

  - Added include_words flag to `length_spectrum` for getting the word corresponding to a geodesic which can be given to `drill_word`.

  - Support for Python 3.11 and SageMath 10.0.

  - Modernized styling of the documentation.

- Version 3.0.3 (December 2021):

  - Runs natively on Macs with Apple Silicon processors (M1, M2, and variants).

- Complete version history.

## Documentation

- Installing SnapPy
- Screenshots: SnapPy in action
- Tutorial
- The snappy module and its classes
- Using SnapPy’s link editor
- Links: planar diagrams and invariants
- Number theory of hyperbolic 3-manifolds
- Verified computations
- Other components
- News
- Credits
- Reporting bugs and other problems
- To Do List
- Development Basics

## Credits

Written by Marc Culler, Nathan Dunfield, and Matthias Goerner using the SnapPea kernel written by Jeff Weeks, with contributions from many others. If you use SnapPy in your work, please cite it as described here. If you encounter problems with SnapPy, please report them.

Released under the terms of the GNU General Public License, version 2 or later.

The development of SnapPy was partially supported by grants from the National Science Foundation, including DMS-0707136, DMS-0906155, DMS-1105476, DMS-1510204, DMS-1811156, and the Institute for Computational and Experimental Research in Mathematics. Any opinions, findings, and conclusions or recommendations expressed on this site are those of the authors and do not necessarily reflect the views of the National Science Foundation.