snappy 3.1.1__cp311-cp311-macosx_11_0_arm64.whl → 3.2__cp311-cp311-macosx_11_0_arm64.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.cpython-311-darwin.so +0 -0
- snappy/SnapPy.cpython-311-darwin.so +0 -0
- snappy/SnapPyHP.cpython-311-darwin.so +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/development.rst.txt +66 -46
- snappy/doc/_sources/index.rst.txt +72 -5
- snappy/doc/_sources/installing.rst.txt +145 -162
- snappy/doc/_sources/news.rst.txt +73 -1
- snappy/doc/_sources/ptolemy_examples1.rst.txt +8 -7
- snappy/doc/_sources/ptolemy_examples3.rst.txt +2 -2
- snappy/doc/_sources/triangulation.rst.txt +2 -2
- snappy/doc/_sources/verify.rst.txt +89 -29
- snappy/doc/_sources/verify_internals.rst.txt +5 -16
- snappy/doc/_static/basic.css +23 -1
- 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 +2 -3
- 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 +2 -2
- snappy/doc/_static/pygments.css +1 -0
- snappy/doc/_static/searchtools.js +125 -71
- snappy/doc/_static/sphinx_highlight.js +13 -3
- snappy/doc/additional_classes.html +291 -122
- snappy/doc/bugs.html +17 -20
- snappy/doc/censuses.html +34 -53
- snappy/doc/credits.html +18 -21
- snappy/doc/development.html +88 -68
- snappy/doc/genindex.html +66 -145
- snappy/doc/index.html +86 -31
- snappy/doc/installing.html +164 -182
- snappy/doc/manifold.html +1168 -556
- snappy/doc/manifoldhp.html +18 -21
- snappy/doc/news.html +91 -33
- snappy/doc/objects.inv +0 -0
- snappy/doc/other.html +20 -22
- snappy/doc/platonic_census.html +31 -34
- snappy/doc/plink.html +19 -22
- snappy/doc/ptolemy.html +20 -22
- snappy/doc/ptolemy_classes.html +102 -105
- snappy/doc/ptolemy_examples1.html +34 -36
- snappy/doc/ptolemy_examples2.html +28 -31
- snappy/doc/ptolemy_examples3.html +26 -29
- snappy/doc/ptolemy_examples4.html +20 -23
- snappy/doc/ptolemy_prelim.html +25 -28
- snappy/doc/py-modindex.html +16 -19
- snappy/doc/screenshots.html +22 -24
- snappy/doc/search.html +15 -18
- snappy/doc/searchindex.js +1 -1
- snappy/doc/snap.html +18 -21
- snappy/doc/snappy.html +18 -20
- snappy/doc/spherogram.html +84 -87
- snappy/doc/todo.html +17 -20
- snappy/doc/triangulation.html +324 -215
- snappy/doc/tutorial.html +17 -20
- snappy/doc/verify.html +100 -46
- snappy/doc/verify_internals.html +106 -563
- 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.cpython-311-darwin.so +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 +26 -11
- 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-311.pyc +0 -0
- snappy/__pycache__/browser.cpython-311.pyc +0 -0
- snappy/__pycache__/cache.cpython-311.pyc +0 -0
- snappy/__pycache__/database.cpython-311.pyc +0 -0
- snappy/__pycache__/db_utilities.cpython-311.pyc +0 -0
- snappy/__pycache__/decorated_isosig.cpython-311.pyc +0 -0
- snappy/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/__pycache__/export_stl.cpython-311.pyc +0 -0
- snappy/__pycache__/filedialog.cpython-311.pyc +0 -0
- snappy/__pycache__/gui.cpython-311.pyc +0 -0
- snappy/__pycache__/horoviewer.cpython-311.pyc +0 -0
- snappy/__pycache__/infowindow.cpython-311.pyc +0 -0
- snappy/__pycache__/math_basics.cpython-311.pyc +0 -0
- snappy/__pycache__/matrix.cpython-311.pyc +0 -0
- snappy/__pycache__/number.cpython-311.pyc +0 -0
- snappy/__pycache__/numeric_output_checker.cpython-311.pyc +0 -0
- snappy/__pycache__/pari.cpython-311.pyc +0 -0
- snappy/__pycache__/polyviewer.cpython-311.pyc +0 -0
- snappy/__pycache__/sage_helper.cpython-311.pyc +0 -0
- snappy/__pycache__/version.cpython-311.pyc +0 -0
- snappy/doc/_sources/verify_canon.rst.txt +0 -90
- snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
- snappy/doc/_static/js/html5shiv.min.js +0 -4
- snappy/doc/verify_canon.html +0 -304
- snappy/drilling/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/constants.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/crush.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/cusps.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/debug.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/epsilons.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/fixed_points.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_info.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_tube.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geometric_structure.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/line.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/moves.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/peripheral_curves.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/perturb.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/quotient_space.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/spatial_dict.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/subdivide.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/tracing.cpython-311.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-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/hyp_utils.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/link_projection.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/main.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/pl_utils.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/put_in_S3.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/stored_moves.cpython-311.pyc +0 -0
- snappy/hyperboloid/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/manifolds/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/component.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/coordinates.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/fieldExtensions.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/findLoops.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/homology.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/manifoldMethods.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/matrix.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/polynomial.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processComponents.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileBase.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileDispatch.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processMagmaFile.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processRurFile.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVariety.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/rur.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/finite_raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/gui_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/hyperboloid_navigation.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/hyperboloid_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/ideal_raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/inside_viewer.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/raytracing_view.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/upper_halfspace_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/view_scale_controller.cpython-311.pyc +0 -0
- snappy/raytracing/zoom_slider/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/character_varieties.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/fundamental_polyhedron.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/interval_reps.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/kernel_structures.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/mcomplex_base.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/nsagetools.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/polished_reps.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/shapes.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/slice_obs_HKL.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/utilities.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/link.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/peripheral.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/surface.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/arrow.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/corner.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/edge.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/face.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/files.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/homology.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/linalg.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/mcomplex.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/perm4.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/simplex.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/spun.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/surface.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/vertex.cpython-311.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-311.pyc +0 -0
- snappy/twister/__pycache__/main.cpython-311.pyc +0 -0
- snappy/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/upper_halfspace/__pycache__/ideal_point.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cuspCrossSection.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cuspTranslations.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cusp_areas.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cusp_shapes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/interval_tree.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/realAlgebra.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/shapes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/short_slopes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/squareExtensions.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/verifyCanonical.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/verifyHyperbolicity.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/volume.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/closed.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/cusped.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-311.pyc +0 -0
- snappy/verify/cuspCrossSection.py +0 -1422
- snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-311.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-311.pyc +0 -0
- snappy-3.1.1.dist-info/RECORD +0 -585
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
snappy/doc/installing.html
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
+
|
2
|
+
|
1
3
|
<!DOCTYPE html>
|
2
|
-
<html class="writer-html5" lang="en" >
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="./">
|
3
5
|
<head>
|
4
|
-
<meta charset="utf-8" /><meta name="
|
6
|
+
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
5
7
|
|
6
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
|
-
<title>Installing SnapPy — SnapPy 3.
|
8
|
-
<link rel="stylesheet"
|
9
|
-
<link rel="stylesheet" href="_static/css/theme.css
|
10
|
-
<link rel="stylesheet"
|
11
|
-
|
12
|
-
<!--[if lt IE 9]>
|
13
|
-
<script src="_static/js/html5shiv.min.js"></script>
|
14
|
-
<![endif]-->
|
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
|
+
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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
21
|
<script src="_static/js/theme.js"></script>
|
22
22
|
<link rel="index" title="Index" href="genindex.html" />
|
23
23
|
<link rel="search" title="Search" href="search.html" />
|
@@ -37,9 +37,6 @@
|
|
37
37
|
SnapPy
|
38
38
|
<img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
|
39
39
|
</a>
|
40
|
-
<div class="version">
|
41
|
-
3.1.1
|
42
|
-
</div>
|
43
40
|
<div role="search">
|
44
41
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
45
42
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
@@ -52,11 +49,12 @@
|
|
52
49
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installing SnapPy</a><ul>
|
53
50
|
<li class="toctree-l2"><a class="reference internal" href="#macos">macOS</a></li>
|
54
51
|
<li class="toctree-l2"><a class="reference internal" href="#windows">Windows</a></li>
|
55
|
-
<li class="toctree-l2"><a class="reference internal" href="#linux">Linux</a></li>
|
56
|
-
<li class="toctree-l2"><a class="reference internal" href="#python-modules-for-
|
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>
|
57
55
|
<li class="toctree-l2"><a class="reference internal" href="#sagemath">SageMath</a></li>
|
58
56
|
<li class="toctree-l2"><a class="reference internal" href="#kitchen-sink">Kitchen sink</a></li>
|
59
|
-
<li class="toctree-l2"><a class="reference internal" href="#
|
57
|
+
<li class="toctree-l2"><a class="reference internal" href="#conda">Conda</a></li>
|
60
58
|
<li class="toctree-l2"><a class="reference internal" href="#source-code">Source code</a></li>
|
61
59
|
</ul>
|
62
60
|
</li>
|
@@ -99,151 +97,184 @@
|
|
99
97
|
<div itemprop="articleBody">
|
100
98
|
|
101
99
|
<section id="installing-snappy">
|
102
|
-
<h1>Installing SnapPy<a class="headerlink" href="#installing-snappy" title="
|
100
|
+
<h1>Installing SnapPy<a class="headerlink" href="#installing-snappy" title="Link to this heading"></a></h1>
|
103
101
|
<p>Here are detailed instructions on how to get SnapPy working on a
|
104
|
-
variety of platforms. The current version is 3.
|
105
|
-
on
|
102
|
+
variety of platforms. The current version is 3.2 which was released
|
103
|
+
on January 2025. If you encounter any problems installing SnapPy,
|
106
104
|
<a class="reference internal" href="bugs.html"><span class="doc">please let us know</span></a>.</p>
|
107
105
|
<section id="macos">
|
108
|
-
<h2>macOS<a class="headerlink" href="#macos" title="
|
106
|
+
<h2>macOS<a class="headerlink" href="#macos" title="Link to this heading"></a></h2>
|
109
107
|
<p>Simply download <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/latest/download/SnapPy.dmg">SnapPy.dmg</a>
|
110
108
|
and copy SnapPy.app to the Applications folder. Double-click to start
|
111
|
-
it, just like any other application.
|
112
|
-
newer
|
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>
|
113
111
|
</section>
|
114
112
|
<section id="windows">
|
115
|
-
<h2>Windows<a class="headerlink" href="#windows" title="
|
113
|
+
<h2>Windows<a class="headerlink" href="#windows" title="Link to this heading"></a></h2>
|
116
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>.
|
117
115
|
Earlier releases <a class="reference external" href="https://github.com/3-manifolds/SnapPy/releases/">can be found here</a>.</p>
|
118
116
|
</section>
|
119
|
-
<section id="linux">
|
120
|
-
<h2>Linux<a class="headerlink" href="#linux" title="
|
121
|
-
<p>
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
in
|
127
|
-
|
128
|
-
|
129
|
-
<
|
130
|
-
<
|
131
|
-
<
|
132
|
-
<span class="
|
133
|
-
<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>
|
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>
|
134
131
|
</pre></div>
|
135
132
|
</div>
|
136
|
-
<p>
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
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>
|
141
149
|
</pre></div>
|
142
150
|
</div>
|
143
|
-
|
144
|
-
|
145
|
-
<
|
146
|
-
|
147
|
-
<
|
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>
|
148
168
|
</pre></div>
|
149
169
|
</div>
|
150
170
|
</li>
|
151
|
-
<li><p><strong>
|
152
|
-
|
153
|
-
available</a>.
|
154
|
-
For CentOS and SciLinux, you can access EPEL packages by doing:</p>
|
155
|
-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">epel</span><span class="o">-</span><span class="n">release</span>
|
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>
|
156
173
|
</pre></div>
|
157
174
|
</div>
|
158
|
-
|
159
|
-
<
|
160
|
-
<span class="
|
161
|
-
<span class="n">python36</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>
|
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>
|
162
178
|
</pre></div>
|
163
179
|
</div>
|
164
180
|
</li>
|
165
|
-
<li><p><strong>
|
166
|
-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">
|
167
|
-
<span class="c1"># Note no "sudo" on the next one!</span>
|
168
|
-
<span class="n">python</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>
|
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>
|
169
183
|
</pre></div>
|
170
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>
|
171
192
|
</li>
|
172
|
-
<li><p><strong>
|
173
|
-
|
174
|
-
<span class="
|
175
|
-
<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>
|
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>
|
176
196
|
</pre></div>
|
177
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>
|
178
200
|
</li>
|
179
201
|
</ul>
|
180
|
-
<p>
|
181
|
-
|
182
|
-
|
183
|
-
|
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>
|
184
222
|
</pre></div>
|
185
223
|
</div>
|
186
|
-
<p>
|
187
|
-
<
|
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>
|
188
231
|
</pre></div>
|
189
232
|
</div>
|
190
|
-
<p>
|
191
|
-
|
192
|
-
command “SnapPy” which does the same thing. To make it so that you
|
193
|
-
can start SnapPy with just the command <code class="docutils literal notranslate"><span class="pre">SnapPy</span></code>, make sure
|
194
|
-
<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>
|
195
|
-
</section>
|
196
|
-
<section id="python-modules-for-macintosh-or-windows">
|
197
|
-
<h2>Python Modules for Macintosh or Windows<a class="headerlink" href="#python-modules-for-macintosh-or-windows" title="Permalink to this heading"></a></h2>
|
198
|
-
<p>If you write Python programs on a Macintosh or Windows system, you may
|
199
|
-
wish to install SnapPy as a Python module into your own copy of
|
200
|
-
Python. We support Python 3.6 and up. (On macOS, use a Python
|
201
|
-
downloaded from <a class="reference external" href="http://python.org">Python.org</a> and not the one
|
202
|
-
provided by Apple.) After installing Python, you may install a SnapPy
|
203
|
-
module from your Terminal application or Command Prompt with the
|
204
|
-
commands:</p>
|
205
|
-
<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>
|
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>
|
206
235
|
</pre></div>
|
207
236
|
</div>
|
208
|
-
<p>
|
209
|
-
|
210
|
-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="
|
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>
|
211
241
|
</pre></div>
|
212
242
|
</div>
|
213
|
-
<p>
|
214
|
-
|
215
|
-
|
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>
|
216
256
|
</section>
|
217
257
|
<section id="sagemath">
|
218
|
-
<h2>SageMath<a class="headerlink" href="#sagemath" title="
|
258
|
+
<h2>SageMath<a class="headerlink" href="#sagemath" title="Link to this heading"></a></h2>
|
219
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
|
220
260
|
Python. This section describes how to install SnapPy into your
|
221
|
-
existing copy of SageMath
|
222
|
-
<
|
223
|
-
optional package via the following if using Sage 6.4 or newer:</p>
|
224
|
-
<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="n">snappy</span>
|
225
|
-
<span class="n">sage</span> <span class="o">-</span><span class="n">pip</span> <span class="n">install</span> <span class="n">snappy_15_knots</span> <span class="c1"># Larger version of HTLinkExteriors</span>
|
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>
|
226
263
|
</pre></div>
|
227
264
|
</div>
|
228
|
-
<p>If you are on macOS, we recommend use <a class="reference external" href="https://github.com/3-manifolds/Sage_macOS/releases">this binary</a>.</p>
|
229
265
|
<p>Alternatively, SageMath on <a class="reference external" href="https://cocalc.com/">CoCalc</a> (formerly
|
230
266
|
the SageMathCloud) also has SnapPy preinstalled, and the graphics
|
231
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
|
232
268
|
bottom of that page for more.</p>
|
233
|
-
<p>
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
</
|
238
|
-
|
239
|
-
the <cite>“gl.h” headers <openglmesa></cite>. The graphical features may or may
|
240
|
-
not work, depending on how Tkinter was configured within Sage, and may
|
241
|
-
seem to “hang” when you try to start them. To deal with the latter
|
242
|
-
issue type “%gui tk” at the Sage prompt; please note that doing so may
|
243
|
-
break Sage’s “attach” feature.</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>
|
244
275
|
</section>
|
245
276
|
<section id="kitchen-sink">
|
246
|
-
<h2>Kitchen sink<a class="headerlink" href="#kitchen-sink" title="
|
277
|
+
<h2>Kitchen sink<a class="headerlink" href="#kitchen-sink" title="Link to this heading"></a></h2>
|
247
278
|
<p>SnapPy gains extra features when used in <a class="reference external" href="http://sagemath.org">SageMath</a> and one can use
|
248
279
|
Sage’s Python to interact not just with SnapPy but a range of other
|
249
280
|
computational tools in low-dimensional topology including
|
@@ -253,76 +284,27 @@ computational tools in low-dimensional topology including
|
|
253
284
|
<a class="reference external" href="https://github.com/3-manifolds/gridlink">gridlink</a>,
|
254
285
|
and <a class="reference external" href="http://flipper.readthedocs.io">flipper</a>.
|
255
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
|
256
|
-
and many more; using this is
|
257
|
-
working setup for such multifaceted computations. For more, watch
|
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
|
258
289
|
<a class="reference external" href="https://icerm.brown.edu/video_archive/?play=1992">this demonstration</a>.</p>
|
259
|
-
<p>We also offer <a class="reference external" href="https://github.com/unhyperbolic/condaForSnapPy">conda environments</a> with SnapPy and
|
260
|
-
optionally Sage (only on Mac OS and Linux). While it has none of the
|
261
|
-
other aforementioned tools, it has the advantage that the GUI elements
|
262
|
-
such as the link editor and the browser can be used directly.</p>
|
263
290
|
</section>
|
264
|
-
<section id="
|
265
|
-
<h2>
|
266
|
-
<p>
|
267
|
-
|
268
|
-
Here
|
269
|
-
|
270
|
-
<
|
271
|
-
<
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
“python3-devel”, and “python3-wheel”.</p></li>
|
276
|
-
<li><p>Test that Python is in order by installing PLink from source:</p>
|
277
|
-
<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">user</span> <span class="n">plink</span>
|
278
|
-
<span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">plink</span><span class="o">.</span><span class="n">app</span> <span class="c1"># Should start the link editor!</span>
|
279
|
-
</pre></div>
|
280
|
-
</div>
|
281
|
-
</li>
|
282
|
-
</ul>
|
283
|
-
<ul id="openglmesa">
|
284
|
-
<li><p>Support for OpenGL (3D graphics): This is built in on OS X and the
|
285
|
-
most installations of Fedora and Ubuntu. But you’ll need the <a class="reference external" href="http://www.mesa3d.org/">MESA</a> header files “gl.h” and “glu.h” to compile
|
286
|
-
SnapPy. On Debian and Ubuntu, install “libglu1-mesa-dev”; On Fedora install
|
287
|
-
“mesa-libGLU-devel”.</p></li>
|
288
|
-
<li><p><a class="reference external" href="http://cython.org">Cython</a>, which you can install via:</p>
|
289
|
-
<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">user</span> <span class="n">cython</span>
|
290
|
-
</pre></div>
|
291
|
-
</div>
|
292
|
-
</li>
|
293
|
-
<li><p>The gcc C++ compiler, g++.</p></li>
|
294
|
-
<li><p><a class="reference external" href="https://pypi.python.org/pypi/cypari/">CyPari</a>: a stand-alone version of
|
295
|
-
<a class="reference external" href="http://sagemath.org">Sage’s</a> Python interface to the
|
296
|
-
<a class="reference external" href="http://pari.math.u-bordeaux.fr/PARI">PARI</a> number theory
|
297
|
-
library. Usually, you can install this with:</p>
|
298
|
-
<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">user</span> <span class="n">cypari</span>
|
299
|
-
</pre></div>
|
300
|
-
</div>
|
301
|
-
</li>
|
302
|
-
</ul>
|
303
|
-
<p>Now download the <a class="reference internal" href="#source-code">source code</a> listed below, for instance</p>
|
304
|
-
<pre class="literal-block">wget <a class="reference external" href="https://pypi.python.org/packages/source/s/snappy/">https://pypi.python.org/packages/source/s/snappy/</a>snappy-3.1.1.tar.gz
|
305
|
-
tar xfz snappy-3.1.1.tar.gz; cd snappy-*</pre>
|
306
|
-
<p>There is one more dependency that may need to be dealt with:</p>
|
307
|
-
<ul class="simple">
|
308
|
-
<li><p><a class="reference external" href="http://togl.sf.net">Togl</a>: a 3d widget for Tk. For OS X and
|
309
|
-
Linux, there are pre-built binaries of this in the snappy
|
310
|
-
subdirectory, e.g. snappy/linux2-tk8.4. For Linux these are built
|
311
|
-
for 64-bit kernels, and should work on most systems. If they don’t,
|
312
|
-
you’ll need to edit or follow “build_togl.sh” to build Togl directly.</p></li>
|
313
|
-
</ul>
|
314
|
-
<p>Finally, compile and install the SnapPy module (which will install
|
315
|
-
certain other dependencies) and test:</p>
|
316
|
-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python3</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">build</span>
|
317
|
-
<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">user</span> <span class="o">.</span>
|
318
|
-
<span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">snappy</span><span class="o">.</span><span class="n">test</span>
|
319
|
-
<span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">snappy</span><span class="o">.</span><span class="n">app</span>
|
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>
|
320
302
|
</pre></div>
|
321
303
|
</div>
|
322
304
|
</section>
|
323
305
|
<section id="source-code">
|
324
|
-
<h2>Source code<a class="headerlink" href="#source-code" title="
|
325
|
-
<p>The complete source code for all platforms: <a class="reference external" href="https://pypi.python.org/packages/source/s/snappy/snappy-3.
|
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>
|
326
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>
|
327
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>
|
328
310
|
</pre></div>
|
@@ -341,7 +323,7 @@ certain other dependencies) and test:</p>
|
|
341
323
|
<hr/>
|
342
324
|
|
343
325
|
<div role="contentinfo">
|
344
|
-
<p>© Copyright 2009-
|
326
|
+
<p>© Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
|
345
327
|
</div>
|
346
328
|
|
347
329
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|