Installation Instructions ------------------------- This distribution requires Python 2.2 or newer. The software is for Unix-style systems (e.g. Linux/Solaris/*BSD/MacOS X), and also works on Windows using the Unix toolkit Cygwin. We have not tested it on Windows (sans Cygwin) or MacOS 9. If you have superuser privileges on your UNIX system: python setup.py build python setup.py install This will install SnapPeaPython in the site-packages directory of your python installation. If are not a superuser and wish to install SnapPeaPython in your home directory: python setup.py build python setup.py install --install-lib ~ This will create a subdirectory of your home directory named SnapPea containing the package. In order for python to find the package you must add this directory to your PYTHONPATH environment variable. For example in bash: export PYTHONPATH=~ Documentation ------------------------- There really isn't any. For an idea of what SnapPea can do, use a GUI version of SnapPea and/or consult SnapPeaC/headers/SnapPea.h. To figure out what functions are availible at the python level, consult SnapPea/__init__.py. Here is a very simple sample session: # First, let's demonstrate that the census manifold "m004" and the # complement of the figure-8 knot are the same. >>> import SnapPea >>> M = SnapPea.get_manifold("m004") >>> M.volume() 2.0298832128193069 >>> N = SnapPea.get_manifold("4_1") >>> M.is_isometric(N) 1 # SnapPea.get_manifold can take a lot of different kinds of input. # Consult SnapPea/__init__.py and search for "kitchen sink"! # What methods are available? Try the Python way: >>> dir (M) ['Dirichlet', '__del__', '__doc__', '__init__', '__module__', '__repr__', 'canonize', 'clone', 'core_geodesic', 'current_fillings_become_meridians', 'cusp_is_fillable', 'drill_curve', 'fill_cusp', 'fundamental_group', 'get_cusp_equation', 'get_cusp_equations', 'get_cusp_is_complete', 'get_cusp_is_orientable', 'get_cusp_l', 'get_cusp_m', 'get_cusp_moduli', 'get_cusp_modulus', 'get_cusp_shape', 'get_cusp_shapes', 'get_drillable_curves', 'get_gluing_data', 'get_gluing_equations', 'get_name', 'get_normal_surfaces', 'get_num_cusps', 'get_num_tetrahedra', 'get_solution_type', 'get_triangulation_is_orientable', 'homology', 'install_current_curve_bases', 'install_shortest_bases', 'is_canonical_triangulation', 'is_isometric', 'randomize', 'reflect', 'remove_Dehn_fillings', 'same_triangulation', 'save', 'set_cusp', 'set_name', 'shortest_curves_become_meridians', 'simplify', 'split_on_normal_surface', 'symmetry_group', 'tet_shapes', 'triangulation', 'volume'] # Finally, there are many census to play with; let's just # do the first few manifolds. >>> for M in SnapPea.Cusped5tetOrientable[:10]: ... print M.get_name(), M.volume() ... m003 2.02988321282 m004 2.02988321282 m006 2.56897060094 m007 2.56897060094 m009 2.66674478345 m010 2.66674478345 m011 2.7818339124 m015 2.82812208833 m016 2.82812208833 m017 2.82812208833 >>> # For further census names see >>> SnapPea.__all__ ('Triangulation', 'ClosedOrientable', 'ClosedNonorientable', 'Cusped5tet', 'Cusped5tetOrientable', 'Cusped5tetNonorientable', 'Cusped6tetOrientable', 'Cusped6tetNonorientable', 'Cusped7tetOrientable', 'Cusped7tetNonorientable', 'LinkExteriors2Comp', 'LinkExteriors3Comp', 'LinkExteriors4Comp', 'LinkExteriors5Comp', 'AlternatingKnotExteriors', 'NonalternatingKnotExteriors', 'get_manifold', 'sendable_to_triangulation') Bugs and Comments ------------------------- Please email bugs, comments, or offers of assistance, to any or all of: culler@math.uic.edu nathand@math.harvard.edu weeks@northnet.org Last Update ------------------------- The date of the last update is contained in the file named timestamp in the root directory of the distribution.