snappy 3.1.1__cp38-cp38-win_amd64.whl → 3.2__cp38-cp38-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snappy/CyOpenGL.cp38-win_amd64.pyd +0 -0
- snappy/SnapPy.cp38-win_amd64.pyd +0 -0
- snappy/SnapPyHP.cp38-win_amd64.pyd +0 -0
- snappy/__init__.py +299 -402
- snappy/app.py +70 -20
- snappy/browser.py +18 -17
- snappy/canonical.py +249 -0
- snappy/{verify/cusp_shapes.py → cusps/__init__.py} +8 -18
- snappy/cusps/cusp_area_matrix.py +101 -0
- snappy/{verify/cusp_areas.py → cusps/cusp_areas_from_matrix.py} +23 -39
- snappy/cusps/maximal_cusp_area_matrix.py +136 -0
- snappy/cusps/test.py +21 -0
- snappy/cusps/trig_cusp_area_matrix.py +63 -0
- snappy/database.py +10 -9
- snappy/decorated_isosig.py +337 -114
- snappy/dev/extended_ptolemy/complexVolumesClosed.py +40 -7
- snappy/dev/extended_ptolemy/extended.py +3 -3
- snappy/dev/extended_ptolemy/phc_wrapper.py +10 -10
- snappy/dev/vericlosed/oneVertexTruncatedComplex.py +1 -1
- snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
- snappy/doc/_images/m125_paper_plane.jpg +0 -0
- snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
- snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
- snappy/doc/_sources/additional_classes.rst.txt +40 -40
- snappy/doc/_sources/bugs.rst.txt +14 -14
- snappy/doc/_sources/censuses.rst.txt +51 -51
- snappy/doc/_sources/credits.rst.txt +75 -75
- snappy/doc/_sources/development.rst.txt +259 -239
- snappy/doc/_sources/index.rst.txt +182 -115
- snappy/doc/_sources/installing.rst.txt +247 -264
- snappy/doc/_sources/manifold.rst.txt +6 -6
- snappy/doc/_sources/manifoldhp.rst.txt +46 -46
- snappy/doc/_sources/news.rst.txt +355 -283
- snappy/doc/_sources/other.rst.txt +25 -25
- snappy/doc/_sources/platonic_census.rst.txt +20 -20
- snappy/doc/_sources/plink.rst.txt +102 -102
- snappy/doc/_sources/ptolemy.rst.txt +66 -66
- snappy/doc/_sources/ptolemy_classes.rst.txt +42 -42
- snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -297
- snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -363
- snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -301
- snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -61
- snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -105
- snappy/doc/_sources/screenshots.rst.txt +21 -21
- snappy/doc/_sources/snap.rst.txt +87 -87
- snappy/doc/_sources/snappy.rst.txt +28 -28
- snappy/doc/_sources/spherogram.rst.txt +103 -103
- snappy/doc/_sources/todo.rst.txt +47 -47
- snappy/doc/_sources/triangulation.rst.txt +11 -11
- snappy/doc/_sources/tutorial.rst.txt +49 -49
- snappy/doc/_sources/verify.rst.txt +210 -150
- snappy/doc/_sources/verify_internals.rst.txt +79 -90
- snappy/doc/_static/basic.css +924 -902
- snappy/doc/_static/css/badge_only.css +1 -1
- snappy/doc/_static/css/theme.css +1 -1
- snappy/doc/_static/doctools.js +1 -1
- snappy/doc/_static/documentation_options.js +12 -13
- snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- snappy/doc/_static/js/versions.js +228 -0
- snappy/doc/_static/language_data.js +199 -199
- snappy/doc/_static/pygments.css +74 -73
- snappy/doc/_static/searchtools.js +125 -71
- snappy/doc/_static/snappy_furo.css +33 -33
- snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -42
- snappy/doc/_static/sphinx_highlight.js +13 -3
- snappy/doc/additional_classes.html +1499 -1330
- snappy/doc/bugs.html +131 -134
- snappy/doc/censuses.html +426 -445
- snappy/doc/credits.html +180 -183
- snappy/doc/development.html +383 -363
- snappy/doc/genindex.html +1330 -1409
- snappy/doc/index.html +261 -206
- snappy/doc/installing.html +345 -363
- snappy/doc/manifold.html +3451 -2839
- snappy/doc/manifoldhp.html +179 -182
- snappy/doc/news.html +387 -329
- snappy/doc/objects.inv +0 -0
- snappy/doc/other.html +160 -162
- snappy/doc/platonic_census.html +374 -377
- snappy/doc/plink.html +209 -212
- snappy/doc/ptolemy.html +253 -255
- snappy/doc/ptolemy_classes.html +1143 -1146
- snappy/doc/ptolemy_examples1.html +408 -410
- snappy/doc/ptolemy_examples2.html +470 -473
- snappy/doc/ptolemy_examples3.html +413 -416
- snappy/doc/ptolemy_examples4.html +194 -197
- snappy/doc/ptolemy_prelim.html +247 -250
- snappy/doc/py-modindex.html +164 -167
- snappy/doc/screenshots.html +140 -142
- snappy/doc/search.html +134 -137
- snappy/doc/searchindex.js +1 -1
- snappy/doc/snap.html +201 -204
- snappy/doc/snappy.html +180 -182
- snappy/doc/spherogram.html +1210 -1213
- snappy/doc/todo.html +165 -168
- snappy/doc/triangulation.html +1583 -1474
- snappy/doc/tutorial.html +158 -161
- snappy/doc/verify.html +329 -275
- snappy/doc/verify_internals.html +1234 -1691
- snappy/drilling/__init__.py +153 -235
- snappy/drilling/barycentric.py +103 -0
- snappy/drilling/constants.py +0 -2
- snappy/drilling/crush.py +56 -130
- snappy/drilling/cusps.py +12 -6
- snappy/drilling/debug.py +2 -1
- snappy/drilling/exceptions.py +7 -40
- snappy/drilling/moves.py +302 -243
- snappy/drilling/perturb.py +63 -37
- snappy/drilling/shorten.py +36 -0
- snappy/drilling/subdivide.py +0 -5
- snappy/drilling/test.py +23 -0
- snappy/drilling/test_cases.py +126 -0
- snappy/drilling/tracing.py +9 -37
- snappy/exceptions.py +18 -5
- snappy/exterior_to_link/barycentric_geometry.py +2 -4
- snappy/exterior_to_link/main.py +8 -7
- snappy/exterior_to_link/mcomplex_with_link.py +2 -2
- snappy/exterior_to_link/rational_linear_algebra.py +1 -1
- snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
- snappy/exterior_to_link/test.py +21 -33
- snappy/geometric_structure/__init__.py +212 -0
- snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
- snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
- snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
- snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
- snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
- snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
- snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
- snappy/geometric_structure/geodesic/__init__.py +0 -0
- snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
- snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
- snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
- snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
- snappy/geometric_structure/geodesic/constants.py +6 -0
- snappy/geometric_structure/geodesic/exceptions.py +22 -0
- snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
- snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
- snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
- snappy/geometric_structure/geodesic/line.py +30 -0
- snappy/geometric_structure/geodesic/multiplicity.py +127 -0
- snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
- snappy/geometric_structure/test.py +22 -0
- snappy/gui.py +23 -13
- snappy/horoviewer.py +7 -7
- snappy/hyperboloid/__init__.py +96 -31
- snappy/hyperboloid/distances.py +245 -0
- snappy/hyperboloid/horoball.py +19 -0
- snappy/hyperboloid/line.py +35 -0
- snappy/hyperboloid/point.py +9 -0
- snappy/hyperboloid/triangle.py +29 -0
- snappy/isometry_signature.py +382 -0
- snappy/len_spec/__init__.py +596 -0
- snappy/len_spec/geodesic_info.py +110 -0
- snappy/len_spec/geodesic_key_info_dict.py +117 -0
- snappy/len_spec/geodesic_piece.py +143 -0
- snappy/len_spec/geometric_structure.py +182 -0
- snappy/len_spec/geometry.py +80 -0
- snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
- snappy/len_spec/spine.py +206 -0
- snappy/len_spec/test.py +24 -0
- snappy/len_spec/test_cases.py +69 -0
- snappy/len_spec/tile.py +275 -0
- snappy/len_spec/word.py +86 -0
- snappy/math_basics.py +39 -13
- snappy/matrix.py +52 -9
- snappy/number.py +12 -6
- snappy/numeric_output_checker.py +2 -3
- snappy/pari.py +8 -4
- snappy/phone_home.py +2 -1
- snappy/polyviewer.py +8 -8
- snappy/ptolemy/__init__.py +1 -1
- snappy/ptolemy/component.py +2 -2
- snappy/ptolemy/coordinates.py +25 -25
- snappy/ptolemy/findLoops.py +9 -9
- snappy/ptolemy/manifoldMethods.py +27 -29
- snappy/ptolemy/polynomial.py +50 -57
- snappy/ptolemy/processFileBase.py +60 -0
- snappy/ptolemy/ptolemyVariety.py +109 -41
- snappy/ptolemy/reginaWrapper.py +4 -4
- snappy/ptolemy/rur.py +1 -1
- snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
- snappy/ptolemy/test.py +99 -54
- snappy/ptolemy/utilities.py +1 -1
- snappy/raytracing/__init__.py +64 -0
- snappy/raytracing/additional_horospheres.py +64 -0
- snappy/raytracing/additional_len_spec_choices.py +63 -0
- snappy/raytracing/cohomology_fractal.py +0 -3
- snappy/raytracing/eyeball.py +123 -0
- snappy/raytracing/finite_raytracing_data.py +17 -17
- snappy/raytracing/finite_viewer.py +15 -15
- snappy/raytracing/geodesic_tube_info.py +93 -63
- snappy/raytracing/geodesics.py +94 -64
- snappy/raytracing/geodesics_window.py +56 -34
- snappy/raytracing/gui_utilities.py +21 -6
- snappy/raytracing/hyperboloid_navigation.py +29 -4
- snappy/raytracing/hyperboloid_utilities.py +73 -73
- snappy/raytracing/ideal_raytracing_data.py +121 -91
- snappy/raytracing/inside_viewer.py +199 -66
- snappy/raytracing/pack.py +22 -0
- snappy/raytracing/raytracing_data.py +37 -25
- snappy/raytracing/raytracing_view.py +70 -65
- snappy/raytracing/shaders/Eye.png +0 -0
- snappy/raytracing/shaders/NonGeometric.png +0 -0
- snappy/raytracing/shaders/__init__.py +39 -3
- snappy/raytracing/shaders/fragment.glsl +451 -133
- snappy/raytracing/test.py +29 -0
- snappy/raytracing/tooltip.py +146 -0
- snappy/raytracing/upper_halfspace_utilities.py +42 -9
- snappy/sage_helper.py +67 -134
- snappy/settings.py +90 -77
- snappy/shell.py +2 -0
- snappy/snap/character_varieties.py +2 -2
- snappy/snap/find_field.py +4 -3
- snappy/snap/fundamental_polyhedron.py +2 -2
- snappy/snap/kernel_structures.py +5 -1
- snappy/snap/nsagetools.py +9 -8
- snappy/snap/peripheral/dual_cellulation.py +4 -3
- snappy/snap/peripheral/peripheral.py +2 -2
- snappy/snap/peripheral/surface.py +5 -5
- snappy/snap/peripheral/test.py +1 -1
- snappy/snap/polished_reps.py +8 -8
- snappy/snap/slice_obs_HKL.py +16 -14
- snappy/snap/t3mlite/arrow.py +3 -3
- snappy/snap/t3mlite/edge.py +3 -3
- snappy/snap/t3mlite/homology.py +2 -2
- snappy/snap/t3mlite/mcomplex.py +3 -3
- snappy/snap/t3mlite/simplex.py +12 -0
- snappy/snap/t3mlite/spun.py +18 -17
- snappy/snap/t3mlite/test_vs_regina.py +4 -4
- snappy/snap/test.py +37 -53
- snappy/snap/utilities.py +4 -5
- snappy/test.py +121 -138
- snappy/test_cases.py +263 -0
- snappy/testing.py +131 -0
- snappy/tiling/__init__.py +2 -0
- snappy/tiling/canonical_key_dict.py +59 -0
- snappy/tiling/dict_based_set.py +79 -0
- snappy/tiling/floor.py +49 -0
- snappy/tiling/hyperboloid_dict.py +54 -0
- snappy/tiling/iter_utils.py +78 -0
- snappy/tiling/lifted_tetrahedron.py +22 -0
- snappy/tiling/lifted_tetrahedron_set.py +54 -0
- snappy/tiling/real_hash_dict.py +164 -0
- snappy/tiling/test.py +23 -0
- snappy/tiling/tile.py +215 -0
- snappy/tiling/triangle.py +33 -0
- snappy/tkterminal.py +113 -84
- snappy/twister/main.py +1 -7
- snappy/twister/twister_core.cp38-win_amd64.pyd +0 -0
- snappy/upper_halfspace/__init__.py +78 -17
- snappy/verify/__init__.py +3 -7
- snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
- snappy/verify/complex_volume/adjust_torsion.py +1 -2
- snappy/verify/complex_volume/closed.py +13 -13
- snappy/verify/complex_volume/cusped.py +6 -6
- snappy/verify/complex_volume/extended_bloch.py +5 -8
- snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
- snappy/verify/edge_equations.py +80 -0
- snappy/verify/exceptions.py +0 -55
- snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
- snappy/verify/interval_newton_shapes_engine.py +7 -5
- snappy/verify/interval_tree.py +5 -5
- snappy/verify/krawczyk_shapes_engine.py +17 -18
- snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
- snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
- snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
- snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
- snappy/verify/shapes.py +5 -3
- snappy/verify/short_slopes.py +39 -41
- snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
- snappy/verify/test.py +57 -60
- snappy/verify/upper_halfspace/extended_matrix.py +1 -1
- snappy/verify/upper_halfspace/finite_point.py +3 -4
- snappy/verify/upper_halfspace/ideal_point.py +9 -9
- snappy/verify/volume.py +2 -2
- snappy/version.py +2 -2
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +14 -10
- snappy-3.2.dist-info/RECORD +503 -0
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
- snappy/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/__pycache__/browser.cpython-38.pyc +0 -0
- snappy/__pycache__/cache.cpython-38.pyc +0 -0
- snappy/__pycache__/database.cpython-38.pyc +0 -0
- snappy/__pycache__/db_utilities.cpython-38.pyc +0 -0
- snappy/__pycache__/decorated_isosig.cpython-38.pyc +0 -0
- snappy/__pycache__/exceptions.cpython-38.pyc +0 -0
- snappy/__pycache__/export_stl.cpython-38.pyc +0 -0
- snappy/__pycache__/filedialog.cpython-38.pyc +0 -0
- snappy/__pycache__/gui.cpython-38.pyc +0 -0
- snappy/__pycache__/horoviewer.cpython-38.pyc +0 -0
- snappy/__pycache__/math_basics.cpython-38.pyc +0 -0
- snappy/__pycache__/matrix.cpython-38.pyc +0 -0
- snappy/__pycache__/number.cpython-38.pyc +0 -0
- snappy/__pycache__/numeric_output_checker.cpython-38.pyc +0 -0
- snappy/__pycache__/pari.cpython-38.pyc +0 -0
- snappy/__pycache__/polyviewer.cpython-38.pyc +0 -0
- snappy/__pycache__/sage_helper.cpython-38.pyc +0 -0
- snappy/__pycache__/version.cpython-38.pyc +0 -0
- snappy/doc/_sources/verify_canon.rst.txt +0 -90
- snappy/doc/_static/jquery-3.6.0.js +0 -10881
- snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
- snappy/doc/_static/js/html5shiv.min.js +0 -4
- snappy/doc/_static/underscore-1.13.1.js +0 -2042
- snappy/doc/_static/underscore.js +0 -6
- snappy/doc/verify_canon.html +0 -304
- snappy/drilling/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/constants.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/crush.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/cusps.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/debug.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/epsilons.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/exceptions.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/fixed_points.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_info.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_tube.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/geometric_structure.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/line.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/moves.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/peripheral_curves.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/perturb.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/quotient_space.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/spatial_dict.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/subdivide.cpython-38.pyc +0 -0
- snappy/drilling/__pycache__/tracing.cpython-38.pyc +0 -0
- snappy/drilling/geodesic_tube.py +0 -441
- snappy/drilling/geometric_structure.py +0 -366
- snappy/drilling/line.py +0 -122
- snappy/drilling/quotient_space.py +0 -94
- snappy/drilling/spatial_dict.py +0 -128
- snappy/exterior_to_link/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/exceptions.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/hyp_utils.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/link_projection.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/main.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/pl_utils.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/put_in_S3.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-38.pyc +0 -0
- snappy/exterior_to_link/__pycache__/stored_moves.cpython-38.pyc +0 -0
- snappy/hyperboloid/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/manifolds/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/component.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/coordinates.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/fieldExtensions.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/findLoops.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/homology.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/manifoldMethods.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/matrix.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/polynomial.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/processComponents.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileBase.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileDispatch.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/processMagmaFile.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/processRurFile.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVariety.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/rur.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
- snappy/ptolemy/__pycache__/utilities.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/character_varieties.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/fundamental_polyhedron.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/interval_reps.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/kernel_structures.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/mcomplex_base.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/nsagetools.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/polished_reps.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/shapes.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/slice_obs_HKL.cpython-38.pyc +0 -0
- snappy/snap/__pycache__/utilities.cpython-38.pyc +0 -0
- snappy/snap/peripheral/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-38.pyc +0 -0
- snappy/snap/peripheral/__pycache__/link.cpython-38.pyc +0 -0
- snappy/snap/peripheral/__pycache__/peripheral.cpython-38.pyc +0 -0
- snappy/snap/peripheral/__pycache__/surface.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/arrow.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/corner.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/edge.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/face.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/files.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/homology.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/linalg.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/mcomplex.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/perm4.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/simplex.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/spun.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/surface.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-38.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/vertex.cpython-38.pyc +0 -0
- snappy/togl/__init__.py +0 -3
- snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
- snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
- snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
- snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
- snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
- snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
- snappy/twister/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/twister/__pycache__/main.cpython-38.pyc +0 -0
- snappy/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/cuspCrossSection.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/cuspTranslations.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/cusp_areas.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/cusp_shapes.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/exceptions.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/interval_tree.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/realAlgebra.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/shapes.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/short_slopes.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/squareExtensions.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/verifyCanonical.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/verifyHyperbolicity.cpython-38.pyc +0 -0
- snappy/verify/__pycache__/volume.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/closed.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/cusped.cpython-38.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-38.pyc +0 -0
- snappy/verify/cuspCrossSection.py +0 -1422
- snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-38.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-38.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-38.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-38.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
- snappy-3.1.1.dist-info/RECORD +0 -575
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
snappy/doc/installing.html
CHANGED
@@ -1,364 +1,346 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<link rel="stylesheet"
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<script src="_static/js/theme.js"></script>
|
22
|
-
<link rel="index" title="Index" href="genindex.html" />
|
23
|
-
<link rel="search" title="Search" href="search.html" />
|
24
|
-
<link rel="next" title="Screenshots: SnapPy in action" href="screenshots.html" />
|
25
|
-
<link rel="prev" title="SnapPy" href="index.html" />
|
26
|
-
</head>
|
27
|
-
|
28
|
-
<body class="wy-body-for-nav">
|
29
|
-
<div class="wy-grid-for-nav">
|
30
|
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
31
|
-
<div class="wy-side-scroll">
|
32
|
-
<div class="wy-side-nav-search" >
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
<a href="index.html" class="icon icon-home">
|
37
|
-
SnapPy
|
38
|
-
<img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
|
39
|
-
</a>
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
<
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
</
|
50
|
-
|
51
|
-
|
52
|
-
<li class="toctree-
|
53
|
-
<li class="toctree-l2"><a class="reference internal" href="#macos">macOS</a></li>
|
54
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
55
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
56
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
57
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
58
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
59
|
-
|
60
|
-
|
61
|
-
</
|
62
|
-
</li>
|
63
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
64
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
65
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
66
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
67
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
68
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
69
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
70
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
71
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
72
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
73
|
-
<li class="toctree-l1"><a class="reference internal" href="
|
74
|
-
|
75
|
-
|
76
|
-
</
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
<li
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
<a class="
|
107
|
-
<
|
108
|
-
|
109
|
-
|
110
|
-
and
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
<
|
115
|
-
<
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
<
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
<
|
130
|
-
<
|
131
|
-
|
132
|
-
|
133
|
-
<
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
<
|
139
|
-
|
140
|
-
<
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
<
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
</div>
|
150
|
-
</
|
151
|
-
<
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
<
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
</
|
163
|
-
|
164
|
-
|
165
|
-
<
|
166
|
-
<
|
167
|
-
<span class="
|
168
|
-
|
169
|
-
</
|
170
|
-
</
|
171
|
-
|
172
|
-
<
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
</
|
177
|
-
|
178
|
-
</
|
179
|
-
</
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
</
|
185
|
-
|
186
|
-
|
187
|
-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="
|
188
|
-
</pre></div>
|
189
|
-
</div>
|
190
|
-
<p>You
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
</
|
196
|
-
|
197
|
-
|
198
|
-
<p>
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
<
|
211
|
-
</
|
212
|
-
</
|
213
|
-
|
214
|
-
<
|
215
|
-
|
216
|
-
</
|
217
|
-
<
|
218
|
-
<
|
219
|
-
<
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
<
|
225
|
-
<
|
226
|
-
</pre></
|
227
|
-
</
|
228
|
-
<p>
|
229
|
-
<
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
<p>If you
|
234
|
-
|
235
|
-
|
236
|
-
</
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
<
|
246
|
-
<
|
247
|
-
<p>
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
<
|
253
|
-
<a class="reference external" href="https://
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
<a class="
|
259
|
-
<p>
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
</
|
264
|
-
|
265
|
-
<
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
<p>
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
<
|
277
|
-
<
|
278
|
-
<
|
279
|
-
|
280
|
-
|
281
|
-
</
|
282
|
-
</
|
283
|
-
<
|
284
|
-
<
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
<
|
290
|
-
</
|
291
|
-
|
292
|
-
|
293
|
-
<
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
<
|
299
|
-
</
|
300
|
-
</
|
301
|
-
</
|
302
|
-
</
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
<
|
307
|
-
<
|
308
|
-
<
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
</
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
<
|
319
|
-
<
|
320
|
-
|
321
|
-
</div>
|
322
|
-
|
323
|
-
<
|
324
|
-
|
325
|
-
<
|
326
|
-
<p
|
327
|
-
|
328
|
-
|
329
|
-
</
|
330
|
-
</
|
331
|
-
</
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
348
|
-
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
349
|
-
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
350
|
-
|
351
|
-
|
352
|
-
</footer>
|
353
|
-
</div>
|
354
|
-
</div>
|
355
|
-
</section>
|
356
|
-
</div>
|
357
|
-
<script>
|
358
|
-
jQuery(function () {
|
359
|
-
SphinxRtdTheme.Navigation.enable(true);
|
360
|
-
});
|
361
|
-
</script>
|
362
|
-
|
363
|
-
</body>
|
1
|
+
|
2
|
+
|
3
|
+
<!DOCTYPE html>
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="./">
|
5
|
+
<head>
|
6
|
+
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
7
|
+
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
9
|
+
<title>Installing SnapPy — SnapPy 3.2 documentation</title>
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/snappy_sphinx_rtd_theme.css?v=1b8ec2a8" />
|
13
|
+
|
14
|
+
|
15
|
+
<link rel="shortcut icon" href="_static/SnapPy.ico"/>
|
16
|
+
<script src="_static/jquery.js?v=5d32c60e"></script>
|
17
|
+
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
18
|
+
<script src="_static/documentation_options.js?v=828ea960"></script>
|
19
|
+
<script src="_static/doctools.js?v=9a2dae69"></script>
|
20
|
+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
21
|
+
<script src="_static/js/theme.js"></script>
|
22
|
+
<link rel="index" title="Index" href="genindex.html" />
|
23
|
+
<link rel="search" title="Search" href="search.html" />
|
24
|
+
<link rel="next" title="Screenshots: SnapPy in action" href="screenshots.html" />
|
25
|
+
<link rel="prev" title="SnapPy" href="index.html" />
|
26
|
+
</head>
|
27
|
+
|
28
|
+
<body class="wy-body-for-nav">
|
29
|
+
<div class="wy-grid-for-nav">
|
30
|
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
31
|
+
<div class="wy-side-scroll">
|
32
|
+
<div class="wy-side-nav-search" >
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
<a href="index.html" class="icon icon-home">
|
37
|
+
SnapPy
|
38
|
+
<img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
|
39
|
+
</a>
|
40
|
+
<div role="search">
|
41
|
+
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
42
|
+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
43
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
44
|
+
<input type="hidden" name="area" value="default" />
|
45
|
+
</form>
|
46
|
+
</div>
|
47
|
+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
48
|
+
<ul class="current">
|
49
|
+
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installing SnapPy</a><ul>
|
50
|
+
<li class="toctree-l2"><a class="reference internal" href="#macos">macOS</a></li>
|
51
|
+
<li class="toctree-l2"><a class="reference internal" href="#windows">Windows</a></li>
|
52
|
+
<li class="toctree-l2"><a class="reference internal" href="#linux-app">Linux app</a></li>
|
53
|
+
<li class="toctree-l2"><a class="reference internal" href="#python-modules-for-macos-or-windows">Python Modules for macOS or Windows</a></li>
|
54
|
+
<li class="toctree-l2"><a class="reference internal" href="#python-modules-for-linux">Python Modules for Linux</a></li>
|
55
|
+
<li class="toctree-l2"><a class="reference internal" href="#sagemath">SageMath</a></li>
|
56
|
+
<li class="toctree-l2"><a class="reference internal" href="#kitchen-sink">Kitchen sink</a></li>
|
57
|
+
<li class="toctree-l2"><a class="reference internal" href="#conda">Conda</a></li>
|
58
|
+
<li class="toctree-l2"><a class="reference internal" href="#source-code">Source code</a></li>
|
59
|
+
</ul>
|
60
|
+
</li>
|
61
|
+
<li class="toctree-l1"><a class="reference internal" href="screenshots.html">Screenshots: SnapPy in action</a></li>
|
62
|
+
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
|
63
|
+
<li class="toctree-l1"><a class="reference internal" href="snappy.html">The snappy module and its classes</a></li>
|
64
|
+
<li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
|
65
|
+
<li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
|
66
|
+
<li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
|
67
|
+
<li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
|
68
|
+
<li class="toctree-l1"><a class="reference internal" href="other.html">Other components</a></li>
|
69
|
+
<li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
|
70
|
+
<li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
|
71
|
+
<li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
|
72
|
+
<li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
|
73
|
+
<li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
|
74
|
+
</ul>
|
75
|
+
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
</nav>
|
79
|
+
|
80
|
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
81
|
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
82
|
+
<a href="index.html">SnapPy</a>
|
83
|
+
</nav>
|
84
|
+
|
85
|
+
<div class="wy-nav-content">
|
86
|
+
<div class="rst-content">
|
87
|
+
<div role="navigation" aria-label="Page navigation">
|
88
|
+
<ul class="wy-breadcrumbs">
|
89
|
+
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
90
|
+
<li class="breadcrumb-item active">Installing SnapPy</li>
|
91
|
+
<li class="wy-breadcrumbs-aside">
|
92
|
+
</li>
|
93
|
+
</ul>
|
94
|
+
<hr/>
|
95
|
+
</div>
|
96
|
+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
97
|
+
<div itemprop="articleBody">
|
98
|
+
|
99
|
+
<section id="installing-snappy">
|
100
|
+
<h1>Installing SnapPy<a class="headerlink" href="#installing-snappy" title="Link to this heading"></a></h1>
|
101
|
+
<p>Here are detailed instructions on how to get SnapPy working on a
|
102
|
+
variety of platforms. The current version is 3.2 which was released
|
103
|
+
on January 2025. If you encounter any problems installing SnapPy,
|
104
|
+
<a class="reference internal" href="bugs.html"><span class="doc">please let us know</span></a>.</p>
|
105
|
+
<section id="macos">
|
106
|
+
<h2>macOS<a class="headerlink" href="#macos" title="Link to this heading"></a></h2>
|
107
|
+
<p>Simply download <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/latest/download/SnapPy.dmg">SnapPy.dmg</a>
|
108
|
+
and copy SnapPy.app to the Applications folder. Double-click to start
|
109
|
+
it, just like any other application. The current version works with macOS 10.14 and
|
110
|
+
newer and earlier releases <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/">can be found here</a>.</p>
|
111
|
+
</section>
|
112
|
+
<section id="windows">
|
113
|
+
<h2>Windows<a class="headerlink" href="#windows" title="Link to this heading"></a></h2>
|
114
|
+
<p>Simply download and run <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/latest/download/InstallSnapPy.exe">InstallSnapPy.exe</a>.
|
115
|
+
Earlier releases <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/">can be found here</a>.</p>
|
116
|
+
</section>
|
117
|
+
<section id="linux-app">
|
118
|
+
<h2>Linux app<a class="headerlink" href="#linux-app" title="Link to this heading"></a></h2>
|
119
|
+
<p>Starting with SnapPy 3.2, a completely self-contained SnapPy <a class="reference external" href="https://docs.appimage.org/introduction/quickstart.html#ref-quickstart">AppImage</a>
|
120
|
+
is available that should work on any Linux system from the last 5
|
121
|
+
years. This AppImage contains its own private copy of Python, so if
|
122
|
+
you plan to use SnapPy in your own Python programs, skip ahead to
|
123
|
+
<a class="reference internal" href="#python-modules-for-linux">Python Modules for Linux</a>. Here is the recipe for installing the
|
124
|
+
AppImage in <code class="docutils literal notranslate"><span class="pre">~/bin</span></code> after you have downloaded the file
|
125
|
+
<a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/latest/download/SnapPy-x86_64.AppImage.">SnapPy-x86_64.AppImage</a>:</p>
|
126
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">-</span><span class="n">p</span> <span class="o">~/</span><span class="nb">bin</span>
|
127
|
+
<span class="n">mv</span> <span class="o">~/</span><span class="n">Downloads</span><span class="o">/</span><span class="n">SnapPy</span><span class="o">-</span><span class="n">x86_64</span><span class="o">.</span><span class="n">AppImage</span> <span class="o">~/</span><span class="nb">bin</span>
|
128
|
+
<span class="n">chmod</span> <span class="o">+</span><span class="n">x</span> <span class="o">~/</span><span class="nb">bin</span><span class="o">/</span><span class="n">SnapPy</span><span class="o">-</span><span class="n">x86_64</span><span class="o">.</span><span class="n">AppImage</span>
|
129
|
+
<span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">-</span><span class="n">f</span> <span class="o">~/</span><span class="nb">bin</span><span class="o">/</span><span class="n">SnapPy</span><span class="o">-</span><span class="n">x86_64</span><span class="o">.</span><span class="n">AppImage</span> <span class="o">~/</span><span class="nb">bin</span><span class="o">/</span><span class="n">SnapPy</span>
|
130
|
+
<span class="o">~/</span><span class="nb">bin</span><span class="o">/</span><span class="n">SnapPy</span><span class="o">-</span><span class="n">x86_64</span><span class="o">.</span><span class="n">AppImage</span> <span class="o">--</span><span class="n">install</span>
|
131
|
+
</pre></div>
|
132
|
+
</div>
|
133
|
+
<p>The last command registers the SnapPy app with your desktop system and
|
134
|
+
starts it. Next time, you can start SnapPy by using the desktop
|
135
|
+
search tool with GNOME or the main menu with KDE. You can pin also the icon
|
136
|
+
to your dash or task bar for easy access. From a terminal window, you
|
137
|
+
can also start the app by typing <code class="docutils literal notranslate"><span class="pre">SnapPy</span></code> provided <code class="docutils literal notranslate"><span class="pre">~/bin</span></code> is in
|
138
|
+
your <a class="reference external" href="https://opensource.com/article/17/6/set-path-linux">$PATH</a>.</p>
|
139
|
+
</section>
|
140
|
+
<section id="python-modules-for-macos-or-windows">
|
141
|
+
<h2>Python Modules for macOS or Windows<a class="headerlink" href="#python-modules-for-macos-or-windows" title="Link to this heading"></a></h2>
|
142
|
+
<p>If you write Python programs on macOS or Windows, you may wish to
|
143
|
+
install SnapPy as a Python module into your own copy of Python. We
|
144
|
+
support Python 3.9 and up. (On macOS, use a Python downloaded from
|
145
|
+
<a class="reference external" href="http://python.org">Python.org</a> and not the one provided by Apple.)
|
146
|
+
After installing Python, you may install a SnapPy module from your
|
147
|
+
Terminal application or Command Prompt with the command:</p>
|
148
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="o">--</span><span class="n">user</span> <span class="n">snappy</span> <span class="n">snappy_15_knots</span>
|
149
|
+
</pre></div>
|
150
|
+
</div>
|
151
|
+
<p>If you do not want the larger version of HTLinkExteriors that includes
|
152
|
+
the 15 crossing knots (it uses 110M of disk space), omit
|
153
|
+
<code class="docutils literal notranslate"><span class="pre">snappy_15_knots</span></code> from the command.</p>
|
154
|
+
</section>
|
155
|
+
<section id="python-modules-for-linux">
|
156
|
+
<h2>Python Modules for Linux<a class="headerlink" href="#python-modules-for-linux" title="Link to this heading"></a></h2>
|
157
|
+
<p>You can also use SnapPy with your Linux system’s version of Python,
|
158
|
+
for example if you want to incorporate SnapPy in your own Python
|
159
|
+
scripts. These instructions assume you have system administrator
|
160
|
+
(superuser) privileges to install software packages from your Linux
|
161
|
+
distribution. (If you’re not a superuser, use either the
|
162
|
+
<a class="reference internal" href="#linux-app">Linux app</a> or <a class="reference internal" href="#conda">conda</a>.)</p>
|
163
|
+
<p>The first step is to install Python and other requirements; here’s how
|
164
|
+
to do that on the most popular Linux distributions:</p>
|
165
|
+
<ul>
|
166
|
+
<li><p><strong>Ubuntu/Debian/Mint/MX Linux/Elementary:</strong> Tested on Ubuntu 24.04:</p>
|
167
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">python3</span><span class="o">-</span><span class="n">pip</span> <span class="n">python3</span><span class="o">-</span><span class="n">tk</span>
|
168
|
+
</pre></div>
|
169
|
+
</div>
|
170
|
+
</li>
|
171
|
+
<li><p><strong>Fedora</strong>: Tested on Fedora 41:</p>
|
172
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">dnf</span> <span class="n">install</span> <span class="n">python3</span><span class="o">-</span><span class="n">pip</span> <span class="n">python3</span><span class="o">-</span><span class="n">tkinter</span>
|
173
|
+
</pre></div>
|
174
|
+
</div>
|
175
|
+
</li>
|
176
|
+
<li><p><strong>Arch/Manjaro/EndeavourOS</strong>: Install via:</p>
|
177
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">pacman</span> <span class="o">-</span><span class="n">Sy</span> <span class="n">python</span><span class="o">-</span><span class="n">pip</span> <span class="n">tk</span>
|
178
|
+
</pre></div>
|
179
|
+
</div>
|
180
|
+
</li>
|
181
|
+
<li><p><strong>openSUSE</strong>: For Tumbleweed:</p>
|
182
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">zypper</span> <span class="n">install</span> <span class="n">python3</span><span class="o">-</span><span class="n">pip</span> <span class="n">python3</span><span class="o">-</span><span class="n">tk</span>
|
183
|
+
</pre></div>
|
184
|
+
</div>
|
185
|
+
<p>For Leap, as of version 15.6 you need to ask for a recent version of
|
186
|
+
Python or it will give you Python 3.6 which is too old for SnapPy:</p>
|
187
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">zypper</span> <span class="n">install</span> <span class="n">python312</span><span class="o">-</span><span class="n">pip</span> <span class="n">python312</span><span class="o">-</span><span class="n">tk</span>
|
188
|
+
</pre></div>
|
189
|
+
</div>
|
190
|
+
<p>You will need to replace <code class="docutils literal notranslate"><span class="pre">python3</span></code> by <code class="docutils literal notranslate"><span class="pre">python3.12</span></code> in subsequent
|
191
|
+
steps.</p>
|
192
|
+
</li>
|
193
|
+
<li><p><strong>Red Hat Enterprise Linux/CentOS/Rocky Linux/AlmaLinux:</strong>: These instructions
|
194
|
+
are for version 8 or later; tested on AlmaLinux 8 and 9:</p>
|
195
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">dnf</span> <span class="n">install</span> <span class="n">python3</span><span class="mf">.11</span><span class="o">-</span><span class="n">pip</span> <span class="n">python3</span><span class="mf">.11</span><span class="o">-</span><span class="n">tkinter</span>
|
196
|
+
</pre></div>
|
197
|
+
</div>
|
198
|
+
<p>You will also need to replace <code class="docutils literal notranslate"><span class="pre">python3</span></code> by <code class="docutils literal notranslate"><span class="pre">python3.11</span></code> in subsequent
|
199
|
+
steps.</p>
|
200
|
+
</li>
|
201
|
+
</ul>
|
202
|
+
<p>Next, you need to install the SnapPy Python modules. For this, you can
|
203
|
+
either use a <em>virtual environment</em> (<code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">venv</span></code>) or do a <em>user
|
204
|
+
install</em> (<code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">--user</span></code>). The former will work on any
|
205
|
+
version of Linux, whereas the latter is now strongly discouraged on
|
206
|
+
many systems (e.g. Ubuntu 24.04). If you have not previously
|
207
|
+
installed SnapPy on this computer, we recommend using a virtual
|
208
|
+
environment, but suggest a user install if you are upgrading an
|
209
|
+
existing version of SnapPy that was installed in that manner.</p>
|
210
|
+
<dl>
|
211
|
+
<dt>Virtual environment</dt><dd><p>Here is the <a class="reference external" href="https://docs.python.org/3/tutorial/venv.html">official tutorial</a> on using virtual
|
212
|
+
environments in Python and an <a class="reference external" href="https://realpython.com/python-virtual-environments-a-primer/">in-depth article</a>. A
|
213
|
+
recipe is:</p>
|
214
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">venv</span> <span class="n">snappy_venv</span>
|
215
|
+
<span class="c1"># Switch to snappy_venv's Python</span>
|
216
|
+
<span class="n">source</span> <span class="n">snappy_venv</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
|
217
|
+
<span class="n">pip</span> <span class="n">install</span> <span class="n">snappy</span> <span class="n">snappy_15_knots</span>
|
218
|
+
<span class="c1"># Start the SnapPy app!</span>
|
219
|
+
<span class="n">SnapPy</span>
|
220
|
+
<span class="c1"># Return to system Python</span>
|
221
|
+
<span class="n">deactivate</span>
|
222
|
+
</pre></div>
|
223
|
+
</div>
|
224
|
+
<p>If you always want to use the <code class="docutils literal notranslate"><span class="pre">snappy_venv</span></code> Python, adjust your
|
225
|
+
<a class="reference external" href="https://opensource.com/article/17/6/set-path-linux">$PATH</a> to
|
226
|
+
<strong>start</strong> with <code class="docutils literal notranslate"><span class="pre">snappy_venv/bin</span></code>.</p>
|
227
|
+
</dd>
|
228
|
+
<dt>User install</dt><dd><p>To do a user install with pip, try:</p>
|
229
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Note no "sudo" below!</span>
|
230
|
+
<span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="o">--</span><span class="n">user</span> <span class="n">snappy</span> <span class="n">snappy_15_knots</span>
|
231
|
+
</pre></div>
|
232
|
+
</div>
|
233
|
+
<p>If you get a long error message that starts:</p>
|
234
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">error</span><span class="p">:</span> <span class="n">externally</span><span class="o">-</span><span class="n">managed</span><span class="o">-</span><span class="n">environment</span>
|
235
|
+
</pre></div>
|
236
|
+
</div>
|
237
|
+
<p>you should probably use a virtual environment; however,
|
238
|
+
you can force pip to do a user install via:</p>
|
239
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Note no "sudo" below!</span>
|
240
|
+
<span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="o">--</span><span class="n">user</span> <span class="o">--</span><span class="k">break</span><span class="o">-</span><span class="n">system</span><span class="o">-</span><span class="n">packages</span> <span class="n">snappy</span> <span class="n">snappy_15_knots</span>
|
241
|
+
</pre></div>
|
242
|
+
</div>
|
243
|
+
<p>Despite the scary name, provided you don’t use <code class="docutils literal notranslate"><span class="pre">sudo</span></code>, this will
|
244
|
+
not actually modify the system packages, but rather install
|
245
|
+
<code class="docutils literal notranslate"><span class="pre">snappy</span></code> into the subdirectory
|
246
|
+
<code class="docutils literal notranslate"><span class="pre">~/.local/share/python3.*/site-packages</span></code> of your home directory.</p>
|
247
|
+
<p>After a user install, you run the following command to start
|
248
|
+
the app:</p>
|
249
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">~/.</span><span class="n">local</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">SnapPy</span>
|
250
|
+
</pre></div>
|
251
|
+
</div>
|
252
|
+
<p>So that you can start SnapPy with just the command <code class="docutils literal notranslate"><span class="pre">SnapPy</span></code>, make
|
253
|
+
sure <code class="docutils literal notranslate"><span class="pre">~/.local/bin</span></code> is in <a class="reference external" href="https://opensource.com/article/17/6/set-path-linux">in your path</a>.</p>
|
254
|
+
</dd>
|
255
|
+
</dl>
|
256
|
+
</section>
|
257
|
+
<section id="sagemath">
|
258
|
+
<h2>SageMath<a class="headerlink" href="#sagemath" title="Link to this heading"></a></h2>
|
259
|
+
<p>SnapPy has some special features when used within <a class="reference external" href="http://sagemath.org">SageMath</a>, the universal mathematics software based on
|
260
|
+
Python. This section describes how to install SnapPy into your
|
261
|
+
existing copy of SageMath:</p>
|
262
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span> <span class="o">-</span><span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">upgrade</span> <span class="n">snappy</span> <span class="n">snappy_15_knots</span>
|
263
|
+
</pre></div>
|
264
|
+
</div>
|
265
|
+
<p>Alternatively, SageMath on <a class="reference external" href="https://cocalc.com/">CoCalc</a> (formerly
|
266
|
+
the SageMathCloud) also has SnapPy preinstalled, and the graphics
|
267
|
+
features even work via the <a class="reference external" href="http://blog.sagemath.com/cocalc/2018/11/05/x11.html">X11 interface</a>, see the
|
268
|
+
bottom of that page for more.</p>
|
269
|
+
<p>The graphical features may or may not work, depending on how Tkinter
|
270
|
+
was configured within Sage. (There is no problem on macOS if you use
|
271
|
+
this <a class="reference external" href="https://github.com/3-manifolds/Sage_macOS/releases">SageMath binary</a>.) If the
|
272
|
+
graphical features seem to “hang” when you try to start them, type
|
273
|
+
<code class="docutils literal notranslate"><span class="pre">%gui</span> <span class="pre">tk</span></code> at the Sage prompt; please note that doing so may break
|
274
|
+
Sage’s “attach” feature.</p>
|
275
|
+
</section>
|
276
|
+
<section id="kitchen-sink">
|
277
|
+
<h2>Kitchen sink<a class="headerlink" href="#kitchen-sink" title="Link to this heading"></a></h2>
|
278
|
+
<p>SnapPy gains extra features when used in <a class="reference external" href="http://sagemath.org">SageMath</a> and one can use
|
279
|
+
Sage’s Python to interact not just with SnapPy but a range of other
|
280
|
+
computational tools in low-dimensional topology including
|
281
|
+
<a class="reference external" href="http://regina-normal.github.io/">Regina</a>,
|
282
|
+
<a class="reference external" href="http://snap-pari.sourceforge.net">snap</a>,
|
283
|
+
<a class="reference external" href="https://github.com/3-manifolds/heegaard">heegaard</a>,
|
284
|
+
<a class="reference external" href="https://github.com/3-manifolds/gridlink">gridlink</a>,
|
285
|
+
and <a class="reference external" href="http://flipper.readthedocs.io">flipper</a>.
|
286
|
+
We offer a <a class="reference external" href="https://hub.docker.com/r/computop/sage/">prepackaged Docker image</a> with all of the above tools
|
287
|
+
and many more; using this is sometimes the easiest way to get a
|
288
|
+
working setup for such multifaceted computations, especially on Windows. For more, watch
|
289
|
+
<a class="reference external" href="https://icerm.brown.edu/video_archive/?play=1992">this demonstration</a>.</p>
|
290
|
+
</section>
|
291
|
+
<section id="conda">
|
292
|
+
<h2>Conda<a class="headerlink" href="#conda" title="Link to this heading"></a></h2>
|
293
|
+
<p>Conda can be used to install Python on all platforms and is a
|
294
|
+
particularly good choice to use SnapPy on the older Linux systems
|
295
|
+
often found on high-performance clusters. Here is a recipe for
|
296
|
+
installing SnapPy into a new conda environment on macOS or Linux:</p>
|
297
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">source</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
|
298
|
+
<span class="n">mamba</span> <span class="n">create</span> <span class="o">--</span><span class="n">name</span> <span class="n">snappy_env</span> <span class="n">python</span><span class="o">=</span><span class="mf">3.12</span>
|
299
|
+
<span class="n">conda</span> <span class="n">activate</span> <span class="n">snappy_env</span>
|
300
|
+
<span class="n">pip</span> <span class="n">install</span> <span class="n">snappy</span>
|
301
|
+
<span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">snappy</span><span class="o">.</span><span class="n">app</span>
|
302
|
+
</pre></div>
|
303
|
+
</div>
|
304
|
+
</section>
|
305
|
+
<section id="source-code">
|
306
|
+
<h2>Source code<a class="headerlink" href="#source-code" title="Link to this heading"></a></h2>
|
307
|
+
<p>The complete source code for all platforms: <a class="reference external" href="https://pypi.python.org/packages/source/s/snappy/snappy-3.2.tar.gz">snappy-3.2.tar.gz</a></p>
|
308
|
+
<p>You can also browse our <a class="reference external" href="https://github.com/3-manifolds/SnapPy">source code repository</a> or clone it using <a class="reference external" href="https://git-scm.com/">git</a> via:</p>
|
309
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="mi">3</span><span class="o">-</span><span class="n">manifolds</span><span class="o">/</span><span class="n">SnapPy</span><span class="o">.</span><span class="n">git</span>
|
310
|
+
</pre></div>
|
311
|
+
</div>
|
312
|
+
</section>
|
313
|
+
</section>
|
314
|
+
|
315
|
+
|
316
|
+
</div>
|
317
|
+
</div>
|
318
|
+
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
319
|
+
<a href="index.html" class="btn btn-neutral float-left" title="SnapPy" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
320
|
+
<a href="screenshots.html" class="btn btn-neutral float-right" title="Screenshots: SnapPy in action" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
321
|
+
</div>
|
322
|
+
|
323
|
+
<hr/>
|
324
|
+
|
325
|
+
<div role="contentinfo">
|
326
|
+
<p>© Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
|
327
|
+
</div>
|
328
|
+
|
329
|
+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
330
|
+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
331
|
+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
332
|
+
|
333
|
+
|
334
|
+
</footer>
|
335
|
+
</div>
|
336
|
+
</div>
|
337
|
+
</section>
|
338
|
+
</div>
|
339
|
+
<script>
|
340
|
+
jQuery(function () {
|
341
|
+
SphinxRtdTheme.Navigation.enable(true);
|
342
|
+
});
|
343
|
+
</script>
|
344
|
+
|
345
|
+
</body>
|
364
346
|
</html>
|