passagemath-repl 10.4.58__tar.gz → 10.5.2__tar.gz

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.
Files changed (262) hide show
  1. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/MANIFEST.in +2 -0
  2. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/PKG-INFO +3 -3
  3. passagemath_repl-10.5.2/VERSION.txt +1 -0
  4. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage +1 -1
  5. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-env +5 -2
  6. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-fixdoctests +13 -11
  7. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-version.sh +3 -3
  8. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/passagemath_repl.egg-info/PKG-INFO +3 -3
  9. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/passagemath_repl.egg-info/SOURCES.txt +1 -3
  10. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/passagemath_repl.egg-info/requires.txt +2 -2
  11. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/pyproject.toml +2 -2
  12. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/control.py +1 -1
  13. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/external.py +2 -2
  14. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/forker.py +2 -1
  15. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/parsing.py +20 -11
  16. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/sources.py +1 -1
  17. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/classgraph.py +4 -1
  18. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/sage_eval.py +5 -2
  19. passagemath_repl-10.5.2/sage/tests/all.py +0 -0
  20. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/benchmark.py +4 -2
  21. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/book_schilling_zabrocki_kschur_primer.py +2 -2
  22. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/book_stein_ent.py +4 -4
  23. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py +1 -1
  24. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py +6 -6
  25. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py +1 -1
  26. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py +2 -2
  27. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py +5 -5
  28. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/numbertheory_doctest.py +1 -1
  29. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py +2 -2
  30. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/float_doctest.py +1 -1
  31. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py +2 -2
  32. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/graphtheory_doctest.py +3 -3
  33. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/nonlinear_doctest.py +1 -1
  34. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/numbertheory_doctest.py +1 -1
  35. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/cmdline.py +16 -1
  36. passagemath_repl-10.4.58/VERSION.txt +0 -1
  37. passagemath_repl-10.4.58/sage/tests/cython.pyx +0 -37
  38. passagemath_repl-10.4.58/sage/tests/memcheck/__init__.py +0 -1
  39. passagemath_repl-10.4.58/sage/tests/stl_vector.pyx +0 -171
  40. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/README.rst +0 -0
  41. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/math-readline +0 -0
  42. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-cachegrind +0 -0
  43. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-callgrind +0 -0
  44. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-cleaner +0 -0
  45. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-coverage +0 -0
  46. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-cython +0 -0
  47. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-env-config.in +0 -0
  48. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-eval +0 -0
  49. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-grep +0 -0
  50. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-grepdoc +0 -0
  51. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-inline-fortran +0 -0
  52. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-ipynb2rst +0 -0
  53. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-ipython +0 -0
  54. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-list-packages +0 -0
  55. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-massif +0 -0
  56. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-notebook +0 -0
  57. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-num-threads.py +0 -0
  58. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-omega +0 -0
  59. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-preparse +0 -0
  60. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-python +0 -0
  61. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-run +0 -0
  62. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-run-cython +0 -0
  63. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-runtests +0 -0
  64. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-src-env-config.in +0 -0
  65. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-startuptime.py +0 -0
  66. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-update-version +0 -0
  67. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-valgrind +0 -0
  68. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/bin/sage-venv-config +0 -0
  69. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/known-test-failures.json +0 -0
  70. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/passagemath_repl.egg-info/dependency_links.txt +0 -0
  71. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/passagemath_repl.egg-info/top_level.txt +0 -0
  72. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/pyproject.toml.m4 +0 -0
  73. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/requirements-editable.txt.m4 +0 -0
  74. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/requirements.txt.m4 +0 -0
  75. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/all__sagemath_repl.py +0 -0
  76. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/__init__.py +0 -0
  77. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/__main__.py +0 -0
  78. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/all.py +0 -0
  79. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/check_tolerance.py +0 -0
  80. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/fixtures.py +0 -0
  81. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/marked_output.py +0 -0
  82. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/parsing_test.py +0 -0
  83. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/reporting.py +0 -0
  84. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/rif_tol.py +0 -0
  85. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/test.py +0 -0
  86. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/1second.rst +0 -0
  87. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/99seconds.rst +0 -0
  88. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/abort.rst +0 -0
  89. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/atexit.rst +0 -0
  90. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/fail_and_die.rst +0 -0
  91. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/initial.rst +0 -0
  92. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/interrupt.rst +0 -0
  93. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/interrupt_diehard.rst +0 -0
  94. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/keyboardinterrupt.rst +0 -0
  95. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/longtime.rst +0 -0
  96. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/nodoctest +0 -0
  97. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/random_seed.rst +0 -0
  98. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/show_skipped.rst +0 -0
  99. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/sig_on.rst +0 -0
  100. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/simple_failure.rst +0 -0
  101. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/sleep_and_raise.rst +0 -0
  102. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/tests/tolerance.rst +0 -0
  103. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/doctest/util.py +0 -0
  104. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/interfaces/cleaner.py +0 -0
  105. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/interfaces/quit.py +0 -0
  106. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/all__sagemath_repl.py +0 -0
  107. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/banner.py +0 -0
  108. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/benchmark.py +0 -0
  109. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/copying.py +0 -0
  110. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/cython.py +0 -0
  111. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/dev_tools.py +0 -0
  112. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/edit_module.py +0 -0
  113. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/explain_pickle.py +0 -0
  114. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/gperftools.py +0 -0
  115. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/inline_fortran.py +0 -0
  116. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/messaging.py +0 -0
  117. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/pager.py +0 -0
  118. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/profiler.py +0 -0
  119. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/python.py +0 -0
  120. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/remote_file.py +0 -0
  121. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/sage_input.py +0 -0
  122. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/sagedoc.py +0 -0
  123. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/sh.py +0 -0
  124. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/misc/trace.py +0 -0
  125. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/__init__.py +0 -0
  126. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/all.py +0 -0
  127. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/attach.py +0 -0
  128. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/configuration.py +0 -0
  129. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/__init__.py +0 -0
  130. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/fancy_repr.py +0 -0
  131. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/formatter.py +0 -0
  132. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/jsmol_iframe.py +0 -0
  133. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/pretty_print.py +0 -0
  134. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/display/util.py +0 -0
  135. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/image.py +0 -0
  136. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/inputhook.py +0 -0
  137. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/interface_magic.py +0 -0
  138. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/interpreter.py +0 -0
  139. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_extension.py +0 -0
  140. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/__init__.py +0 -0
  141. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/__main__.py +0 -0
  142. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/all_jupyter.py +0 -0
  143. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/install.py +0 -0
  144. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/interact.py +0 -0
  145. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/kernel.py +0 -0
  146. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/widgets.py +0 -0
  147. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_kernel/widgets_sagenb.py +0 -0
  148. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/ipython_tests.py +0 -0
  149. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/load.py +0 -0
  150. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/preparse.py +0 -0
  151. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/prompts.py +0 -0
  152. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/__init__.py +0 -0
  153. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/backend_base.py +0 -0
  154. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/backend_doctest.py +0 -0
  155. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/backend_emacs.py +0 -0
  156. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/backend_ipython.py +0 -0
  157. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/buffer.py +0 -0
  158. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/display_manager.py +0 -0
  159. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.avi +0 -0
  160. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.canvas3d +0 -0
  161. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.dvi +0 -0
  162. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.flv +0 -0
  163. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.gif +0 -0
  164. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.jpg +0 -0
  165. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.mkv +0 -0
  166. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.mov +0 -0
  167. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.mp4 +0 -0
  168. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.ogv +0 -0
  169. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.pdf +0 -0
  170. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.png +0 -0
  171. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.svg +0 -0
  172. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.webm +0 -0
  173. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example.wmv +0 -0
  174. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example_jmol.spt.zip +0 -0
  175. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example_wavefront_scene.mtl +0 -0
  176. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/example_wavefront_scene.obj +0 -0
  177. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_basic.py +0 -0
  178. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_browser.py +0 -0
  179. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_catalog.py +0 -0
  180. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_graphics.py +0 -0
  181. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_graphics3d.py +0 -0
  182. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/output_video.py +0 -0
  183. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/preferences.py +0 -0
  184. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/pretty_print.py +0 -0
  185. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/rich_output/test_backend.py +0 -0
  186. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/repl/user_globals.py +0 -0
  187. /passagemath_repl-10.4.58/sage/tests/all.py → /passagemath_repl-10.5.2/sage/tests/all__sagemath_repl.py +0 -0
  188. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py +0 -0
  189. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/arxiv_0812_2725.py +0 -0
  190. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/book_stein_modform.py +0 -0
  191. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/__init__.py +0 -0
  192. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/README +0 -0
  193. {passagemath_repl-10.4.58/sage/tests → passagemath_repl-10.5.2/sage/tests/books/computational-mathematics-with-sagemath}/__init__.py +0 -0
  194. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py +0 -0
  195. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/domaines_doctest.py +0 -0
  196. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py +0 -0
  197. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/linalg_doctest.py +0 -0
  198. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/lp_doctest.py +0 -0
  199. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py +0 -0
  200. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/nonlinear_doctest.py +0 -0
  201. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/polynomes_doctest.py +0 -0
  202. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/premierspas_doctest.py +0 -0
  203. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/programmation_doctest.py +0 -0
  204. {passagemath_repl-10.4.58/sage/tests/books/computational-mathematics-with-sagemath → passagemath_repl-10.5.2/sage/tests/books/computational-mathematics-with-sagemath/sol}/__init__.py +0 -0
  205. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py +0 -0
  206. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/combinat_doctest.py +0 -0
  207. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/domaines_doctest.py +0 -0
  208. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/integration_doctest.py +0 -0
  209. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/linalg_doctest.py +0 -0
  210. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/linsolve_doctest.py +0 -0
  211. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/lp_doctest.py +0 -0
  212. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/mpoly_doctest.py +0 -0
  213. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/polynomes_doctest.py +0 -0
  214. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py +0 -0
  215. {passagemath_repl-10.4.58/sage/tests/books/computational-mathematics-with-sagemath/sol → passagemath_repl-10.5.2/sage/tests/books/judson-abstract-algebra}/__init__.py +0 -0
  216. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py +0 -0
  217. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/actions-sage.py +0 -0
  218. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/algcodes-sage.py +0 -0
  219. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/boolean-sage.py +0 -0
  220. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/cosets-sage-exercises.py +0 -0
  221. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/cosets-sage.py +0 -0
  222. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/crypt-sage.py +0 -0
  223. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/cyclic-sage.py +0 -0
  224. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/domains-sage.py +0 -0
  225. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/fields-sage.py +0 -0
  226. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/finite-sage.py +0 -0
  227. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/galois-sage.py +0 -0
  228. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/groups-sage.py +0 -0
  229. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py +0 -0
  230. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/homomorph-sage.py +0 -0
  231. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/integers-sage.py +0 -0
  232. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/isomorph-sage.py +0 -0
  233. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/normal-sage.py +0 -0
  234. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/permute-sage.py +0 -0
  235. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/poly-sage.py +0 -0
  236. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/rings-sage.py +0 -0
  237. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/sets-sage.py +0 -0
  238. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/struct-sage.py +0 -0
  239. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/sylow-sage.py +0 -0
  240. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/vect-sage-exercises.py +0 -0
  241. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/books/judson-abstract-algebra/vect-sage.py +0 -0
  242. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/combinatorial_hopf_algebras.py +0 -0
  243. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/finite_poset.py +0 -0
  244. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/functools_partial_src.py +0 -0
  245. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/gosper-sum.py +0 -0
  246. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/lazy_imports.py +0 -0
  247. {passagemath_repl-10.4.58/sage/tests/books/judson-abstract-algebra → passagemath_repl-10.5.2/sage/tests/memcheck}/__init__.py +0 -0
  248. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/memcheck/run_tests.py +0 -0
  249. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/memcheck/run_tests_in_valgrind.py +0 -0
  250. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/memcheck/symbolic_expression.py +0 -0
  251. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/memcheck/verify_no_leak.py +0 -0
  252. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/meson.build +0 -0
  253. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/modular_group_cohomology.py +0 -0
  254. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/numpy.py +0 -0
  255. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/parigp.py +0 -0
  256. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/startup.py +0 -0
  257. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/symbolic-series.py +0 -0
  258. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/sympy.py +0 -0
  259. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/sage/tests/test_deprecation.py +0 -0
  260. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/setup.cfg +0 -0
  261. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/setup.py +0 -0
  262. {passagemath_repl-10.4.58 → passagemath_repl-10.5.2}/tox.ini +0 -0
