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.


  • Version 2.6.1 (August 2018): New features include:
  • Version 2.6 (Nov 2017): New features include:
    • Support for macOS High Sierra, SageMath 8.1, and Windows systems using non-Latin alphabets.
    • Many bug fixes, including improved Python 3 support.
  • Version 2.5 (Feb 2017): New features include:
    • Rigorous computation of hyperbolic volume.
    • STL export of Dirichlet domains for 3D printing, contributed by Jose Sanchez.
    • Support for Python 3, SageMath 7.5, 7.6, and 8.0, and many more versions of Python on Windows.
    • Much improved infrastructure for testing and distributing SnapPy.
  • Complete version history.


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, and DMS-1510204. Any opinions, findings, and conclusions or recommendations expressed on this site are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.