SnapPea (<http://www.math.uic.edu/~t3m/SnapPy/>) is a program with extensive facilities for doing various kinds of calculations with hyperbolic 3-manifolds. The official documentation assumes that the reader is intimately familiar with all the relevant mathematical background. Does there exist any other document which explains some of the theory in parallel with explaining the code? Failing that, is there a recommended source which just explains the theory, but in a way which meshes nicely with the code?



SnapPea for the uninitiated
First as pointed out in the comments, the documentation of the SnapPea kernel (now maintained as SnapPy) is extensive. It contains theorems and proofs as well as a fairly thorough treatment many of the functions of SnapPea/SnapPy.


Also, in addition to Thurston's notes, one might also consider Section E.6 of Benedetti and Petronio's Lectures on Hyperbolic Geometry as it provides a good explanation of the polynomial equations that one must solve to find a hyperbolic structure associated to the triangulation.


However, the question asks for theory that is most closely connected to the code, on that note, there is also Weeks' article in the Handbook of Knot Theory:


Weeks, Jeff. "Computation of hyperbolic structures in knot theory." Handbook of Knot Theory (2005): 461-480.
<http://arxiv.org/abs/math/0309407> 


This article mainly focuses on the algorithm to triangulate the complement of a knot or link and then solve a relevant system of equations (coming from Thurston), before finishing with a discussion of how the program considers Dehn filling. As Carlo Beenakker points out, other aspects of the program, such as the computation isometry group (via a computation of the canonical triangulation) are covered elsewhere in Jeff Weeks' works. 


