snappy 3.1__cp310-cp310-macosx_11_0_arm64.whl → 3.2__cp310-cp310-macosx_11_0_arm64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (465) hide show
  1. snappy/CyOpenGL.cpython-310-darwin.so +0 -0
  2. snappy/SnapPy.cpython-310-darwin.so +0 -0
  3. snappy/SnapPyHP.cpython-310-darwin.so +0 -0
  4. snappy/__init__.py +299 -402
  5. snappy/app.py +70 -20
  6. snappy/browser.py +18 -17
  7. snappy/canonical.py +249 -0
  8. snappy/{verify/cusp_shapes.py → cusps/__init__.py} +8 -18
  9. snappy/cusps/cusp_area_matrix.py +101 -0
  10. snappy/{verify/cusp_areas.py → cusps/cusp_areas_from_matrix.py} +23 -39
  11. snappy/cusps/maximal_cusp_area_matrix.py +136 -0
  12. snappy/cusps/test.py +21 -0
  13. snappy/cusps/trig_cusp_area_matrix.py +63 -0
  14. snappy/database.py +10 -9
  15. snappy/decorated_isosig.py +337 -114
  16. snappy/dev/extended_ptolemy/complexVolumesClosed.py +40 -7
  17. snappy/dev/extended_ptolemy/extended.py +3 -3
  18. snappy/dev/extended_ptolemy/phc_wrapper.py +10 -10
  19. snappy/dev/vericlosed/oneVertexTruncatedComplex.py +1 -1
  20. snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
  21. snappy/doc/_images/m125_paper_plane.jpg +0 -0
  22. snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
  23. snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
  24. snappy/doc/_sources/credits.rst.txt +6 -1
  25. snappy/doc/_sources/development.rst.txt +66 -46
  26. snappy/doc/_sources/index.rst.txt +72 -5
  27. snappy/doc/_sources/installing.rst.txt +145 -162
  28. snappy/doc/_sources/news.rst.txt +73 -1
  29. snappy/doc/_sources/ptolemy_examples1.rst.txt +8 -7
  30. snappy/doc/_sources/ptolemy_examples3.rst.txt +2 -2
  31. snappy/doc/_sources/triangulation.rst.txt +2 -2
  32. snappy/doc/_sources/verify.rst.txt +89 -29
  33. snappy/doc/_sources/verify_internals.rst.txt +5 -16
  34. snappy/doc/_static/basic.css +23 -1
  35. snappy/doc/_static/css/badge_only.css +1 -1
  36. snappy/doc/_static/css/theme.css +1 -1
  37. snappy/doc/_static/doctools.js +1 -1
  38. snappy/doc/_static/documentation_options.js +2 -3
  39. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  40. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  41. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  42. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  43. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  44. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  45. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  46. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  47. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  48. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  49. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  50. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  51. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  52. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  53. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  54. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  55. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  56. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  57. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  58. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  59. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  60. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  61. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  62. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  63. snappy/doc/_static/js/versions.js +228 -0
  64. snappy/doc/_static/language_data.js +2 -2
  65. snappy/doc/_static/pygments.css +1 -0
  66. snappy/doc/_static/searchtools.js +125 -71
  67. snappy/doc/_static/sphinx_highlight.js +13 -3
  68. snappy/doc/additional_classes.html +291 -122
  69. snappy/doc/bugs.html +17 -20
  70. snappy/doc/censuses.html +34 -53
  71. snappy/doc/credits.html +22 -22
  72. snappy/doc/development.html +88 -68
  73. snappy/doc/genindex.html +66 -145
  74. snappy/doc/index.html +86 -31
  75. snappy/doc/installing.html +164 -182
  76. snappy/doc/manifold.html +1168 -556
  77. snappy/doc/manifoldhp.html +18 -21
  78. snappy/doc/news.html +91 -33
  79. snappy/doc/objects.inv +0 -0
  80. snappy/doc/other.html +20 -22
  81. snappy/doc/platonic_census.html +31 -34
  82. snappy/doc/plink.html +19 -22
  83. snappy/doc/ptolemy.html +20 -22
  84. snappy/doc/ptolemy_classes.html +102 -105
  85. snappy/doc/ptolemy_examples1.html +34 -36
  86. snappy/doc/ptolemy_examples2.html +28 -31
  87. snappy/doc/ptolemy_examples3.html +26 -29
  88. snappy/doc/ptolemy_examples4.html +20 -23
  89. snappy/doc/ptolemy_prelim.html +25 -28
  90. snappy/doc/py-modindex.html +16 -19
  91. snappy/doc/screenshots.html +22 -24
  92. snappy/doc/search.html +15 -18
  93. snappy/doc/searchindex.js +1 -1
  94. snappy/doc/snap.html +18 -21
  95. snappy/doc/snappy.html +18 -20
  96. snappy/doc/spherogram.html +84 -87
  97. snappy/doc/todo.html +17 -20
  98. snappy/doc/triangulation.html +324 -215
  99. snappy/doc/tutorial.html +17 -20
  100. snappy/doc/verify.html +100 -46
  101. snappy/doc/verify_internals.html +106 -563
  102. snappy/drilling/__init__.py +153 -235
  103. snappy/drilling/barycentric.py +103 -0
  104. snappy/drilling/constants.py +0 -2
  105. snappy/drilling/crush.py +56 -130
  106. snappy/drilling/cusps.py +12 -6
  107. snappy/drilling/debug.py +2 -1
  108. snappy/drilling/exceptions.py +7 -40
  109. snappy/drilling/moves.py +302 -243
  110. snappy/drilling/perturb.py +63 -37
  111. snappy/drilling/shorten.py +36 -0
  112. snappy/drilling/subdivide.py +0 -5
  113. snappy/drilling/test.py +23 -0
  114. snappy/drilling/test_cases.py +126 -0
  115. snappy/drilling/tracing.py +9 -37
  116. snappy/exceptions.py +18 -5
  117. snappy/exterior_to_link/barycentric_geometry.py +2 -4
  118. snappy/exterior_to_link/main.py +8 -7
  119. snappy/exterior_to_link/mcomplex_with_link.py +2 -2
  120. snappy/exterior_to_link/rational_linear_algebra.py +1 -1
  121. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
  122. snappy/exterior_to_link/test.py +21 -33
  123. snappy/geometric_structure/__init__.py +212 -0
  124. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  125. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
  126. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
  127. snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
  128. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
  129. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
  130. snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
  131. snappy/geometric_structure/geodesic/__init__.py +0 -0
  132. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  133. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  134. snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
  135. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  136. snappy/geometric_structure/geodesic/constants.py +6 -0
  137. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  138. snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
  139. snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
  140. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  141. snappy/geometric_structure/geodesic/line.py +30 -0
  142. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  143. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
  144. snappy/geometric_structure/test.py +22 -0
  145. snappy/gui.py +23 -13
  146. snappy/horoviewer.py +7 -7
  147. snappy/hyperboloid/__init__.py +96 -31
  148. snappy/hyperboloid/distances.py +245 -0
  149. snappy/hyperboloid/horoball.py +19 -0
  150. snappy/hyperboloid/line.py +35 -0
  151. snappy/hyperboloid/point.py +9 -0
  152. snappy/hyperboloid/triangle.py +29 -0
  153. snappy/isometry_signature.py +382 -0
  154. snappy/len_spec/__init__.py +596 -0
  155. snappy/len_spec/geodesic_info.py +110 -0
  156. snappy/len_spec/geodesic_key_info_dict.py +117 -0
  157. snappy/len_spec/geodesic_piece.py +143 -0
  158. snappy/len_spec/geometric_structure.py +182 -0
  159. snappy/len_spec/geometry.py +80 -0
  160. snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
  161. snappy/len_spec/spine.py +206 -0
  162. snappy/len_spec/test.py +24 -0
  163. snappy/len_spec/test_cases.py +69 -0
  164. snappy/len_spec/tile.py +275 -0
  165. snappy/len_spec/word.py +86 -0
  166. snappy/math_basics.py +39 -13
  167. snappy/matrix.py +52 -9
  168. snappy/number.py +12 -6
  169. snappy/numeric_output_checker.py +2 -3
  170. snappy/pari.py +8 -4
  171. snappy/phone_home.py +2 -1
  172. snappy/polyviewer.py +8 -8
  173. snappy/ptolemy/__init__.py +1 -1
  174. snappy/ptolemy/component.py +2 -2
  175. snappy/ptolemy/coordinates.py +25 -25
  176. snappy/ptolemy/findLoops.py +9 -9
  177. snappy/ptolemy/manifoldMethods.py +27 -29
  178. snappy/ptolemy/polynomial.py +50 -57
  179. snappy/ptolemy/processFileBase.py +60 -0
  180. snappy/ptolemy/ptolemyVariety.py +109 -41
  181. snappy/ptolemy/reginaWrapper.py +4 -4
  182. snappy/ptolemy/rur.py +1 -1
  183. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
  184. snappy/ptolemy/test.py +99 -54
  185. snappy/ptolemy/utilities.py +1 -1
  186. snappy/raytracing/__init__.py +64 -0
  187. snappy/raytracing/additional_horospheres.py +64 -0
  188. snappy/raytracing/additional_len_spec_choices.py +63 -0
  189. snappy/raytracing/cohomology_fractal.py +0 -3
  190. snappy/raytracing/eyeball.py +123 -0
  191. snappy/raytracing/finite_raytracing_data.py +17 -17
  192. snappy/raytracing/finite_viewer.py +15 -15
  193. snappy/raytracing/geodesic_tube_info.py +93 -63
  194. snappy/raytracing/geodesics.py +94 -64
  195. snappy/raytracing/geodesics_window.py +56 -34
  196. snappy/raytracing/gui_utilities.py +21 -6
  197. snappy/raytracing/hyperboloid_navigation.py +29 -4
  198. snappy/raytracing/hyperboloid_utilities.py +73 -73
  199. snappy/raytracing/ideal_raytracing_data.py +121 -91
  200. snappy/raytracing/inside_viewer.py +199 -66
  201. snappy/raytracing/pack.py +22 -0
  202. snappy/raytracing/raytracing_data.py +37 -25
  203. snappy/raytracing/raytracing_view.py +70 -65
  204. snappy/raytracing/shaders/Eye.png +0 -0
  205. snappy/raytracing/shaders/NonGeometric.png +0 -0
  206. snappy/raytracing/shaders/__init__.py +39 -3
  207. snappy/raytracing/shaders/fragment.glsl +451 -133
  208. snappy/raytracing/test.py +29 -0
  209. snappy/raytracing/tooltip.py +146 -0
  210. snappy/raytracing/upper_halfspace_utilities.py +42 -9
  211. snappy/sage_helper.py +67 -134
  212. snappy/settings.py +90 -77
  213. snappy/shell.py +2 -0
  214. snappy/snap/character_varieties.py +2 -2
  215. snappy/snap/find_field.py +4 -3
  216. snappy/snap/fundamental_polyhedron.py +2 -2
  217. snappy/snap/kernel_structures.py +5 -1
  218. snappy/snap/nsagetools.py +9 -8
  219. snappy/snap/peripheral/dual_cellulation.py +4 -3
  220. snappy/snap/peripheral/peripheral.py +2 -2
  221. snappy/snap/peripheral/surface.py +5 -5
  222. snappy/snap/peripheral/test.py +1 -1
  223. snappy/snap/polished_reps.py +8 -8
  224. snappy/snap/slice_obs_HKL.py +16 -14
  225. snappy/snap/t3mlite/arrow.py +3 -3
  226. snappy/snap/t3mlite/edge.py +3 -3
  227. snappy/snap/t3mlite/homology.py +2 -2
  228. snappy/snap/t3mlite/mcomplex.py +3 -3
  229. snappy/snap/t3mlite/simplex.py +12 -0
  230. snappy/snap/t3mlite/spun.py +18 -17
  231. snappy/snap/t3mlite/test_vs_regina.py +4 -4
  232. snappy/snap/test.py +37 -53
  233. snappy/snap/utilities.py +4 -5
  234. snappy/test.py +121 -138
  235. snappy/test_cases.py +263 -0
  236. snappy/testing.py +131 -0
  237. snappy/tiling/__init__.py +2 -0
  238. snappy/tiling/canonical_key_dict.py +59 -0
  239. snappy/tiling/dict_based_set.py +79 -0
  240. snappy/tiling/floor.py +49 -0
  241. snappy/tiling/hyperboloid_dict.py +54 -0
  242. snappy/tiling/iter_utils.py +78 -0
  243. snappy/tiling/lifted_tetrahedron.py +22 -0
  244. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  245. snappy/tiling/real_hash_dict.py +164 -0
  246. snappy/tiling/test.py +23 -0
  247. snappy/tiling/tile.py +215 -0
  248. snappy/tiling/triangle.py +33 -0
  249. snappy/tkterminal.py +116 -86
  250. snappy/twister/main.py +1 -7
  251. snappy/twister/twister_core.cpython-310-darwin.so +0 -0
  252. snappy/upper_halfspace/__init__.py +78 -17
  253. snappy/verify/__init__.py +3 -7
  254. snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
  255. snappy/verify/complex_volume/adjust_torsion.py +1 -2
  256. snappy/verify/complex_volume/closed.py +13 -13
  257. snappy/verify/complex_volume/cusped.py +6 -6
  258. snappy/verify/complex_volume/extended_bloch.py +5 -8
  259. snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
  260. snappy/verify/edge_equations.py +80 -0
  261. snappy/verify/exceptions.py +0 -55
  262. snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
  263. snappy/verify/interval_newton_shapes_engine.py +7 -5
  264. snappy/verify/interval_tree.py +5 -5
  265. snappy/verify/krawczyk_shapes_engine.py +17 -18
  266. snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
  267. snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
  268. snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
  269. snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
  270. snappy/verify/shapes.py +5 -3
  271. snappy/verify/short_slopes.py +39 -41
  272. snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
  273. snappy/verify/test.py +57 -60
  274. snappy/verify/upper_halfspace/extended_matrix.py +1 -1
  275. snappy/verify/upper_halfspace/finite_point.py +3 -4
  276. snappy/verify/upper_halfspace/ideal_point.py +9 -9
  277. snappy/verify/volume.py +2 -2
  278. snappy/version.py +2 -2
  279. {snappy-3.1.dist-info → snappy-3.2.dist-info}/METADATA +26 -11
  280. snappy-3.2.dist-info/RECORD +503 -0
  281. {snappy-3.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
  282. {snappy-3.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
  283. snappy/__pycache__/__init__.cpython-310.pyc +0 -0
  284. snappy/__pycache__/browser.cpython-310.pyc +0 -0
  285. snappy/__pycache__/cache.cpython-310.pyc +0 -0
  286. snappy/__pycache__/database.cpython-310.pyc +0 -0
  287. snappy/__pycache__/db_utilities.cpython-310.pyc +0 -0
  288. snappy/__pycache__/decorated_isosig.cpython-310.pyc +0 -0
  289. snappy/__pycache__/exceptions.cpython-310.pyc +0 -0
  290. snappy/__pycache__/export_stl.cpython-310.pyc +0 -0
  291. snappy/__pycache__/filedialog.cpython-310.pyc +0 -0
  292. snappy/__pycache__/gui.cpython-310.pyc +0 -0
  293. snappy/__pycache__/horoviewer.cpython-310.pyc +0 -0
  294. snappy/__pycache__/infowindow.cpython-310.pyc +0 -0
  295. snappy/__pycache__/math_basics.cpython-310.pyc +0 -0
  296. snappy/__pycache__/matrix.cpython-310.pyc +0 -0
  297. snappy/__pycache__/number.cpython-310.pyc +0 -0
  298. snappy/__pycache__/numeric_output_checker.cpython-310.pyc +0 -0
  299. snappy/__pycache__/pari.cpython-310.pyc +0 -0
  300. snappy/__pycache__/polyviewer.cpython-310.pyc +0 -0
  301. snappy/__pycache__/sage_helper.cpython-310.pyc +0 -0
  302. snappy/__pycache__/version.cpython-310.pyc +0 -0
  303. snappy/doc/_sources/verify_canon.rst.txt +0 -90
  304. snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
  305. snappy/doc/_static/js/html5shiv.min.js +0 -4
  306. snappy/doc/verify_canon.html +0 -304
  307. snappy/drilling/__pycache__/__init__.cpython-310.pyc +0 -0
  308. snappy/drilling/__pycache__/constants.cpython-310.pyc +0 -0
  309. snappy/drilling/__pycache__/crush.cpython-310.pyc +0 -0
  310. snappy/drilling/__pycache__/cusps.cpython-310.pyc +0 -0
  311. snappy/drilling/__pycache__/debug.cpython-310.pyc +0 -0
  312. snappy/drilling/__pycache__/epsilons.cpython-310.pyc +0 -0
  313. snappy/drilling/__pycache__/exceptions.cpython-310.pyc +0 -0
  314. snappy/drilling/__pycache__/fixed_points.cpython-310.pyc +0 -0
  315. snappy/drilling/__pycache__/geodesic_info.cpython-310.pyc +0 -0
  316. snappy/drilling/__pycache__/geodesic_tube.cpython-310.pyc +0 -0
  317. snappy/drilling/__pycache__/geometric_structure.cpython-310.pyc +0 -0
  318. snappy/drilling/__pycache__/line.cpython-310.pyc +0 -0
  319. snappy/drilling/__pycache__/moves.cpython-310.pyc +0 -0
  320. snappy/drilling/__pycache__/peripheral_curves.cpython-310.pyc +0 -0
  321. snappy/drilling/__pycache__/perturb.cpython-310.pyc +0 -0
  322. snappy/drilling/__pycache__/quotient_space.cpython-310.pyc +0 -0
  323. snappy/drilling/__pycache__/spatial_dict.cpython-310.pyc +0 -0
  324. snappy/drilling/__pycache__/subdivide.cpython-310.pyc +0 -0
  325. snappy/drilling/__pycache__/tracing.cpython-310.pyc +0 -0
  326. snappy/drilling/geodesic_tube.py +0 -441
  327. snappy/drilling/geometric_structure.py +0 -366
  328. snappy/drilling/line.py +0 -122
  329. snappy/drilling/quotient_space.py +0 -94
  330. snappy/drilling/spatial_dict.py +0 -128
  331. snappy/exterior_to_link/__pycache__/__init__.cpython-310.pyc +0 -0
  332. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-310.pyc +0 -0
  333. snappy/exterior_to_link/__pycache__/exceptions.cpython-310.pyc +0 -0
  334. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-310.pyc +0 -0
  335. snappy/exterior_to_link/__pycache__/link_projection.cpython-310.pyc +0 -0
  336. snappy/exterior_to_link/__pycache__/main.cpython-310.pyc +0 -0
  337. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-310.pyc +0 -0
  338. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-310.pyc +0 -0
  339. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-310.pyc +0 -0
  340. snappy/exterior_to_link/__pycache__/pl_utils.cpython-310.pyc +0 -0
  341. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-310.pyc +0 -0
  342. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-310.pyc +0 -0
  343. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-310.pyc +0 -0
  344. snappy/exterior_to_link/__pycache__/stored_moves.cpython-310.pyc +0 -0
  345. snappy/hyperboloid/__pycache__/__init__.cpython-310.pyc +0 -0
  346. snappy/manifolds/__pycache__/__init__.cpython-310.pyc +0 -0
  347. snappy/ptolemy/__pycache__/__init__.cpython-310.pyc +0 -0
  348. snappy/ptolemy/__pycache__/component.cpython-310.pyc +0 -0
  349. snappy/ptolemy/__pycache__/coordinates.cpython-310.pyc +0 -0
  350. snappy/ptolemy/__pycache__/fieldExtensions.cpython-310.pyc +0 -0
  351. snappy/ptolemy/__pycache__/findLoops.cpython-310.pyc +0 -0
  352. snappy/ptolemy/__pycache__/homology.cpython-310.pyc +0 -0
  353. snappy/ptolemy/__pycache__/manifoldMethods.cpython-310.pyc +0 -0
  354. snappy/ptolemy/__pycache__/matrix.cpython-310.pyc +0 -0
  355. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-310.pyc +0 -0
  356. snappy/ptolemy/__pycache__/polynomial.cpython-310.pyc +0 -0
  357. snappy/ptolemy/__pycache__/processComponents.cpython-310.pyc +0 -0
  358. snappy/ptolemy/__pycache__/processFileBase.cpython-310.pyc +0 -0
  359. snappy/ptolemy/__pycache__/processFileDispatch.cpython-310.pyc +0 -0
  360. snappy/ptolemy/__pycache__/processMagmaFile.cpython-310.pyc +0 -0
  361. snappy/ptolemy/__pycache__/processRurFile.cpython-310.pyc +0 -0
  362. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-310.pyc +0 -0
  363. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-310.pyc +0 -0
  364. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-310.pyc +0 -0
  365. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-310.pyc +0 -0
  366. snappy/ptolemy/__pycache__/rur.cpython-310.pyc +0 -0
  367. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-310.pyc +0 -0
  368. snappy/ptolemy/__pycache__/utilities.cpython-310.pyc +0 -0
  369. snappy/raytracing/__pycache__/__init__.cpython-310.pyc +0 -0
  370. snappy/raytracing/__pycache__/finite_raytracing_data.cpython-310.pyc +0 -0
  371. snappy/raytracing/__pycache__/gui_utilities.cpython-310.pyc +0 -0
  372. snappy/raytracing/__pycache__/hyperboloid_navigation.cpython-310.pyc +0 -0
  373. snappy/raytracing/__pycache__/hyperboloid_utilities.cpython-310.pyc +0 -0
  374. snappy/raytracing/__pycache__/ideal_raytracing_data.cpython-310.pyc +0 -0
  375. snappy/raytracing/__pycache__/inside_viewer.cpython-310.pyc +0 -0
  376. snappy/raytracing/__pycache__/raytracing_data.cpython-310.pyc +0 -0
  377. snappy/raytracing/__pycache__/raytracing_view.cpython-310.pyc +0 -0
  378. snappy/raytracing/__pycache__/upper_halfspace_utilities.cpython-310.pyc +0 -0
  379. snappy/raytracing/__pycache__/view_scale_controller.cpython-310.pyc +0 -0
  380. snappy/raytracing/zoom_slider/__pycache__/__init__.cpython-310.pyc +0 -0
  381. snappy/snap/__pycache__/__init__.cpython-310.pyc +0 -0
  382. snappy/snap/__pycache__/character_varieties.cpython-310.pyc +0 -0
  383. snappy/snap/__pycache__/fundamental_polyhedron.cpython-310.pyc +0 -0
  384. snappy/snap/__pycache__/interval_reps.cpython-310.pyc +0 -0
  385. snappy/snap/__pycache__/kernel_structures.cpython-310.pyc +0 -0
  386. snappy/snap/__pycache__/mcomplex_base.cpython-310.pyc +0 -0
  387. snappy/snap/__pycache__/nsagetools.cpython-310.pyc +0 -0
  388. snappy/snap/__pycache__/polished_reps.cpython-310.pyc +0 -0
  389. snappy/snap/__pycache__/shapes.cpython-310.pyc +0 -0
  390. snappy/snap/__pycache__/slice_obs_HKL.cpython-310.pyc +0 -0
  391. snappy/snap/__pycache__/utilities.cpython-310.pyc +0 -0
  392. snappy/snap/peripheral/__pycache__/__init__.cpython-310.pyc +0 -0
  393. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-310.pyc +0 -0
  394. snappy/snap/peripheral/__pycache__/link.cpython-310.pyc +0 -0
  395. snappy/snap/peripheral/__pycache__/peripheral.cpython-310.pyc +0 -0
  396. snappy/snap/peripheral/__pycache__/surface.cpython-310.pyc +0 -0
  397. snappy/snap/t3mlite/__pycache__/__init__.cpython-310.pyc +0 -0
  398. snappy/snap/t3mlite/__pycache__/arrow.cpython-310.pyc +0 -0
  399. snappy/snap/t3mlite/__pycache__/corner.cpython-310.pyc +0 -0
  400. snappy/snap/t3mlite/__pycache__/edge.cpython-310.pyc +0 -0
  401. snappy/snap/t3mlite/__pycache__/face.cpython-310.pyc +0 -0
  402. snappy/snap/t3mlite/__pycache__/files.cpython-310.pyc +0 -0
  403. snappy/snap/t3mlite/__pycache__/homology.cpython-310.pyc +0 -0
  404. snappy/snap/t3mlite/__pycache__/linalg.cpython-310.pyc +0 -0
  405. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-310.pyc +0 -0
  406. snappy/snap/t3mlite/__pycache__/perm4.cpython-310.pyc +0 -0
  407. snappy/snap/t3mlite/__pycache__/simplex.cpython-310.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/spun.cpython-310.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/surface.cpython-310.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-310.pyc +0 -0
  411. snappy/snap/t3mlite/__pycache__/vertex.cpython-310.pyc +0 -0
  412. snappy/togl/__init__.py +0 -3
  413. snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
  414. snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
  415. snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  416. snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
  417. snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
  418. snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
  419. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  420. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
  421. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  422. snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
  423. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
  424. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
  425. snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  426. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  427. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
  428. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
  429. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  430. snappy/twister/__pycache__/__init__.cpython-310.pyc +0 -0
  431. snappy/twister/__pycache__/main.cpython-310.pyc +0 -0
  432. snappy/upper_halfspace/__pycache__/__init__.cpython-310.pyc +0 -0
  433. snappy/upper_halfspace/__pycache__/ideal_point.cpython-310.pyc +0 -0
  434. snappy/verify/__pycache__/__init__.cpython-310.pyc +0 -0
  435. snappy/verify/__pycache__/cuspCrossSection.cpython-310.pyc +0 -0
  436. snappy/verify/__pycache__/cuspTranslations.cpython-310.pyc +0 -0
  437. snappy/verify/__pycache__/cusp_areas.cpython-310.pyc +0 -0
  438. snappy/verify/__pycache__/cusp_shapes.cpython-310.pyc +0 -0
  439. snappy/verify/__pycache__/exceptions.cpython-310.pyc +0 -0
  440. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-310.pyc +0 -0
  441. snappy/verify/__pycache__/interval_tree.cpython-310.pyc +0 -0
  442. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-310.pyc +0 -0
  443. snappy/verify/__pycache__/realAlgebra.cpython-310.pyc +0 -0
  444. snappy/verify/__pycache__/shapes.cpython-310.pyc +0 -0
  445. snappy/verify/__pycache__/short_slopes.cpython-310.pyc +0 -0
  446. snappy/verify/__pycache__/squareExtensions.cpython-310.pyc +0 -0
  447. snappy/verify/__pycache__/verifyCanonical.cpython-310.pyc +0 -0
  448. snappy/verify/__pycache__/verifyHyperbolicity.cpython-310.pyc +0 -0
  449. snappy/verify/__pycache__/volume.cpython-310.pyc +0 -0
  450. snappy/verify/complex_volume/__pycache__/__init__.cpython-310.pyc +0 -0
  451. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-310.pyc +0 -0
  452. snappy/verify/complex_volume/__pycache__/closed.cpython-310.pyc +0 -0
  453. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-310.pyc +0 -0
  454. snappy/verify/complex_volume/__pycache__/cusped.cpython-310.pyc +0 -0
  455. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-310.pyc +0 -0
  456. snappy/verify/cuspCrossSection.py +0 -1422
  457. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-310.pyc +0 -0
  458. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-310.pyc +0 -0
  459. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-310.pyc +0 -0
  460. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-310.pyc +0 -0
  461. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-310.pyc +0 -0
  462. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-310.pyc +0 -0
  463. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-310.pyc +0 -0
  464. snappy-3.1.dist-info/RECORD +0 -585
  465. {snappy-3.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
@@ -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="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
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>Development Basics &mdash; SnapPy 3.1 documentation</title>
8
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
9
- <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
10
- <link rel="stylesheet" href="_static/snappy_sphinx_rtd_theme.css" type="text/css" />
11
- <link rel="shortcut icon" href="_static/SnapPy.ico"/>
12
- <!--[if lt IE 9]>
13
- <script src="_static/js/html5shiv.min.js"></script>
14
- <![endif]-->
9
+ <title>Development Basics &mdash; 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
- <script src="_static/jquery.js"></script>
17
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
18
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
19
- <script src="_static/doctools.js"></script>
20
- <script src="_static/sphinx_highlight.js"></script>
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" />
@@ -36,9 +36,6 @@
36
36
  SnapPy
37
37
  <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
38
38
  </a>
39
- <div class="version">
40
- 3.1
41
- </div>
42
39
  <div role="search">
43
40
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
44
41
  <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@@ -94,21 +91,21 @@
94
91
  <div itemprop="articleBody">
95
92
 
96
93
  <section id="development-basics">
97
- <h1>Development Basics<a class="headerlink" href="#development-basics" title="Permalink to this heading"></a></h1>
94
+ <h1>Development Basics<a class="headerlink" href="#development-basics" title="Link to this heading"></a></h1>
98
95
  <section id="submitting-patches">
99
- <h2>Submitting patches<a class="headerlink" href="#submitting-patches" title="Permalink to this heading"></a></h2>
96
+ <h2>Submitting patches<a class="headerlink" href="#submitting-patches" title="Link to this heading"></a></h2>
100
97
  <p>The source code for SnapPy and its various parts are <a class="reference external" href="https://github.com/3-manifolds">hosted on GitHub</a> as <a class="reference external" href="https://git-scm.com/">Git repositories</a>. To contribute a patch, create a free
101
98
  GitHub account, fork the appropriate repository, and then send us a
102
99
  pull request, as described in <a class="reference external" href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request">here</a>.</p>
103
100
  </section>
104
101
  <section id="macos">
105
- <h2>macOS<a class="headerlink" href="#macos" title="Permalink to this heading"></a></h2>
102
+ <h2>macOS<a class="headerlink" href="#macos" title="Link to this heading"></a></h2>
106
103
  <p>Here is how to get a clean development setup under macOS.</p>
107
104
  <ul>
108
- <li><p>Install the latest Python 3.8 from Python.org using the <a class="reference external" href="http://www.python.org/download/">Mac
105
+ <li><p>Install the latest Python 3.13 from Python.org using the <a class="reference external" href="http://www.python.org/download/">Mac
109
106
  Installer Disk Image</a>. Set your
110
107
  path so that “python3” is:</p>
111
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">Library</span><span class="o">/</span><span class="n">Frameworks</span><span class="o">/</span><span class="n">Python</span><span class="o">.</span><span class="n">framework</span><span class="o">/</span><span class="n">Versions</span><span class="o">/</span><span class="mf">3.8</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">python3</span>
108
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">Library</span><span class="o">/</span><span class="n">Frameworks</span><span class="o">/</span><span class="n">Python</span><span class="o">.</span><span class="n">framework</span><span class="o">/</span><span class="n">Versions</span><span class="o">/</span><span class="mf">3.13</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">python3</span>
112
109
  </pre></div>
113
110
  </div>
114
111
  </li>
@@ -137,8 +134,8 @@ example you can install Git via its <a class="reference external" href="https://
137
134
  <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"># Link editor appears!</span>
138
135
  </pre></div>
139
136
  </div>
140
- <p>This last command runs the script plink/app.py”; the real code for
141
- the link editor is in plink/__init__.py”.</p>
137
+ <p>This last command runs the script <code class="docutils literal notranslate"><span class="pre">plink/app.py</span></code>; the real code for
138
+ the link editor is in <code class="docutils literal notranslate"><span class="pre">plink/__init__.py</span></code>.</p>
142
139
  </li>
143
140
  <li><p>Build and install Spherogram:</p>
144
141
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="o">../</span><span class="n">spherogram</span>
@@ -166,30 +163,27 @@ usually the way to go.</p>
166
163
  </ul>
167
164
  <p>Some major parts of the SnapPy codebase are:</p>
168
165
  <ul class="simple">
169
- <li><p>“SnapPy.pyx”, SnapPycore.pxi”, SnapPy.pxi”: The Cython interface
166
+ <li><p><code class="docutils literal notranslate"><span class="pre">SnapPy.pyx</span></code>, <code class="docutils literal notranslate"><span class="pre">SnapPycore.pxi</span></code>, <code class="docutils literal notranslate"><span class="pre">SnapPy.pxi</span></code>: The Cython interface
170
167
  to the SnapPea kernel</p></li>
171
- <li><p>“opengl/CyOpenGL*.pyx”: The Cython interface to OpenGL*</p></li>
172
- <li><p>“snappy/app.py”: The core GUI code</p></li>
173
- <li><p>“snappy/polyviewer.py”: The GUI code for Dirichlet domains</p></li>
174
- <li><p>“snappy/horoviewer.py”: The GUI code for horoball pictures</p></li>
175
- <li><p>“snappy/database.py”: Interacts with the sqlite3 manifold database</p></li>
168
+ <li><p><code class="docutils literal notranslate"><span class="pre">opengl/CyOpenGL*.pyx</span></code>: The Cython interface to OpenGL*</p></li>
169
+ <li><p><code class="docutils literal notranslate"><span class="pre">snappy/app.py</span></code>: The core GUI code</p></li>
170
+ <li><p><code class="docutils literal notranslate"><span class="pre">snappy/polyviewer.py</span></code>: The GUI code for Dirichlet domains</p></li>
171
+ <li><p><code class="docutils literal notranslate"><span class="pre">snappy/horoviewer.py</span></code>: The GUI code for horoball pictures</p></li>
172
+ <li><p><code class="docutils literal notranslate"><span class="pre">snappy/database.py</span></code>: Interacts with the sqlite3 manifold database</p></li>
176
173
  </ul>
177
- <p>In addition, Jeff’s old prototype for a Tk-based UI can be found in
178
- “misc/JeffsOldUI/SnapPeaGUI.py”; just run Python on this file to try it
179
- out, after installing <a class="reference external" href="http://pmw.sf.net">PythonMegaWidgets</a>.</p>
180
174
  </section>
181
175
  <section id="windows">
182
- <h2>Windows<a class="headerlink" href="#windows" title="Permalink to this heading"></a></h2>
176
+ <h2>Windows<a class="headerlink" href="#windows" title="Link to this heading"></a></h2>
183
177
  <p>These instructions have been tested on Windows 10, and describe
184
178
  setting up a development environment using the (free) MSVC
185
179
  compiler. To build the CyPari subcomponent, which few will want or
186
180
  need to do, one must install additional tools.</p>
187
181
  <ul>
188
- <li><p>Install <a class="reference external" href="https://www.python.org/downloads/windows/">Python 3.7</a>,
189
- specifically the 32 bit version (Windows x86 not Windows x86-64).
182
+ <li><p>Install <a class="reference external" href="https://www.python.org/downloads/windows/">Python 3.13.1</a>, specifically the
183
+ default 64-bit version (the file name will end in <code class="docutils literal notranslate"><span class="pre">amd64.exe</span></code>).
190
184
  These instructions assume it has been installed in the directory
191
- <code class="docutils literal notranslate"><span class="pre">C:\Python37</span></code> which is not the default.</p></li>
192
- <li><p>With Python 3.7.4, you need the MSVC command line tools. You can
185
+ <code class="docutils literal notranslate"><span class="pre">C:\Python313</span></code> which is not the default.</p></li>
186
+ <li><p>With Python 3.13.1, you need the MSVC command line tools. You can
193
187
  get them by using Microsoft’s free <a class="reference external" href="https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&amp;rel=16">Build Tools for Visual Studio 2019</a>
194
188
  installer and selecting the “C++ command line tools” and installing
195
189
  the following subpackages: “MSVC v142 - VS 2019 C++ build tools”,
@@ -199,14 +193,14 @@ the following subpackages: “MSVC v142 - VS 2019 C++ build tools”,
199
193
  <a class="reference external" href="http://www.jrsoftware.org/isdl.php">Inno Setup</a>, specifically the
200
194
  unicode version; tested with version 5.5.9.</p>
201
195
  </li>
202
- <li><p>Install whichever version of <a class="reference external" href="http://msys2.github.io">MSYS2</a> is
203
- appropriate for your version Windows. Most commonly, you will have
204
- a 64-bit Windows and hence want the “x86_64” installer; for
205
- concreteness the rest of these instructions assume this. (Technical
206
- note: even if you want to build 32-bit binaries, if your Windows is
207
- 64-bit you want the x86_64 installer.) Follow the instructions on
208
- the webpage to update everything to the very latest MSYS2
209
- (<code class="docutils literal notranslate"><span class="pre">pacman</span> <span class="pre">-Sy</span> <span class="pre">pacman;</span> <span class="pre">pacman</span> <span class="pre">-Syu;</span> <span class="pre">pacman</span> <span class="pre">-Su</span></code> etc.).</p></li>
196
+ <li><p>Install <a class="reference external" href="http://msys2.github.io">MSYS2</a> as appropriate for your
197
+ version Windows. Follow the instructions on the webpage to update
198
+ everything to the very latest MSYS2 (<code class="docutils literal notranslate"><span class="pre">pacman</span> <span class="pre">-Sy</span> <span class="pre">pacman;</span> <span class="pre">pacman</span>
199
+ <span class="pre">-Syu;</span> <span class="pre">pacman</span> <span class="pre">-Su</span></code> etc.). You should also install the ucrt toolchain:</p>
200
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pacman</span> <span class="o">-</span><span class="n">S</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">ucrt</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">toolchain</span>
201
+ </pre></div>
202
+ </div>
203
+ </li>
210
204
  <li><p>Make a shortcut to <code class="docutils literal notranslate"><span class="pre">c:\msys64\msys2.exe</span></code> as you will be using it all
211
205
  the time; alternatively, pin <code class="docutils literal notranslate"><span class="pre">mys2.exe</span></code> to your taskbar.</p></li>
212
206
  <li><p>Install some additional packages:</p>
@@ -223,7 +217,7 @@ via:</p>
223
217
  <li><p>Make it so that MinGW, Python, and Inno Setup are all in your PATH,
224
218
  as well as work around some stupid bug, by making the end of your
225
219
  “~/.bash_profile” file to read:</p>
226
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>PATH=/c/Python37:/c/Python37/Scripts:$PATH
220
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>PATH=/c/Python313:/c/Python313/Scripts:$PATH
227
221
  PATH=$PATH:&#39;/c/Program Files (x86)/Inno Setup 5&#39;
228
222
  export PATH
229
223
  alias emacs=&quot;/mingw64/bin/emacs&quot;
@@ -240,7 +234,7 @@ typing:</p>
240
234
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">--</span><span class="n">version</span>
241
235
  </pre></div>
242
236
  </div>
243
- <p>You should see something like <code class="docutils literal notranslate"><span class="pre">Python</span> <span class="pre">3.7.4</span></code>.</p>
237
+ <p>You should see something like <code class="docutils literal notranslate"><span class="pre">Python</span> <span class="pre">3.13.1</span></code>.</p>
244
238
  </li>
245
239
  <li><p>Use pip to install some basic tools:</p>
246
240
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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="n">pip</span> <span class="n">setuptools</span> <span class="n">wheel</span> <span class="c1"># Upgrades pip to the current version.</span>
@@ -304,31 +298,57 @@ you start a “Command Prompt” as Administrator and do:</p>
304
298
  </pre></div>
305
299
  </div>
306
300
  </li>
307
- <li><p>To build CyPari, first install the 32-bit gcc compiler:</p>
308
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pacman</span> <span class="o">-</span><span class="n">S</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">i686</span><span class="o">-</span><span class="n">gcc</span>
301
+ </ul>
302
+ </section>
303
+ <section id="linux">
304
+ <h2>Linux<a class="headerlink" href="#linux" title="Link to this heading"></a></h2>
305
+ <p>Things you’ll need:</p>
306
+ <ul>
307
+ <li><p>Python 3 with Tkinter: You’ll need to have <a class="reference external" href="http://python.org">Python</a> (version 3.9 or newer) and <a class="reference external" href="http://tcl.tk">Tk</a> (at least version 8.5) with <a class="reference external" href="http://wiki.python.org/moin/TkInter">Tkinter</a> to connect them, including
308
+ the header files. For instance, on Debian or Ubuntu, install the
309
+ packages “python3-tk”, “python3-pip”, and “python3-dev”. On Fedora,
310
+ you’ll want e.g. “python3-tkinter”, “python3-pip”, and
311
+ “python3-devel”, and “python3-wheel”.</p></li>
312
+ <li><p>Test that Python is in order by installing PLink from source:</p>
313
+ <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>
314
+ <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>
309
315
  </pre></div>
310
316
  </div>
311
- <p>Then open a <em>MinGW32 terminal window</em>, which is <strong>different</strong> than a
312
- MSYS2 terminal, and can be started via <cite>c:msys64mingw32.exe</cite>.
313
- This will put the 32-bit gcc in your path and set the correct
314
- “uname”. Now do:</p>
315
- <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">CyPari</span><span class="o">.</span><span class="n">git</span>
316
- <span class="n">cd</span> <span class="n">CyPari</span>
317
- <span class="n">sh</span> <span class="n">build_pari</span><span class="o">.</span><span class="n">sh</span>
318
- <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">build</span> <span class="o">--</span><span class="n">compiler</span><span class="o">=</span><span class="n">mingw32</span>
319
- <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span>
320
- <span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">cypari</span><span class="o">.</span><span class="n">test</span> <span class="c1"># About 30 tests will fail.</span>
317
+ </li>
318
+ </ul>
319
+ <ul id="openglmesa">
320
+ <li><p>Support for OpenGL (3D graphics): This is built in on OS X and the
321
+ 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
322
+ SnapPy. On Debian and Ubuntu, install “libglu1-mesa-dev”; On Fedora install
323
+ “mesa-libGLU-devel”.</p></li>
324
+ <li><p><a class="reference external" href="http://cython.org">Cython</a>, which you can install via:</p>
325
+ <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>
326
+ </pre></div>
327
+ </div>
328
+ </li>
329
+ <li><p>The gcc C++ compiler, g++.</p></li>
330
+ <li><p>Fetch the latest development versions of the source straight from
331
+ the repository:</p>
332
+ <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">PLink</span><span class="o">.</span><span class="n">git</span>
333
+ <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">Spherogram</span><span class="o">.</span><span class="n">git</span>
334
+ <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>
335
+ </pre></div>
336
+ </div>
337
+ </li>
338
+ <li><p>Build the components, from easiest to hardest, and then test:</p>
339
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">PLink</span>
340
+ <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">pip_install</span>
341
+ <span class="n">cd</span> <span class="o">../</span><span class="n">Spherogram</span>
342
+ <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">pip_install</span>
343
+ <span class="n">cd</span> <span class="o">../</span><span class="n">SnapPy</span>
344
+ <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">pip_install</span>
345
+ <span class="n">cd</span> <span class="o">..</span>
346
+ <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">test</span>
321
347
  </pre></div>
322
348
  </div>
323
- <p>Warning: CyPari will not build if there are spaces in the path to
324
- the CyPari directory.</p>
325
349
  </li>
326
350
  </ul>
327
351
  </section>
328
- <section id="linux">
329
- <h2>Linux<a class="headerlink" href="#linux" title="Permalink to this heading"></a></h2>
330
- <p>See the <a class="reference internal" href="installing.html#generic-unix"><span class="std std-ref">installation instructions on generic Unix</span></a> for how to build SnapPy from source.</p>
331
- </section>
332
352
  </section>
333
353
 
334
354
 
@@ -341,7 +361,7 @@ the CyPari directory.</p>
341
361
  <hr/>
342
362
 
343
363
  <div role="contentinfo">
344
- <p>&#169; Copyright 2009-2023, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
364
+ <p>&#169; Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
345
365
  </div>
346
366
 
347
367
  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a