@@ -4,6 +4,8 @@ graft sage/doctest
4
4
  graft sage/repl
5
5
  graft sage/tests
6
6
 
7
+ exclude sage/tests/*.pyx
8
+
7
9
  include sage/misc/banner.py
8
10
  include sage/misc/sagedoc.py
9
11
  include sage/misc/sage_input.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: passagemath-repl
3
- Version: 10.4.58
3
+ Version: 10.5.2
4
4
  Summary: passagemath: IPython kernel, Sage preparser, doctester
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
28
28
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
29
  Requires-Python: <3.13,>=3.9
30
30
  Description-Content-Type: text/x-rst
31
- Requires-Dist: passagemath-objects~=10.4.58.0
32
- Requires-Dist: passagemath-environment~=10.4.58.0
31
+ Requires-Dist: passagemath-objects~=10.5.2.0
32
+ Requires-Dist: passagemath-environment~=10.5.2.0
33
33
  Requires-Dist: ipykernel>=5.2.1
34
34
  Requires-Dist: ipython>=7.13.0
35
35
  Requires-Dist: ipywidgets>=7.5.1
@@ -0,0 +1 @@
1
+ 10.5.2
@@ -173,7 +173,7 @@ if [ -x "${SELF}-venv-config" ]; then
173
173
  if [ -z "$SAGE_VENV" ]; then
174
174
  export SAGE_VENV=$("${SELF}-venv-config" SAGE_VENV)
175
175
  fi
176
- SAGE_WHEELS_PATH=$("${SELF}-venv-config" SAGE_WHEELS_PATH)
176
+ SAGE_WHEELS_PATH=$("${SELF}-venv-config" SAGE_WHEELS_PATH 2>/dev/null)
177
177
  fi
178
178
  if [ -f "${SELF}-env-config" ]; then
179
179
  # As of Issue #22731, sage-env-config is optional.
@@ -386,12 +386,15 @@ if [ -n "$SAGE_LOCAL" ]; then
386
386
  # "Toolchains/XcodeDefault.xctoolchain/usr/bin/". (See #37237.)
387
387
  if [ -z "$LD" ]; then
388
388
  # Running xcode-select on a system with no toolchain writes an
389
- # error message to stderr, so redirect stderr to /dev/null.
389
+ # error message to stderr, so redirect stderr to /dev/null.
390
390
  XCODE_PATH=$(/usr/bin/xcode-select -p 2> /dev/null)
391
391
  if [ -n $XCODE_PATH ]; then
392
392
  if [ -x "$XCODE_PATH/usr/bin/ld-classic" -o \
393
393
  -x "$XCODE_PATH/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld-classic" ]; then
394
- LDFLAGS="$LDFLAGS -Wl,-ld_classic"
394
+ # Add -ld_classic only if -ld_classic is not deprecated.
395
+ if [ -z "$(ld -ld_classic 2>&1 | grep 'ld_classic is deprecated')" ]; then
396
+ LDFLAGS="$LDFLAGS -Wl,-ld_classic"
397
+ fi
395
398
  fi
396
399
  else
397
400
  # On a macOS system with no toolchain we don't want this script
@@ -56,6 +56,8 @@ parser.add_argument("--distribution", type=str, default=[], action='append',
56
56
  help="distribution package to test, e.g., 'sagemath-graphs', 'sagemath-combinat[modules]'; sets defaults for --venv and --environment. This option can be repeated to test several distributions")
57
57
  parser.add_argument("--fixed-point", default=False, action="store_true",
58
58
  help="whether to repeat until stable")
59
+ parser.add_argument("--toxenv", type=str, default='sagepython-sagewheels-nopypi-norequirements',
60
+ help="tox environment name where 'sage -t' is to be run")
59
61
  parser.add_argument("--venv", type=str, default='',
60
62
  help="directory name of a venv where 'sage -t' is to be run")
61
63
  parser.add_argument("--environment", type=str, default='',
@@ -95,10 +97,10 @@ def plain_distribution_and_extras(distribution):
95
97
  m = re.fullmatch(r'([^[]*)(\[([^]]*)\])?', distribution)
96
98
  return m.group(1), m.group(3)
97
99
 
98
- def default_venv_environment_from_distribution(distribution):
100
+ def default_venv_environment_from_distribution(distribution, toxenv):
99
101
  if distribution:
100
102
  plain_distribution, extras = plain_distribution_and_extras(distribution)
101
- tox_env_name = 'sagepython-sagewheels-nopypi-norequirements'
103
+ tox_env_name = toxenv or 'sagepython-sagewheels-nopypi-norequirements'
102
104
  if extras:
103
105
  tox_env_name += '-' + extras.replace(',', '-')
104
106
  default_venv = os.path.join(SAGE_ROOT, 'pkgs', plain_distribution, '.tox', tox_env_name)
@@ -113,16 +115,16 @@ def default_venv_environment_from_distribution(distribution):
113
115
 
114
116
 
115
117
  @cached_function
116
- def venv_explainer(distribution, venv=None, environment=None):
118
+ def venv_explainer(distribution, venv=None, environment=None, toxenv=None):
117
119
  venv_explainers = []
118
- default_venv, default_environment = default_venv_environment_from_distribution(distribution)
120
+ default_venv, default_environment = default_venv_environment_from_distribution(distribution, toxenv)
119
121
  if venv:
120
122
  if m := re.search(f'pkgs/(sage[^/]*)/[.]tox/((sagepython|sagewheels|nopypi|norequirements)-*)*([^/]*)$',
121
123
  venv):
122
124
  distribution, extras = m.group(1), m.group(4)
123
125
  if extras:
124
126
  distribution += '[' + extras.replace('-', ',') + ']'
125
- default_venv_given_distribution, default_environment_given_distribution = default_venv_environment_from_distribution(distribution)
127
+ default_venv_given_distribution, default_environment_given_distribution = default_venv_environment_from_distribution(distribution, toxenv)
126
128
 
127
129
  if (Path(venv).resolve() == Path(default_venv_given_distribution).resolve()
128
130
  or not environment or environment == default_environment_given_distribution):
@@ -557,11 +559,11 @@ def process_grouped_blocks(grouped_iterator, distribution=None, venv=None, envir
557
559
  print(f"{count:6} {' '.join(sorted(tags)) or '(untagged)'}")
558
560
 
559
561
 
560
- def fix_with_distribution(file_set, distribution=None, verbose=False):
562
+ def fix_with_distribution(file_set, distribution=None, toxenv=None, verbose=False):
561
563
  if verbose:
562
564
  print("#" * 78)
563
565
  print(f"sage-fixdoctests: Fixing with --distribution={shlex.quote(distribution)}")
564
- default_venv, default_environment = default_venv_environment_from_distribution(distribution)
566
+ default_venv, default_environment = default_venv_environment_from_distribution(distribution, toxenv)
565
567
  venv = args.venv or default_venv
566
568
  environment = args.environment or default_environment
567
569
  file_set_to_process = sorted(file_set)
@@ -641,10 +643,10 @@ if __name__ == "__main__":
641
643
  if args.no_test:
642
644
  pass
643
645
  elif len(args.distribution) == 1 and not args.fixed_point:
644
- fix_with_distribution(set(unprocessed_files), args.distribution[0])
646
+ fix_with_distribution(set(unprocessed_files), args.distribution[0], toxenv=args.toxenv)
645
647
  else:
646
648
  for distribution, file_set in venv_files.items():
647
- fix_with_distribution(file_set, distribution, verbose=True)
649
+ fix_with_distribution(file_set, distribution, verbose=True, toxenv=args.toxenv)
648
650
  if args.fixed_point:
649
651
  if args.probe:
650
652
  print(f"sage-fixdoctests: Turning off --probe for the following iterations")
@@ -657,7 +659,7 @@ if __name__ == "__main__":
657
659
  if not file_set:
658
660
  break
659
661
  while file_set:
660
- fix_with_distribution(file_set, distribution, verbose=True)
662
+ fix_with_distribution(file_set, distribution, verbose=True, toxenv=args.toxenv)
661
663
  # Immediately re-run with the same distribution to continue chains of
662
664
  # "NameError" / "variable was set only in doctest" fixes
663
665
 
@@ -679,7 +681,7 @@ if __name__ == "__main__":
679
681
  if distribution == '':
680
682
  continue
681
683
  plain_distribution, extras = plain_distribution_and_extras(distribution)
682
- default_venv, _ = default_venv_environment_from_distribution(distribution)
684
+ default_venv, _ = default_venv_environment_from_distribution(distribution, args.toxenv)
683
685
  venv = args.venv or default_venv
684
686
  try:
685
687
  stats_filename = os.path.join(default_venv, '.sage/timings2.json')
@@ -4,6 +4,6 @@
4
4
  # which stops "setup.py develop" from rewriting it as a Python file.
5
5
  :
6
6
  # This file is auto-generated by the sage-update-version script, do not edit!
7
- SAGE_VERSION='10.4.58'
8
- SAGE_RELEASE_DATE='2024-11-11'
9
- SAGE_VERSION_BANNER='passagemath version 10.4.58, Release Date: 2024-11-11'
7
+ SAGE_VERSION='10.5.2'
8
+ SAGE_RELEASE_DATE='2024-12-07'
9
+ SAGE_VERSION_BANNER='passagemath version 10.5.2, Release Date: 2024-12-07'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: passagemath-repl
3
- Version: 10.4.58
3
+ Version: 10.5.2
4
4
  Summary: passagemath: IPython kernel, Sage preparser, doctester
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
28
28
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
29
  Requires-Python: <3.13,>=3.9
30
30
  Description-Content-Type: text/x-rst
31
- Requires-Dist: passagemath-objects~=10.4.58.0
32
- Requires-Dist: passagemath-environment~=10.4.58.0
31
+ Requires-Dist: passagemath-objects~=10.5.2.0
32
+ Requires-Dist: passagemath-environment~=10.5.2.0
33
33
  Requires-Dist: ipykernel>=5.2.1
34
34
  Requires-Dist: ipython>=7.13.0
35
35
  Requires-Dist: ipywidgets>=7.5.1
@@ -164,8 +164,8 @@ sage/repl/rich_output/output_video.py
164
164
  sage/repl/rich_output/preferences.py
165
165
  sage/repl/rich_output/pretty_print.py
166
166
  sage/repl/rich_output/test_backend.py
167
- sage/tests/__init__.py
168
167
  sage/tests/all.py
168
+ sage/tests/all__sagemath_repl.py
169
169
  sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py
170
170
  sage/tests/arxiv_0812_2725.py
171
171
  sage/tests/benchmark.py
@@ -174,7 +174,6 @@ sage/tests/book_stein_ent.py
174
174
  sage/tests/book_stein_modform.py
175
175
  sage/tests/cmdline.py
176
176
  sage/tests/combinatorial_hopf_algebras.py
177
- sage/tests/cython.pyx
178
177
  sage/tests/finite_poset.py
179
178
  sage/tests/functools_partial_src.py
180
179
  sage/tests/gosper-sum.py
@@ -184,7 +183,6 @@ sage/tests/modular_group_cohomology.py
184
183
  sage/tests/numpy.py
185
184
  sage/tests/parigp.py
186
185
  sage/tests/startup.py
187
- sage/tests/stl_vector.pyx
188
186
  sage/tests/symbolic-series.py
189
187
  sage/tests/sympy.py
190
188
  sage/tests/test_deprecation.py
@@ -1,5 +1,5 @@
1
- passagemath-objects~=10.4.58.0
2
- passagemath-environment~=10.4.58.0
1
+ passagemath-objects~=10.5.2.0
2
+ passagemath-environment~=10.5.2.0
3
3
  ipykernel>=5.2.1
4
4
  ipython>=7.13.0
5
5
  ipywidgets>=7.5.1
@@ -10,8 +10,8 @@ build-backend = "setuptools.build_meta"
10
10
  name = "passagemath-repl"
11
11
  description = "passagemath: IPython kernel, Sage preparser, doctester"
12
12
  dependencies = [
13
- 'passagemath-objects ~= 10.4.58.0',
14
- 'passagemath-environment ~= 10.4.58.0',
13
+ 'passagemath-objects ~= 10.5.2.0',
14
+ 'passagemath-environment ~= 10.5.2.0',
15
15
  'ipykernel >=5.2.1',
16
16
  'ipython >=7.13.0',
17
17
  'ipywidgets >=7.5.1',
@@ -497,7 +497,7 @@ class DocTestController(SageObject):
497
497
  if pkg.name in options.hide:
498
498
  continue
499
499
  # Skip features for which we have a more specific runtime feature test.
500
- if pkg.name in ['bliss', 'coxeter3', 'giac', 'mcqd', 'meataxe', 'sirocco', 'tdlib', 'latte_int']:
500
+ if pkg.name in ['bliss', 'buckygen', 'coxeter3', 'cvxpy', 'database_graphs', 'eclib', 'ecm', 'fricas', 'frobby', 'gfan', 'giac', 'jmol', 'latte_int', 'macaulay2', 'mcqd', 'meataxe', 'msolve', 'palp', 'plantri', 'polytopes_db', 'qepcad', 'rubiks', 'sirocco', 'sympow', 'tdlib', 'topcom']:
501
501
  continue
502
502
  if pkg.is_installed() and pkg.installed_version == pkg.remote_version:
503
503
  options.optional.add(pkg.name)
@@ -32,12 +32,12 @@ AUTHORS:
32
32
  #*****************************************************************************
33
33
 
34
34
  import multiprocessing
35
- import os
35
+ import platform
36
36
 
37
37
  # With OS X, Python 3.8 defaults to use 'spawn' instead of 'fork' in
38
38
  # multiprocessing, and Sage doctesting doesn't work with 'spawn'. See
39
39
  # trac #27754.
40
- if os.uname().sysname == 'Darwin':
40
+ if platform.system() == 'Darwin':
41
41
  multiprocessing.set_start_method('fork', force=True)
42
42
  Array = multiprocessing.Array
43
43
 
@@ -48,6 +48,7 @@ AUTHORS:
48
48
 
49
49
 
50
50
  import os
51
+ import platform
51
52
  import sys
52
53
  import time
53
54
  import signal
@@ -80,7 +81,7 @@ from sage.cpython.string import bytes_to_str, str_to_bytes
80
81
  # With OS X, Python 3.8 defaults to use 'spawn' instead of 'fork' in
81
82
  # multiprocessing, and Sage doctesting doesn't work with 'spawn'. See
82
83
  # trac #27754.
83
- if os.uname().sysname == 'Darwin':
84
+ if platform.system() == 'Darwin':
84
85
  multiprocessing.set_start_method('fork', force=True)
85
86
 
86
87
 
@@ -58,7 +58,7 @@ ansi_escape_sequence = re.compile(r"(\x1b[@-Z\\-~]|\x1b\[.*?[@-~]|\x9b.*?[@-~])"
58
58
  special_optional_regex = (
59
59
  "py2|long time|not implemented|not tested|optional|needs|known bug"
60
60
  )
61
- tag_with_explanation_regex = r"((?:\w|[.])*)\s*(?:\((?P<cmd_explanation>.*?)\))?"
61
+ tag_with_explanation_regex = r"((?:!?\w|[.])*)\s*(?:\((?P<cmd_explanation>.*?)\))?"
62
62
  optional_regex = re.compile(
63
63
  rf"[^ a-z]\s*(?P<cmd>{special_optional_regex})(?:\s|[:-])*(?P<tags>(?:(?:{tag_with_explanation_regex})\s*)*)",
64
64
  re.IGNORECASE,
@@ -1125,14 +1125,14 @@ class SageDocTestParser(doctest.DocTestParser):
1125
1125
  continue
1126
1126
 
1127
1127
  if self.optional_tags is not True:
1128
- extra = {
1129
- tag
1130
- for tag in optional_tags
1131
- if (
1132
- tag not in self.optional_tags
1133
- and tag not in available_software
1134
- )
1135
- }
1128
+ extra = set()
1129
+ for tag in optional_tags:
1130
+ if tag not in self.optional_tags:
1131
+ if tag.startswith('!'):
1132
+ if tag[1:] in available_software:
1133
+ extra.add(tag)
1134
+ elif tag not in available_software:
1135
+ extra.add(tag)
1136
1136
  if extra and any(tag in ["bug"] for tag in extra):
1137
1137
  # Bug only occurs on a specific platform?
1138
1138
  bug_platform = optional_tags_with_values.get("bug")
@@ -1530,8 +1530,17 @@ class SageOutputChecker(doctest.OutputChecker):
1530
1530
  did_fixup = True
1531
1531
 
1532
1532
  if "ld_classic is deprecated" in got:
1533
- ld_classic_warning_regex = re.compile(r'ld: warning: -ld_classic is deprecated and will be removed in a future release')
1534
- got = ld_classic_warning_regex.sub('', got)
1533
+ # New warnings as of Oct '24, Xcode 16.
1534
+ ld_warn_regex = re.compile("ld: warning: -ld_classic is deprecated and will be removed in a future release")
1535
+ got = ld_warn_regex.sub('', got)
1536
+ did_fixup = True
1537
+
1538
+ if "duplicate libraries" in got:
1539
+ # New warnings as of Sept '23, OS X 13.6, new command-line
1540
+ # tools. In particular, these seem to come from ld in
1541
+ # Xcode 15.
1542
+ dup_lib_regex = re.compile("ld: warning: ignoring duplicate libraries: .*")
1543
+ got = dup_lib_regex.sub('', got)
1535
1544
  did_fixup = True
1536
1545
 
1537
1546
  return did_fixup, want, got
@@ -1013,7 +1013,7 @@ class PythonSource(SourceLanguage):
1013
1013
  sage: print(FDS.quotetype)
1014
1014
  None
1015
1015
  """
1016
- def _update_parens(start,end=None):
1016
+ def _update_parens(start, end=None):
1017
1017
  self.paren_count += line.count("(",start,end) - line.count(")",start,end)
1018
1018
  self.bracket_count += line.count("[",start,end) - line.count("]",start,end)
1019
1019
  self.curly_count += line.count("{",start,end) - line.count("}",start,end)
@@ -37,6 +37,7 @@ def class_graph(top, depth=5, name_filter=None, classes=None, as_graph=True):
37
37
 
38
38
  We construct the inheritance graph of the classes within a given module::
39
39
 
40
+ sage: # needs sage.rings.padics
40
41
  sage: from sage.rings.polynomial.padics import polynomial_padic_capped_relative_dense, polynomial_padic_flat
41
42
  sage: G = class_graph(sage.rings.polynomial.padics); G
42
43
  Digraph on 6 vertices
@@ -68,6 +69,8 @@ def class_graph(top, depth=5, name_filter=None, classes=None, as_graph=True):
68
69
  mapping each class name to the list of names of its bases. This
69
70
  can be emulated by setting the option ``as_graph`` to ``False``::
70
71
 
72
+ sage: # needs sage.rings.padics
73
+ sage: import sage.rings.polynomial.padics
71
74
  sage: class_graph(sage.rings.polynomial.padics, depth=2, as_graph=False)
72
75
  {'Polynomial_padic': ['Polynomial'],
73
76
  'Polynomial_padic_capped_relative_dense': ['Polynomial_generic_cdv',
@@ -81,7 +84,7 @@ def class_graph(top, depth=5, name_filter=None, classes=None, as_graph=True):
81
84
 
82
85
  TESTS::
83
86
 
84
- sage: G = class_graph(sage.rings.polynomial.padics, depth=2); G
87
+ sage: G = class_graph(sage.rings.polynomial.padics, depth=2); G # needs sage.rings.padics
85
88
  Digraph on 6 vertices
86
89
  """
87
90
  # This function descends recursively down the submodules of the
@@ -179,9 +179,12 @@ def sage_eval(source, locals=None, cmds='', preparse=True):
179
179
  import sage.all__sagemath_polyhedra as toplevel
180
180
  except ImportError:
181
181
  try:
182
- import sage.all__sagemath_categories as toplevel
182
+ import sage.all__sagemath_modules as toplevel
183
183
  except ImportError:
184
- import sage.all__sagemath_objects as toplevel
184
+ try:
185
+ import sage.all__sagemath_categories as toplevel
186
+ except ImportError:
187
+ import sage.all__sagemath_objects as toplevel
185
188
  if cmds:
186
189
  cmd_seq = cmds + '\n_sage_eval_returnval_ = ' + source
187
190
  if preparse:
File without changes
@@ -20,16 +20,15 @@ from cysignals.alarm import alarm, cancel_alarm, AlarmInterrupt
20
20
  from sage.combinat.combinat import fibonacci
21
21
  from sage.functions.other import factorial
22
22
  from sage.interfaces.gp import gp
23
- from sage.interfaces.macaulay2 import macaulay2
24
23
  from sage.interfaces.magma import magma, Magma
25
24
  from sage.interfaces.maple import maple
26
25
  from sage.interfaces.mathematica import mathematica
27
26
  from sage.interfaces.maxima import maxima
28
27
  from sage.interfaces.singular import singular
29
28
  from sage.libs.pari import pari
30
- from sage.libs.gap.libgap import libgap
31
29
  from sage.matrix.matrix_space import MatrixSpace
32
30
  from sage.misc.functional import log
31
+ from sage.misc.lazy_import import lazy_import
33
32
  from sage.misc.timing import cputime, walltime
34
33
  from sage.modular.modsym.modsym import ModularSymbols
35
34
  from sage.rings.complex_mpfr import ComplexField
@@ -41,6 +40,9 @@ from sage.rings.integer_ring import ZZ
41
40
  from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
42
41
  from sage.schemes.elliptic_curves.constructor import EllipticCurve
43
42
 
43
+ lazy_import('sage.interfaces.macaulay2', 'macaulay2')
44
+ lazy_import('sage.libs.gap.libgap', 'libgap')
45
+
44
46
 
45
47
  def avg(X):
46
48
  """
@@ -385,9 +385,9 @@ Sage example in ./kschurnotes/notes-mike-anne.tex, line 2382::
385
385
  Sage example in ./kschurnotes/notes-mike-anne.tex, line 2487::
386
386
 
387
387
  sage: Sym = SymmetricFunctions(QQ)
388
- sage: ks = Sym.kschur(3,t=1)
388
+ sage: ks = Sym.kschur(3, t=1)
389
389
  sage: h = Sym.homogeneous()
390
- sage: for mu in Partitions(7, max_part =3):
390
+ sage: for mu in Partitions(7, max_part=3):
391
391
  ....: print(h(ks(mu)))
392
392
  h[3, 3, 1]
393
393
  h[3, 2, 2] - h[3, 3, 1]
@@ -207,9 +207,9 @@ sage: def rsa(bits):
207
207
  ....: if gcd(e,phi_n) == 1: break
208
208
  ....: d = lift(Mod(e,phi_n)^(-1))
209
209
  ....: return e, d, n
210
- sage: def encrypt(m,e,n):
210
+ sage: def encrypt(m, e, n):
211
211
  ....: return lift(Mod(m,n)^e)
212
- sage: def decrypt(c,d,n):
212
+ sage: def decrypt(c, d, n):
213
213
  ....: return lift(Mod(c,n)^d)
214
214
  sage: e,d,n = rsa(20)
215
215
  sage: c = encrypt(123, e, n)
@@ -349,7 +349,7 @@ sage: zeta^5
349
349
  1
350
350
  sage: 1/zeta
351
351
  -zeta^3 - zeta^2 - zeta - 1
352
- sage: def gauss_sum(a,p):
352
+ sage: def gauss_sum(a, p):
353
353
  ....: K.<zeta> = CyclotomicField(p)
354
354
  ....: return sum(legendre_symbol(n,p) * zeta^(a*n) for n in range(1,p))
355
355
  sage: g2 = gauss_sum(2,5); g2
@@ -528,7 +528,7 @@ sage: rels = [y1^2 - (x1^3 + a*x1 + b),
528
528
  ....: y3^2 - (x3^3 + a*x3 + b)]
529
529
  ...
530
530
  sage: Q = R.quotient(rels)
531
- sage: def op(P1,P2):
531
+ sage: def op(P1, P2):
532
532
  ....: x1,y1 = P1; x2,y2 = P2
533
533
  ....: lam = (y1 - y2)/(x1 - x2); nu = y1 - lam*x1
534
534
  ....: x3 = lam^2 - x1 - x2; y3 = -lam*x3 - nu
@@ -705,7 +705,7 @@ Sage example in ./combinat.tex, line 2116::
705
705
 
706
706
  Sage example in ./combinat.tex, line 2130::
707
707
 
708
- sage: def words(alphabet,l):
708
+ sage: def words(alphabet, l):
709
709
  ....: if l == 0: yield []
710
710
  ....: else:
711
711
  ....: for word in words(alphabet, l-1):
@@ -189,7 +189,7 @@ Sage example in ./float.tex, line 1003::
189
189
 
190
190
  Sage example in ./float.tex, line 1072::
191
191
 
192
- sage: def iter(y,delta,a,n):
192
+ sage: def iter(y, delta, a, n):
193
193
  ....: for i in range(0,n):
194
194
  ....: y += delta
195
195
  ....: delta *= a
@@ -197,7 +197,7 @@ Sage example in ./float.tex, line 1072::
197
197
 
198
198
  Sage example in ./float.tex, line 1087::
199
199
 
200
- sage: def exact(y,delta,a,n):
200
+ sage: def exact(y, delta, a, n):
201
201
  ....: return y+delta*(1-a^n)/(1-a)
202
202
 
203
203
  Sage example in ./float.tex, line 1106::
@@ -210,7 +210,7 @@ Sage example in ./float.tex, line 1106::
210
210
 
211
211
  Sage example in ./float.tex, line 1128::
212
212
 
213
- sage: def sumcomp(y,delta,e,n,a):
213
+ sage: def sumcomp(y, delta, e, n, a):
214
214
  ....: for i in range(0,n):
215
215
  ....: b = y
216
216
  ....: e += delta
@@ -358,7 +358,7 @@ Sage example in ./float.tex, line 1913::
358
358
 
359
359
  Sage example in ./float.tex, line 1975::
360
360
 
361
- sage: def bisect(funct,x,tol,zeros):
361
+ sage: def bisect(funct, x, tol, zeros):
362
362
  ....: if 0 in funct(x):
363
363
  ....: if x.diameter()>tol:
364
364
  ....: x1,x2 = x.bisection()
@@ -389,7 +389,7 @@ Sage example in ./float.tex, line 1975::
389
389
 
390
390
  Sage example in ./float.tex, line 2022::
391
391
 
392
- sage: def NearlySingularMatrix(R,n):
392
+ sage: def NearlySingularMatrix(R, n):
393
393
  ....: M=matrix(R,n,n)
394
394
  ....: for i in range(0,n):
395
395
  ....: for j in range(0,n):
@@ -409,7 +409,7 @@ Sage example in ./float.tex, line 2053::
409
409
 
410
410
  Sage example in ./float.tex, line 2064::
411
411
 
412
- sage: def tryDet(R,n):
412
+ sage: def tryDet(R, n):
413
413
  ....: p = 53
414
414
  ....: z = True
415
415
  ....: while z:
@@ -154,7 +154,7 @@ Sage example in ./graphique.tex, line 1266::
154
154
 
155
155
  sage: n = 11; L = srange(6, 18, 12 / n); R = srange(3, 9, 6 / n)
156
156
  sage: CI = list(zip(L, R)) # list of initial conditions
157
- sage: def g(x,y):
157
+ sage: def g(x, y):
158
158
  ....: v = vector(dX_dt([x, y])) # for a nicer graph, we
159
159
  ....: return v/v.norm() # normalise the vector field
160
160
  sage: x, y = var('x, y')
@@ -227,12 +227,12 @@ Sage example in ./integration.tex, line 1228::
227
227
 
228
228
  Sage example in ./integration.tex, line 1244::
229
229
 
230
- sage: def f_1(t,y,params): return [y[1],params[0]*(1-y[0]^2)*y[1]-y[0]]
230
+ sage: def f_1(t, y, params): return [y[1],params[0]*(1-y[0]^2)*y[1]-y[0]]
231
231
  sage: T.function = f_1
232
232
 
233
233
  Sage example in ./integration.tex, line 1266::
234
234
 
235
- sage: def j_1(t,y,params):
235
+ sage: def j_1(t, y, params):
236
236
  ....: return [[0, 1],
237
237
  ....: [-2*params[0]*y[0]*y[1]-1, params[0]*(1-y[0]^2)],
238
238
  ....: [0,0]]
@@ -281,7 +281,7 @@ Sage example in ./linsolve.tex, line 2121::
281
281
 
282
282
  Sage example in ./linsolve.tex, line 2124::
283
283
 
284
- sage: def eval(P,x):
284
+ sage: def eval(P, x):
285
285
  ....: if len(P) == 0:
286
286
  ....: return 0
287
287
  ....: else:
@@ -289,12 +289,12 @@ Sage example in ./linsolve.tex, line 2124::
289
289
 
290
290
  Sage example in ./linsolve.tex, line 2133::
291
291
 
292
- sage: def pscal(P,Q,lx):
292
+ sage: def pscal(P, Q, lx):
293
293
  ....: return float(sum(eval(P,s)*eval(Q,s) for s in lx))
294
294
 
295
295
  Sage example in ./linsolve.tex, line 2139::
296
296
 
297
- sage: def padd(P,a,Q):
297
+ sage: def padd(P, a, Q):
298
298
  ....: for i in range(0,len(Q)):
299
299
  ....: P[i] += a*Q[i]
300
300
 
@@ -310,7 +310,7 @@ Sage example in ./linsolve.tex, line 2149::
310
310
 
311
311
  Sage example in ./linsolve.tex, line 2160::
312
312
 
313
- sage: def orthopoly(n,x):
313
+ sage: def orthopoly(n, x):
314
314
  ....: if n > len(x):
315
315
  ....: raise BadParamsforOrthop(n, len(x))
316
316
  ....: orth = [[1./sqrt(float(len(x)))]]
@@ -385,7 +385,7 @@ Sage example in ./linsolve.tex, line 2828::
385
385
  sage: from numpy.linalg import *
386
386
  sage: from numpy import array
387
387
  sage: from numpy.random import rand
388
- sage: def power(A,x,N): # power iteration
388
+ sage: def power(A, x, N): # power iteration
389
389
  ....: for i in range(N):
390
390
  ....: y = A*x
391
391
  ....: z = y/norm(y)
@@ -99,7 +99,7 @@ Sage example in ./numbertheory.tex, line 571::
99
99
 
100
100
  Sage example in ./numbertheory.tex, line 593::
101
101
 
102
- sage: def harmonic_mod(n,m):
102
+ sage: def harmonic_mod(n, m):
103
103
  ....: return add([1/x % m for x in range(1,n+1)])
104
104
  sage: def harmonic2(n):
105
105
  ....: q = lcm(range(1,n+1))
@@ -341,7 +341,7 @@ Sage example in ./recequadiff.tex, line 1568::
341
341
 
342
342
  Sage example in ./recequadiff.tex, line 1582::
343
343
 
344
- sage: def cloud(u,n):
344
+ sage: def cloud(u, n):
345
345
  ....: L = [[0,u(0)]];
346
346
  ....: for k in [1..n]:
347
347
  ....: L += [[k,u(k)]]
@@ -353,7 +353,7 @@ Sage example in ./recequadiff.tex, line 1598::
353
353
 
354
354
  Sage example in ./recequadiff.tex, line 1619::
355
355
 
356
- sage: def snail(f,x,u0,n,xmin,xmax):
356
+ sage: def snail(f, x, u0, n, xmin, xmax):
357
357
  ....: u = u0
358
358
  ....: P = plot(x, x, xmin, xmax, color='gray')
359
359
  ....: for i in range(n):
@@ -76,7 +76,7 @@ Sage example in ./sol/float.tex, line 157::
76
76
 
77
77
  Sage example in ./sol/float.tex, line 179::
78
78
 
79
- sage: def recur(x1,x0):
79
+ sage: def recur(x1, x0):
80
80
  ....: return 111 - 1130/x1 + 3000/(x0*x1)
81
81
 
82
82
  Sage example in ./sol/float.tex, line 190::
@@ -62,7 +62,7 @@ Sage example in ./sol/graphique.tex, line 124::
62
62
  Sage example in ./sol/graphique.tex, line 154::
63
63
 
64
64
  sage: n = 10; L = srange(6, 18, 12 / n); R = srange(3, 9, 6 / n)
65
- sage: def g(x,y): v = vector(f(x, y)); return v / v.norm()
65
+ sage: def g(x, y): v = vector(f(x, y)); return v / v.norm()
66
66
  sage: q = plot_vector_field(g(x, y), (x, 0, 60), (y, 0, 36))
67
67
  sage: for j in range(n):
68
68
  ....: P = desolve_system_rk4(f(x,y), [x,y],
@@ -77,7 +77,7 @@ Sage example in ./sol/graphique.tex, line 185::
77
77
  sage: def dX_dt(X, t=0): return [X[1], 0.5*X[1] - X[0] - X[1]^3]
78
78
  sage: t = srange(0, 40, 0.01); x0 = srange(-2, 2, 0.1); y0 = 2.5
79
79
  sage: CI = [[i, y0] for i in x0] + [[i, -y0] for i in x0]
80
- sage: def g(x,y): v = vector(dX_dt([x, y])); return v / v.norm()
80
+ sage: def g(x, y): v = vector(dX_dt([x, y])); return v / v.norm()
81
81
  sage: x, y = var('x, y'); n = len(CI)
82
82
  sage: q = plot_vector_field(g(x, y), (x, -3, 3), (y, -y0, y0))
83
83
  sage: for j in range(n): # long time