passagemath-repl 10.5.1__py3-none-any.whl → 10.5.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/METADATA +3 -3
  2. {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/RECORD +39 -39
  3. sage/doctest/control.py +2 -1
  4. sage/doctest/external.py +24 -0
  5. sage/doctest/reporting.py +2 -0
  6. sage/doctest/util.py +2 -0
  7. sage/misc/cython.py +6 -0
  8. sage/misc/inline_fortran.py +1 -3
  9. sage/repl/attach.py +6 -2
  10. sage/repl/configuration.py +3 -4
  11. sage/repl/interpreter.py +3 -3
  12. sage/repl/ipython_extension.py +82 -7
  13. sage/repl/ipython_kernel/widgets.py +1 -1
  14. sage/repl/load.py +15 -4
  15. sage/repl/rich_output/backend_doctest.py +4 -4
  16. sage/repl/rich_output/backend_ipython.py +8 -8
  17. sage/repl/rich_output/output_basic.py +3 -3
  18. sage/repl/rich_output/output_catalog.py +3 -3
  19. sage/repl/rich_output/test_backend.py +3 -3
  20. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-cachegrind +0 -0
  21. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-callgrind +0 -0
  22. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-cleaner +0 -0
  23. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-coverage +0 -0
  24. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-eval +0 -0
  25. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-fixdoctests +0 -0
  26. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-inline-fortran +0 -0
  27. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-ipynb2rst +0 -0
  28. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-ipython +0 -0
  29. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-massif +0 -0
  30. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-notebook +0 -0
  31. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-omega +0 -0
  32. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-preparse +0 -0
  33. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-run +0 -0
  34. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-run-cython +0 -0
  35. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-runtests +0 -0
  36. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-startuptime.py +0 -0
  37. {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-valgrind +0 -0
  38. {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/WHEEL +0 -0
  39. {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: passagemath-repl
3
- Version: 10.5.1
3
+ Version: 10.5.8
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.5.1.0
32
- Requires-Dist: passagemath-environment ~=10.5.1.0
31
+ Requires-Dist: passagemath-objects ~=10.5.8.0
32
+ Requires-Dist: passagemath-environment ~=10.5.8.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
@@ -1,38 +1,38 @@
1
- passagemath_repl-10.5.1.data/scripts/sage-cachegrind,sha256=FRrT4BoRsrATlQOrXALHAbDI_KLhz0XuDOD6xzECEl8,651
2
- passagemath_repl-10.5.1.data/scripts/sage-callgrind,sha256=pWhrI8NsVa_XSuay052htjxcM3thrpX8rI6Uj_pK5Uo,442
3
- passagemath_repl-10.5.1.data/scripts/sage-cleaner,sha256=vM0CkzbxiSCE0Z85AViQIvoxb5oUz5WOmVOvShbLDUY,7778
4
- passagemath_repl-10.5.1.data/scripts/sage-coverage,sha256=IhvqnFvmvNJBMQtiSu5_Qy52a67hG-r3cAeyhYOOj7w,10199
5
- passagemath_repl-10.5.1.data/scripts/sage-eval,sha256=4IHv01xH34wJPj61wzcL5ufhoO6Y3UTTGz7b-0YKJFw,266
6
- passagemath_repl-10.5.1.data/scripts/sage-fixdoctests,sha256=cTWoFr9rAdOF-xeW6ytNeX3EzhKcs1mTN4UilP4kiGg,36877
7
- passagemath_repl-10.5.1.data/scripts/sage-inline-fortran,sha256=T3U943WNPKrxQJuanBhTpXU3jJ5vjaXd56R8yWv_8PM,234
8
- passagemath_repl-10.5.1.data/scripts/sage-ipynb2rst,sha256=PynBPdthnpwGbILDRA38IwpT319Ze-g8UMmWaaTnimQ,1345
9
- passagemath_repl-10.5.1.data/scripts/sage-ipython,sha256=RYYd8-gmE5JE_-dCkOSDpC6rRsX6i6tma3pqgmXYJvM,342
10
- passagemath_repl-10.5.1.data/scripts/sage-massif,sha256=Tfqb6ON9d0OZnt6VlGS21asbdMq8zWzx8ZnvV1n_buI,613
11
- passagemath_repl-10.5.1.data/scripts/sage-notebook,sha256=QJ1Y4eTptc6TbNVXZswpcsn-NqaQNuSwjWE-lYmGpW8,8453
12
- passagemath_repl-10.5.1.data/scripts/sage-omega,sha256=4ARnHyZyB69ltxHj9xYpzad_YCBT3Nk0Wq3Ke09gExM,595
13
- passagemath_repl-10.5.1.data/scripts/sage-preparse,sha256=3L1KKgvSApvoK467Wza0S4WQLCXiYvivrhDKIvA1omc,10595
14
- passagemath_repl-10.5.1.data/scripts/sage-run,sha256=F1oAgPN7Kh5dO1smCyfGVT0Dy46NQ_dQ3OQZ8Wa6foM,689
15
- passagemath_repl-10.5.1.data/scripts/sage-run-cython,sha256=02mTGXokayRxISoCWWsDcKZwGrmh5B0mJJxTT87J01Q,235
16
- passagemath_repl-10.5.1.data/scripts/sage-runtests,sha256=nUvI3fCrBjqPUict01wIxwYPjvaZf4ttLp85tavUEpY,111
17
- passagemath_repl-10.5.1.data/scripts/sage-startuptime.py,sha256=RtIuC7jM3SOwROXTa6nnpJhzK0sQ24nDqyE6zXpCWEI,6209
18
- passagemath_repl-10.5.1.data/scripts/sage-valgrind,sha256=fZxy00oXU4PpHf_wc2uYKb7lzqSBY4VkhUxiuvXHKhA,1201
1
+ passagemath_repl-10.5.8.data/scripts/sage-cachegrind,sha256=FRrT4BoRsrATlQOrXALHAbDI_KLhz0XuDOD6xzECEl8,651
2
+ passagemath_repl-10.5.8.data/scripts/sage-callgrind,sha256=pWhrI8NsVa_XSuay052htjxcM3thrpX8rI6Uj_pK5Uo,442
3
+ passagemath_repl-10.5.8.data/scripts/sage-cleaner,sha256=vM0CkzbxiSCE0Z85AViQIvoxb5oUz5WOmVOvShbLDUY,7778
4
+ passagemath_repl-10.5.8.data/scripts/sage-coverage,sha256=IhvqnFvmvNJBMQtiSu5_Qy52a67hG-r3cAeyhYOOj7w,10199
5
+ passagemath_repl-10.5.8.data/scripts/sage-eval,sha256=4IHv01xH34wJPj61wzcL5ufhoO6Y3UTTGz7b-0YKJFw,266
6
+ passagemath_repl-10.5.8.data/scripts/sage-fixdoctests,sha256=cTWoFr9rAdOF-xeW6ytNeX3EzhKcs1mTN4UilP4kiGg,36877
7
+ passagemath_repl-10.5.8.data/scripts/sage-inline-fortran,sha256=T3U943WNPKrxQJuanBhTpXU3jJ5vjaXd56R8yWv_8PM,234
8
+ passagemath_repl-10.5.8.data/scripts/sage-ipynb2rst,sha256=PynBPdthnpwGbILDRA38IwpT319Ze-g8UMmWaaTnimQ,1345
9
+ passagemath_repl-10.5.8.data/scripts/sage-ipython,sha256=RYYd8-gmE5JE_-dCkOSDpC6rRsX6i6tma3pqgmXYJvM,342
10
+ passagemath_repl-10.5.8.data/scripts/sage-massif,sha256=Tfqb6ON9d0OZnt6VlGS21asbdMq8zWzx8ZnvV1n_buI,613
11
+ passagemath_repl-10.5.8.data/scripts/sage-notebook,sha256=QJ1Y4eTptc6TbNVXZswpcsn-NqaQNuSwjWE-lYmGpW8,8453
12
+ passagemath_repl-10.5.8.data/scripts/sage-omega,sha256=4ARnHyZyB69ltxHj9xYpzad_YCBT3Nk0Wq3Ke09gExM,595
13
+ passagemath_repl-10.5.8.data/scripts/sage-preparse,sha256=3L1KKgvSApvoK467Wza0S4WQLCXiYvivrhDKIvA1omc,10595
14
+ passagemath_repl-10.5.8.data/scripts/sage-run,sha256=F1oAgPN7Kh5dO1smCyfGVT0Dy46NQ_dQ3OQZ8Wa6foM,689
15
+ passagemath_repl-10.5.8.data/scripts/sage-run-cython,sha256=02mTGXokayRxISoCWWsDcKZwGrmh5B0mJJxTT87J01Q,235
16
+ passagemath_repl-10.5.8.data/scripts/sage-runtests,sha256=nUvI3fCrBjqPUict01wIxwYPjvaZf4ttLp85tavUEpY,111
17
+ passagemath_repl-10.5.8.data/scripts/sage-startuptime.py,sha256=RtIuC7jM3SOwROXTa6nnpJhzK0sQ24nDqyE6zXpCWEI,6209
18
+ passagemath_repl-10.5.8.data/scripts/sage-valgrind,sha256=fZxy00oXU4PpHf_wc2uYKb7lzqSBY4VkhUxiuvXHKhA,1201
19
19
  sage/all__sagemath_repl.py,sha256=z6lERTYuw3I4LQ7-hnEYbY1i-hMJj2uAm2ujOmWitSo,5713
20
20
  sage/doctest/__init__.py,sha256=JJMNkq7Rh3gCshtynqXDTLJgUKweNFlUhpnbvTLRMwg,166
21
21
  sage/doctest/__main__.py,sha256=wGVNiaPbhQwzoAs3Y1xhYBlB18pBieEDhi71ggF8NkQ,13647
22
22
  sage/doctest/all.py,sha256=SRWEXRjzsrFyY1rrErA7--1DrvjUQR0Th30P6vubnZ0,157
23
23
  sage/doctest/check_tolerance.py,sha256=YnYr981uSUZWfuv5OrXdytXsZx6PtJnQ7Mg8-Lj7pB4,8945
24
- sage/doctest/control.py,sha256=za_dqZM2OzzACDIm2ctr9roKW-s6JFM_4HDoVJM-7qw,67861
25
- sage/doctest/external.py,sha256=p1cmRXQdwLa4PZwn3VJzd6j-MpW_oJf4PDgVIuBgwBs,15577
24
+ sage/doctest/control.py,sha256=AtpT3jQeGpb3kpyZDho9rDmXl6nYJ77YBpraKP2i_78,67870
25
+ sage/doctest/external.py,sha256=ddr7S0bt1bqAHWyAQj0z4O1SrjwgpdY7ghDt4KZzDRo,15601
26
26
  sage/doctest/fixtures.py,sha256=UDSykekKanmnD737VXFv7r5QzcZmqzfwn1Noc_fKcnE,12784
27
27
  sage/doctest/forker.py,sha256=QhRJE8zV_KV0o8-4SX0tAzP49uZkYtsLY1mAkRDopI0,110831
28
28
  sage/doctest/marked_output.py,sha256=EJThXbkhYvYR5r1uuZyfPjeYHiLpHUgqTm1QZ5JTDgw,3034
29
29
  sage/doctest/parsing.py,sha256=GJRQRKX1cwr8fM5Gu2WxbxU3q8avsIskbH-7I2okjss,72167
30
30
  sage/doctest/parsing_test.py,sha256=7v3Y6kgLr7x5UF3CkdyNbRyhH4VRX275QPdCqG-jMxg,2652
31
- sage/doctest/reporting.py,sha256=5a4NVhYXp3x4ykmYBwVVz07eLdkbCkZ8KOM3pEN2-Vw,33381
31
+ sage/doctest/reporting.py,sha256=8SBJ7I6Ea8OAENNdtfns4TlhLNvgF8Ss1Y8tef5-02o,33383
32
32
  sage/doctest/rif_tol.py,sha256=m8XljRCPyaj_Kpng-sNxsRSo0BJR3QY3CArhjEZ9c5s,4973
33
33
  sage/doctest/sources.py,sha256=T7GHWVrIG-qypXGnHr_-F9KJSvU_n-09LSzDqkJgyyE,63592
34
34
  sage/doctest/test.py,sha256=XU8RASl7HPLM_YoPcyQ9uIwG9oUTUyjl7N7xH74vzdo,22616
35
- sage/doctest/util.py,sha256=A4D_kpzjkdohuqYvVpodqztKHm0YkolkiBMFjRrivqY,23950
35
+ sage/doctest/util.py,sha256=tvFeYl09UCHEpNUlRQWhRqvoZtpKGODfUTh5-vfv12I,23952
36
36
  sage/doctest/tests/1second.rst,sha256=CHBQjhfvPPyBQmTslo-G7kC8Jr6i5DujXTT19AewsIk,74
37
37
  sage/doctest/tests/99seconds.rst,sha256=1FUWC-u5vVHqYd2VUUe_GELikmMvUEDZDt-kAU8u4TA,75
38
38
  sage/doctest/tests/abort.rst,sha256=lqKD_TZvcnO38zmXrp76HyLlVZNKd72rbaGGGhPgywQ,164
@@ -57,12 +57,12 @@ sage/misc/banner.py,sha256=69sC578x0-t8a_l14w08xMLPBp0wcd8RsdTrcJq7ERQ,7883
57
57
  sage/misc/benchmark.py,sha256=4hW6hTGWfPb_E_U8V19Y_CPRN9_mUMsefrIb1rkzhfQ,6162
58
58
  sage/misc/classgraph.py,sha256=e9xZbH4cZhkY8uuNL-PrS1tyFXm8JcnhyE8uTDYOCoE,5155
59
59
  sage/misc/copying.py,sha256=jyY_AyAAFHAYGkj6Ca-kRd-PcW4qg18kDIUp1dVPk0M,423
60
- sage/misc/cython.py,sha256=cwOYy0szkMMS1CMZGpnA2tqU_SJDBoEBMlFyRWMhNik,24463
60
+ sage/misc/cython.py,sha256=tMs4FeyaE2Sbcd8wTGScXwTegQIU5iLFgOQUQA1VfbA,24659
61
61
  sage/misc/dev_tools.py,sha256=7Op4JFUXiYjUHN1lxO7blEVDr3vwYzDujO70XjwNDUE,28380
62
62
  sage/misc/edit_module.py,sha256=A3EctK2BgolhFtsCXtiShKzr_c0r3eGmb9HYnKPyOto,10528
63
63
  sage/misc/explain_pickle.py,sha256=KLuoOx_7xEeawgnLvheim4qmgMhPPOL0CcRxbP7CpWM,107704
64
64
  sage/misc/gperftools.py,sha256=ZXGxmNSnp9EdBOVwcTPgiJrmH3EbW4bgp7vOWLNgZNA,10909
65
- sage/misc/inline_fortran.py,sha256=pc9hZwLfuASGRYY2soHfoi6yXuAPV7RBQpaosv2b_zo,6921
65
+ sage/misc/inline_fortran.py,sha256=p2-MqigIL2-qQ9oyqUVX9r7dVtHihmyXh-_-1eb25TM,6837
66
66
  sage/misc/messaging.py,sha256=NdHinsgrUq3Kd8QC-c8oIHqt3_hPQ2hEd20rih91qgY,3203
67
67
  sage/misc/pager.py,sha256=bTxQlO2MuJ54ZulqzkcpDW5Yoseile5M9q7RoklrLU0,664
68
68
  sage/misc/profiler.py,sha256=r9M0GKmxEzWpZVuemY1ch03fd_zZz8kKpcEDXD8W-0k,5753
@@ -75,15 +75,15 @@ sage/misc/sh.py,sha256=4aogzam8JR0jtvWOM5CXycjPjWqUNs7Pc9l0fNwmwuw,1446
75
75
  sage/misc/trace.py,sha256=xEwmVVALZ7aCciIRpspoY4IJuE1T9502P5KL2VH0yl0,2978
76
76
  sage/repl/__init__.py,sha256=n6Dp28k-5BZmi9cePkg8G6S9qFWUGPBiFVRSiwsPLqk,663
77
77
  sage/repl/all.py,sha256=nh532qefRODsltlLeN-zFkX8UHc6g09pFh5gdIvMORI,508
78
- sage/repl/attach.py,sha256=v76YYujqim0c2AMY0DUTZoF3DwmMknuGLu-ydf8x9dI,19651
79
- sage/repl/configuration.py,sha256=ZGYDybWO4yGg66_qcEXbLdX74K1dDlOcEd2b2CSI_C4,6040
78
+ sage/repl/attach.py,sha256=tgnViiFNPZWsxw_FNpoKTmkVXX1NJmhVeWNOIlmwYa8,19805
79
+ sage/repl/configuration.py,sha256=rYmzn3UV6Azp4-_Dzq2b3YxmSsZ-0ZjYIoWiDQpqHo8,6040
80
80
  sage/repl/image.py,sha256=yrzjDnCdtbS5ZVnszqEgqctrL1s7nnFVtrs_TsuMciQ,9343
81
81
  sage/repl/inputhook.py,sha256=o3Z6kWs_37yOBMZzoJNj48ajAc3KkMW3M8gydruEFrY,2506
82
82
  sage/repl/interface_magic.py,sha256=WFAC_HHNmenOfCF8IXq3FOnNGX799BiEJdkg7p346f4,9412
83
- sage/repl/interpreter.py,sha256=OFJebSxAqBhBfbv0ita62M__tWo7yrTbQGHlDj6_fkg,30495
84
- sage/repl/ipython_extension.py,sha256=vTL3cdO4Z07NNEoDwWaUpTWN-13wV26Z9_18EthsRKc,20350
83
+ sage/repl/interpreter.py,sha256=K2sKkS-Oyv9V8eF52GW35LczeT_8M2lPomGyGM_ca1w,30434
84
+ sage/repl/ipython_extension.py,sha256=mTwt4-z9MCBh8OFj_FqlHa44FCLoNSh6V6_R2cs-yPg,23164
85
85
  sage/repl/ipython_tests.py,sha256=6sXyZJnKMcXeS7wvBZ8X6Lx6juBy27RDxLbmsrEVY20,4807
86
- sage/repl/load.py,sha256=MiwhCTA8RpDbF65-oRrbw8xO003SqDnVKzGQePFwQuE,11414
86
+ sage/repl/load.py,sha256=njH3sRvMV56p0-Nbe2IpQqA6u2k0rxAPfCVWdCHvdzk,11824
87
87
  sage/repl/preparse.py,sha256=fkMBb1voFvGD1iagtQk2nareICdHZpkJmAqOYEI_yOo,77110
88
88
  sage/repl/prompts.py,sha256=wyd7z3sdOaOevvnqfwrQBiCaj6hLiWYJ3De6eePbQEA,2253
89
89
  sage/repl/user_globals.py,sha256=FQA7tNioBoyHNw8SQCbA_teqMVtPRTYlql44KeYA18w,5930
@@ -99,13 +99,13 @@ sage/repl/ipython_kernel/all_jupyter.py,sha256=hpNw0ZQK89PkavLZD0UWqgPcA4AneXEIc
99
99
  sage/repl/ipython_kernel/install.py,sha256=Em9WxtSjX1iLcyXTQ6oXlR1zFfWAvKZYMBduTchTr-Q,9543
100
100
  sage/repl/ipython_kernel/interact.py,sha256=I5mckNe8bwOVhGexvNutXR3KwlY0WhwHPBzOked692A,11578
101
101
  sage/repl/ipython_kernel/kernel.py,sha256=uFQUDxGPtcLcP0YjNvFvLHNM-IIqPTpjG0sX4kF_pYs,7117
102
- sage/repl/ipython_kernel/widgets.py,sha256=EoUxblH1LHMi4YZaknH7y0ohymntuoB7_ytEkIAh5vk,14860
102
+ sage/repl/ipython_kernel/widgets.py,sha256=8AVDJcqNDRyZ7avLaIUAf79U4DOPlYglPAPDTjL2lZI,14853
103
103
  sage/repl/ipython_kernel/widgets_sagenb.py,sha256=wJTtH1v4jG15ORslYxx6tW-lfJRK9q44AlG-Iq3u-KY,20153
104
104
  sage/repl/rich_output/__init__.py,sha256=yHVVV_o6hHdQ5UscMtypHyqv_kl6uGC8SpkAsugLBCQ,132
105
105
  sage/repl/rich_output/backend_base.py,sha256=HvMaVFC0MfqKAnabvvotaH027xbsVp-NFz_KDYiqjZI,22159
106
- sage/repl/rich_output/backend_doctest.py,sha256=FXuIleAOmXt5NUviAu7KFuVgXt9HppVDR5cB9JuDNDM,13164
106
+ sage/repl/rich_output/backend_doctest.py,sha256=GUIcwHXWvTN16PFm3v4ZThk8F5FFnSkh1BIYlhVXMGo,13166
107
107
  sage/repl/rich_output/backend_emacs.py,sha256=lFlPjVe7XPju9yVl92YVNGoKMQS-37GqSBbZkBbpAFk,5919
108
- sage/repl/rich_output/backend_ipython.py,sha256=Wbj1lneOBGKLwzumd388fSQLiGx9MIdcG76EJTbMe5s,22054
108
+ sage/repl/rich_output/backend_ipython.py,sha256=-TTxvWX35xcJw-ZX2L0QGDMEvusb3xbaTqKTS-BWeZ0,22126
109
109
  sage/repl/rich_output/buffer.py,sha256=Lh2P_VBNQI8HIqwlyTmJ5uTsjg1sOWPeQ1tHdEnLns8,9928
110
110
  sage/repl/rich_output/display_manager.py,sha256=Lj2DNW-aP96D7w-0tmwDT83v_wPJOlEi2DMt4peP8Uo,29462
111
111
  sage/repl/rich_output/example.avi,sha256=my4VexWs4c2gFV9mpO-BjvCMj1I241FjHkpk3-hQ8BY,7976
@@ -126,15 +126,15 @@ sage/repl/rich_output/example.wmv,sha256=Qvum3SBUUtWDzbv4XO1cAtVQTkGPGhriUhbkBbx
126
126
  sage/repl/rich_output/example_jmol.spt.zip,sha256=XPf_Yd0ryezWJZaGFcuIHhQhcq23rbykWxKIsDIfLSs,654
127
127
  sage/repl/rich_output/example_wavefront_scene.mtl,sha256=YhkzrsfToVT7bPT3wKMrV66gEbwKoGsxufIE140NJeg,80
128
128
  sage/repl/rich_output/example_wavefront_scene.obj,sha256=b8pXoBrRMXAuvpKH3vXiVOf2OfYAlRSB_pKeovEN4e8,227
129
- sage/repl/rich_output/output_basic.py,sha256=OCJLvcRGqP5JtOvjppvFtCuhKRvID6CkBMvyHUyJR4A,12754
129
+ sage/repl/rich_output/output_basic.py,sha256=lJSh3fT8xjFyFGN9QgfuLdnx3I7Ei4MrLGArai-c7xk,12755
130
130
  sage/repl/rich_output/output_browser.py,sha256=uskXYeOEpJW-gRjUVqkt10uhGOj_L-1XBJPfO9eINKs,3325
131
- sage/repl/rich_output/output_catalog.py,sha256=yqQ1sBsIFYBISP6tEIIQUCDvB7pVMfGzrVi2Fw1Xfhg,1298
131
+ sage/repl/rich_output/output_catalog.py,sha256=x9eZYTW9oX4H1tJQzqYp3756l2Y4uWo922UTgsmLjY0,1299
132
132
  sage/repl/rich_output/output_graphics.py,sha256=dFU3lWWpT4rCn-7n4CUezCfhcDMv-0XA2ocFpJXND6o,9883
133
133
  sage/repl/rich_output/output_graphics3d.py,sha256=UtKxX-9MooS2GK4E730ag2uBjrNbdp38XaIyfdvacj0,11844
134
134
  sage/repl/rich_output/output_video.py,sha256=4-yQKBCr785qnb2Hdp2E8Ds39WbhNI5moHTlnu_s2Lw,6485
135
135
  sage/repl/rich_output/preferences.py,sha256=AQNOC0RrkcVXsvMAfyAw1IJJgbG6Xd2YjAUt_LPzcJU,12896
136
136
  sage/repl/rich_output/pretty_print.py,sha256=RQYNkwwMBRZGaXgw1Bff1VdxSHVui5y-azaqWBC9IdQ,11054
137
- sage/repl/rich_output/test_backend.py,sha256=jqzlRjh5lYBmUkrRoaSbYLMQ0HYzJA1kQ0TdmdsBNTM,6606
137
+ sage/repl/rich_output/test_backend.py,sha256=lWvrkhnjXBMw4kAoBW2F0qJXRXk-tBnbQj1MJKHVH0A,6607
138
138
  sage/tests/all.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
139
  sage/tests/all__sagemath_repl.py,sha256=U0L7QUQRA5DQQ1cqv8tjHB1fr4uXj_q6q_H6e44PTh0,51
140
140
  sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py,sha256=bam9TtDj7Wic1Fs5XL3TOX0G4svjBqF7jmAa4vnWZsQ,19928
@@ -156,7 +156,7 @@ sage/tests/startup.py,sha256=G8Co8afXEC1FO9pyFlryBzLXXwY40_BcWrimaPadw3w,1185
156
156
  sage/tests/symbolic-series.py,sha256=5WlGSwW4eq-Ydev0jYtLDtuk1KCIJ7QCNE0IhZpc37Q,2991
157
157
  sage/tests/sympy.py,sha256=SGzxN4faL0Y3lokTYV_n_IYjf65pc1foBfLbxDhPDgk,431
158
158
  sage/tests/test_deprecation.py,sha256=Y2uvLozCshTPhQgfAxT_pAkkgX5Q16yJwQ0CleKHDJw,917
159
- passagemath_repl-10.5.1.dist-info/METADATA,sha256=R8yOwh55sF6VPR96Qkh0WXOUIovo1q29qipwvCPcD7k,3145
160
- passagemath_repl-10.5.1.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
161
- passagemath_repl-10.5.1.dist-info/top_level.txt,sha256=hibFyzQHiLOMK68qL1OWsNKaXOmSXqZjeLTBem6Yy7I,5
162
- passagemath_repl-10.5.1.dist-info/RECORD,,
159
+ passagemath_repl-10.5.8.dist-info/METADATA,sha256=Z9FCTyIi_NqelrM3HF1NOKZIulhTwfHBrmHDX-Xt-DM,3145
160
+ passagemath_repl-10.5.8.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
161
+ passagemath_repl-10.5.8.dist-info/top_level.txt,sha256=hibFyzQHiLOMK68qL1OWsNKaXOmSXqZjeLTBem6Yy7I,5
162
+ passagemath_repl-10.5.8.dist-info/RECORD,,
sage/doctest/control.py CHANGED
@@ -60,6 +60,7 @@ from .parsing import parse_optional_tags, parse_file_optional_tags, unparse_opti
60
60
 
61
61
  auto_optional_tags = set()
62
62
 
63
+
63
64
  class DocTestDefaults(SageObject):
64
65
  """
65
66
  This class is used for doctesting the Sage doctest module.
@@ -497,7 +498,7 @@ class DocTestController(SageObject):
497
498
  if pkg.name in options.hide:
498
499
  continue
499
500
  # Skip features for which we have a more specific runtime feature test.
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
+ if pkg.name in ['4ti2', '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
502
  continue
502
503
  if pkg.is_installed() and pkg.installed_version == pkg.remote_version:
503
504
  options.optional.add(pkg.name)
sage/doctest/external.py CHANGED
@@ -45,6 +45,7 @@ Array = multiprocessing.Array
45
45
  # software xxx is available to Sage.
46
46
  prefix = 'has_'
47
47
 
48
+
48
49
  def has_internet():
49
50
  """
50
51
  Test if Internet is available.
@@ -61,6 +62,7 @@ def has_internet():
61
62
  from sage.features.internet import Internet
62
63
  return Internet().is_present()
63
64
 
65
+
64
66
  def has_latex():
65
67
  """
66
68
  Test if Latex is available.
@@ -74,6 +76,7 @@ def has_latex():
74
76
  from sage.features.latex import latex
75
77
  return latex().is_present()
76
78
 
79
+
77
80
  def has_xelatex():
78
81
  """
79
82
  Test if xelatex is available.
@@ -87,6 +90,7 @@ def has_xelatex():
87
90
  from sage.features.latex import xelatex
88
91
  return xelatex().is_present()
89
92
 
93
+
90
94
  def has_pdflatex():
91
95
  """
92
96
  Test if pdflatex is available.
@@ -100,6 +104,7 @@ def has_pdflatex():
100
104
  from sage.features.latex import pdflatex
101
105
  return pdflatex().is_present()
102
106
 
107
+
103
108
  def has_lualatex():
104
109
  """
105
110
  Test if lualatex is available.
@@ -113,6 +118,7 @@ def has_lualatex():
113
118
  from sage.features.latex import lualatex
114
119
  return lualatex().is_present()
115
120
 
121
+
116
122
  def has_magma():
117
123
  """
118
124
  Test if Magma is available.
@@ -126,6 +132,7 @@ def has_magma():
126
132
  from sage.features.interfaces import Magma
127
133
  return Magma().is_present()
128
134
 
135
+
129
136
  def has_matlab():
130
137
  """
131
138
  Test if Matlab is available.
@@ -139,6 +146,7 @@ def has_matlab():
139
146
  from sage.features.interfaces import Matlab
140
147
  return Matlab().is_present()
141
148
 
149
+
142
150
  def has_mathematica():
143
151
  """
144
152
  Test if Mathematica is available.
@@ -152,6 +160,7 @@ def has_mathematica():
152
160
  from sage.features.interfaces import Mathematica
153
161
  return Mathematica().is_present()
154
162
 
163
+
155
164
  def has_maple():
156
165
  """
157
166
  Test if Maple is available.
@@ -165,6 +174,7 @@ def has_maple():
165
174
  from sage.features.interfaces import Maple
166
175
  return Maple().is_present()
167
176
 
177
+
168
178
  def has_macaulay2():
169
179
  """
170
180
  Test if Macaulay2 is available.
@@ -178,6 +188,7 @@ def has_macaulay2():
178
188
  from sage.features.interfaces import Macaulay2
179
189
  return Macaulay2().is_present()
180
190
 
191
+
181
192
  def has_octave():
182
193
  """
183
194
  Test if Octave is available.
@@ -191,6 +202,7 @@ def has_octave():
191
202
  from sage.features.interfaces import Octave
192
203
  return Octave().is_present()
193
204
 
205
+
194
206
  def has_pandoc():
195
207
  """
196
208
  Test if pandoc is available.
@@ -204,6 +216,7 @@ def has_pandoc():
204
216
  from sage.features.pandoc import Pandoc
205
217
  return Pandoc().is_present()
206
218
 
219
+
207
220
  def has_scilab():
208
221
  """
209
222
  Test if Scilab is available.
@@ -221,6 +234,7 @@ def has_scilab():
221
234
  except Exception:
222
235
  return False
223
236
 
237
+
224
238
  def has_cplex():
225
239
  """
226
240
  Test if CPLEX is available.
@@ -234,6 +248,7 @@ def has_cplex():
234
248
  from sage.features.mip_backends import CPLEX
235
249
  return CPLEX().is_present()
236
250
 
251
+
237
252
  def has_gurobi():
238
253
  """
239
254
  Test if Gurobi is available.
@@ -247,6 +262,7 @@ def has_gurobi():
247
262
  from sage.features.mip_backends import Gurobi
248
263
  return Gurobi().is_present()
249
264
 
265
+
250
266
  def has_graphviz():
251
267
  """
252
268
  Test if graphviz (dot, twopi, neato) are available.
@@ -260,6 +276,7 @@ def has_graphviz():
260
276
  from sage.features.graphviz import Graphviz
261
277
  return Graphviz().is_present()
262
278
 
279
+
263
280
  def has_ffmpeg():
264
281
  """
265
282
  Test if ffmpeg is available.
@@ -273,6 +290,7 @@ def has_ffmpeg():
273
290
  from sage.features.ffmpeg import FFmpeg
274
291
  return FFmpeg().is_present()
275
292
 
293
+
276
294
  def has_imagemagick():
277
295
  """
278
296
  Test if ImageMagick (command magick or convert) is available.
@@ -286,6 +304,7 @@ def has_imagemagick():
286
304
  from sage.features.imagemagick import ImageMagick
287
305
  return ImageMagick().is_present()
288
306
 
307
+
289
308
  def has_dvipng():
290
309
  """
291
310
  Test if dvipng is available.
@@ -299,6 +318,7 @@ def has_dvipng():
299
318
  from sage.features.dvipng import dvipng
300
319
  return dvipng().is_present()
301
320
 
321
+
302
322
  def has_pdf2svg():
303
323
  """
304
324
  Test if pdf2svg is available.
@@ -312,6 +332,7 @@ def has_pdf2svg():
312
332
  from sage.features.pdf2svg import pdf2svg
313
333
  return pdf2svg().is_present()
314
334
 
335
+
315
336
  def has_rubiks():
316
337
  """
317
338
  Test if the rubiks package (``cu2``, ``cubex``, ``dikcube``,
@@ -326,6 +347,7 @@ def has_rubiks():
326
347
  from sage.features.rubiks import Rubiks
327
348
  return Rubiks().is_present()
328
349
 
350
+
329
351
  def has_4ti2():
330
352
  """
331
353
  Test if the 4ti2 package is available.
@@ -339,6 +361,7 @@ def has_4ti2():
339
361
  from sage.features.four_ti_2 import FourTi2
340
362
  return FourTi2().is_present()
341
363
 
364
+
342
365
  def external_features():
343
366
  r"""
344
367
  Generate the features that are only to be tested if ``--optional=external`` is used.
@@ -363,6 +386,7 @@ def external_features():
363
386
  yield CPLEX()
364
387
  yield Gurobi()
365
388
 
389
+
366
390
  def external_software() -> list[str]:
367
391
  """
368
392
  Return the alphabetical list of external software supported by this module.
sage/doctest/reporting.py CHANGED
@@ -50,6 +50,7 @@ from sage.doctest.util import count_noun
50
50
  from sage.doctest.sources import DictAsObject
51
51
  from .external import available_software
52
52
 
53
+
53
54
  def signal_name(sig):
54
55
  """
55
56
  Return a string describing a signal number.
@@ -91,6 +92,7 @@ def signal_name(sig):
91
92
  return "bus error"
92
93
  return "signal %s" % sig
93
94
 
95
+
94
96
  class DocTestReporter(SageObject):
95
97
  """
96
98
  This class reports to the users on the results of doctests.
sage/doctest/util.py CHANGED
@@ -26,6 +26,7 @@ AUTHORS:
26
26
  from time import time as walltime
27
27
  from os import sysconf, times
28
28
 
29
+
29
30
  def count_noun(number, noun, plural=None, pad_number=False, pad_noun=False):
30
31
  """
31
32
  EXAMPLES::
@@ -615,6 +616,7 @@ def make_recording_dict(D, st, gt):
615
616
  ans.got = gt
616
617
  return ans
617
618
 
619
+
618
620
  class NestedName:
619
621
  """
620
622
  Class used to construct fully qualified names based on indentation level.
sage/misc/cython.py CHANGED
@@ -579,6 +579,9 @@ def cython_import_all(filename, globals, **kwds):
579
579
 
580
580
  - ``filename`` -- string; name of a file that contains Cython
581
581
  code
582
+
583
+ See the function :func:`sage.misc.cython.cython` for documentation
584
+ for the other inputs.
582
585
  """
583
586
  m = cython_import(filename, **kwds)
584
587
  for k, x in m.__dict__.items():
@@ -622,6 +625,9 @@ def compile_and_load(code, **kwds):
622
625
  - ``code`` -- string containing code that could be in a .pyx file
623
626
  that is attached or put in a %cython block in the notebook
624
627
 
628
+ See the function :func:`sage.misc.cython.cython` for documentation
629
+ for the other inputs.
630
+
625
631
  OUTPUT: a module, which results from compiling the given code and
626
632
  importing it
627
633
 
@@ -163,9 +163,7 @@ class InlineFortran:
163
163
 
164
164
  # What follows are the arguments to f2py itself (appended later
165
165
  # just for logical separation)
166
- cmd += ['-c', '-m', name, fortran_file, '--quiet',
167
- '--f77exec=sage-inline-fortran',
168
- '--f90exec=sage-inline-fortran'] + s_lib_path + s_lib
166
+ cmd += ['-c', '-m', name, fortran_file, '--quiet', '--backend', 'meson'] + s_lib_path + s_lib
169
167
 
170
168
  try:
171
169
  out = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
sage/repl/attach.py CHANGED
@@ -318,8 +318,12 @@ def attach(*files):
318
318
 
319
319
  .. SEEALSO::
320
320
 
321
- :meth:`~sage.repl.load.load` is the same as :func:`attach`, but
322
- does not automatically reload a file when it changes.
321
+ :func:`~sage.repl.load.load` is the same as :func:`attach`, but
322
+ does not automatically reload a file when it changes unless
323
+ ``attach=True`` is passed.
324
+
325
+ ``%attach`` magic can also be used, see
326
+ :meth:`~sage.repl.ipython_extension.SageMagics.attach`.
323
327
 
324
328
  EXAMPLES:
325
329
 
@@ -15,15 +15,14 @@ the IPython simple prompt is being used::
15
15
  sage: 'sage: [False, True]' in output # needs pexpect
16
16
  True
17
17
  """
18
-
19
- #*****************************************************************************
18
+ # ****************************************************************************
20
19
  # Copyright (C) 2016 Volker Braun <vbraun.name@gmail.com>
21
20
  #
22
21
  # Distributed under the terms of the GNU General Public License (GPL)
23
22
  # as published by the Free Software Foundation; either version 2 of
24
23
  # the License, or (at your option) any later version.
25
- # http://www.gnu.org/licenses/
26
- #*****************************************************************************
24
+ # https://www.gnu.org/licenses/
25
+ # ****************************************************************************
27
26
 
28
27
 
29
28
  import sys
sage/repl/interpreter.py CHANGED
@@ -75,8 +75,7 @@ Check that Cython source code appears in tracebacks::
75
75
 
76
76
  sage: from sage.repl.interpreter import get_test_shell
77
77
  sage: shell = get_test_shell()
78
- sage: print("dummy line"); shell.run_cell('1/0') # known bug (meson doesn't include the Cython source code) # see #25320 for the reason of the `...` and the dummy line in this test
79
- dummy line
78
+ sage: shell.run_cell('1/0') # known bug (meson doesn't include the Cython source code)
80
79
  ...
81
80
  ZeroDivisionError...Traceback (most recent call last)
82
81
  ...
@@ -772,7 +771,8 @@ class SageCrashHandler(IPAppCrashHandler):
772
771
  contact_email = 'sage-support@googlegroups.com'
773
772
  bug_tracker = 'https://github.com/sagemath/sage/issues'
774
773
  CrashHandler.__init__(self,
775
- app, contact_name, contact_email, bug_tracker, show_crash_traceback=True)
774
+ app, contact_name, contact_email,
775
+ bug_tracker, show_crash_traceback=True)
776
776
  self.crash_report_fname = 'Sage_crash_report.txt'
777
777
 
778
778
 
@@ -107,6 +107,10 @@ class SageMagics(Magics):
107
107
 
108
108
  - ``s`` -- string; the file to be loaded
109
109
 
110
+ .. SEEALSO::
111
+
112
+ This is the same as :func:`~sage.repl.load.load`.
113
+
110
114
  EXAMPLES::
111
115
 
112
116
  sage: import os
@@ -133,6 +137,10 @@ class SageMagics(Magics):
133
137
 
134
138
  - ``s`` -- string. The file to be attached
135
139
 
140
+ .. SEEALSO::
141
+
142
+ This is the same as :func:`~sage.repl.attach.attach`.
143
+
136
144
  EXAMPLES::
137
145
 
138
146
  sage: from sage.repl.interpreter import get_test_shell
@@ -302,7 +310,7 @@ class SageMagics(Magics):
302
310
  max_width = 0
303
311
  if max_width <= 0:
304
312
  raise ValueError(
305
- "max width must be a positive integer")
313
+ "max width must be a positive integer")
306
314
  import sage.typeset.character_art as character_art
307
315
  character_art.MAX_WIDTH = max_width
308
316
  dm.preferences.text = arg0
@@ -342,7 +350,18 @@ class SageMagics(Magics):
342
350
 
343
351
  INPUT:
344
352
 
345
- - ``line`` -- ignored
353
+ - ``line`` -- parsed as keyword arguments. The allowed arguments are:
354
+
355
+ - ``--verbose N`` / ``-v N``
356
+ - ``--compile-message``
357
+ - ``--use-cache``
358
+ - ``--create-local-c-file``
359
+ - ``--annotate``
360
+ - ``--sage-namespace``
361
+ - ``--create-local-so-file``
362
+ - ``--no-compile-message``, ``--no-use-cache``, etc.
363
+
364
+ See :func:`~sage.misc.cython.cython` for details.
346
365
 
347
366
  - ``cell`` -- string; the Cython source code to process
348
367
 
@@ -350,19 +369,75 @@ class SageMagics(Magics):
350
369
 
351
370
  EXAMPLES::
352
371
 
372
+ sage: # needs sage.misc.cython
353
373
  sage: from sage.repl.interpreter import get_test_shell
354
374
  sage: shell = get_test_shell()
355
- sage: shell.run_cell( # needs sage.misc.cython
375
+ sage: shell.run_cell(
356
376
  ....: '''
357
- ....: %%cython
377
+ ....: %%cython -v1 --annotate --no-sage-namespace
358
378
  ....: def f():
359
379
  ....: print('test')
360
380
  ....: ''')
361
- sage: f() # needs sage.misc.cython
381
+ Compiling ....pyx because it changed.
382
+ [1/1] Cythonizing ....pyx
383
+ sage: f()
362
384
  test
385
+
386
+ TESTS:
387
+
388
+ Test unrecognized arguments::
389
+
390
+ sage: # needs sage.misc.cython
391
+ sage: shell.run_cell('''
392
+ ....: %%cython --some-unrecognized-argument
393
+ ....: print(1)
394
+ ....: ''')
395
+ UsageError: unrecognized arguments: --some-unrecognized-argument
396
+
397
+ Test ``--help`` is disabled::
398
+
399
+ sage: # needs sage.misc.cython
400
+ sage: shell.run_cell('''
401
+ ....: %%cython --help
402
+ ....: print(1)
403
+ ....: ''')
404
+ UsageError: unrecognized arguments: --help
405
+
406
+ Test invalid quotes::
407
+
408
+ sage: # needs sage.misc.cython
409
+ sage: shell.run_cell('''
410
+ ....: %%cython --a='
411
+ ....: print(1)
412
+ ....: ''')
413
+ ...
414
+ ValueError...Traceback (most recent call last)
415
+ ...
416
+ ValueError: No closing quotation
363
417
  """
364
418
  from sage.misc.cython import cython_compile
365
- return cython_compile(cell)
419
+ import shlex
420
+ import argparse
421
+
422
+ class ExitCatchingArgumentParser(argparse.ArgumentParser):
423
+ def error(self, message):
424
+ # exit_on_error=False does not work completely in some Python versions
425
+ # see https://stackoverflow.com/q/67890157
426
+ # we raise UsageError to make the interface similar to what happens when e.g.
427
+ # IPython's ``%run`` gets unrecognized arguments
428
+ from IPython.core.error import UsageError
429
+ raise UsageError(message)
430
+
431
+ parser = ExitCatchingArgumentParser(prog="%%cython", add_help=False)
432
+ parser.add_argument("--verbose", "-v", type=int)
433
+ parser.add_argument("--compile-message", action=argparse.BooleanOptionalAction)
434
+ parser.add_argument("--use-cache", action=argparse.BooleanOptionalAction)
435
+ parser.add_argument("--create-local-c-file", action=argparse.BooleanOptionalAction)
436
+ parser.add_argument("--annotate", action=argparse.BooleanOptionalAction)
437
+ parser.add_argument("--sage-namespace", action=argparse.BooleanOptionalAction)
438
+ parser.add_argument("--create-local-so-file", action=argparse.BooleanOptionalAction)
439
+ args = parser.parse_args(shlex.split(line))
440
+ return cython_compile(cell, **{k: v for k, v in args.__dict__.items() if v is not None})
366
441
 
367
442
  @cell_magic
368
443
  def fortran(self, line, cell):
@@ -435,7 +510,7 @@ class SageCustomizations:
435
510
  self.init_line_transforms()
436
511
 
437
512
  try:
438
- import sage.all # until sage's import hell is fixed
513
+ import sage.all # until sage's import hell is fixed
439
514
  except ImportError:
440
515
  import sage.all__sagemath_repl
441
516
 
@@ -119,7 +119,7 @@ class TransformWidget:
119
119
  <... 'dict'>
120
120
  """
121
121
  self.__transform = kwds.pop("transform", None)
122
- return super().__init__(*args, **kwds)
122
+ super().__init__(*args, **kwds)
123
123
 
124
124
  def get_value(self):
125
125
  """
sage/repl/load.py CHANGED
@@ -87,6 +87,14 @@ def load(filename, globals, attach=False):
87
87
 
88
88
  from t import *
89
89
 
90
+ .. NOTE::
91
+
92
+ The global ``load`` function is :func:`sage.misc.persist.load`,
93
+ which delegates to this function for code file formats.
94
+
95
+ ``%runfile`` magic can also be used, see
96
+ :meth:`~sage.repl.ipython_extension.SageMagics.runfile`.
97
+
90
98
  INPUT:
91
99
 
92
100
  - ``filename`` -- string (denoting a filename or URL) or a :class:`Path` object
@@ -97,13 +105,15 @@ def load(filename, globals, attach=False):
97
105
  - ``attach`` -- boolean (default: ``False``); whether to add the
98
106
  file to the list of attached files
99
107
 
100
- Loading an executable Sage script from the command prompt will run whatever
101
- code is inside an
108
+ Loading an executable Sage script from the :ref:`command line <section-command-line>`
109
+ will run whatever code is inside an
110
+
111
+ ::
102
112
 
103
113
  if __name__ == "__main__":
104
114
 
105
115
  section, as the condition on ``__name__`` will hold true (code run from the
106
- command prompt is considered to be running in the ``__main__`` module.)
116
+ command line is considered to be running in the ``__main__`` module.)
107
117
 
108
118
  EXAMPLES:
109
119
 
@@ -159,7 +169,8 @@ def load(filename, globals, attach=False):
159
169
 
160
170
  sage: sage.repl.load.load('https://raw.githubusercontent.com/sagemath/sage-patchbot/3.0.0/sage_patchbot/util.py', globals()) # optional - internet
161
171
 
162
- We attach a file::
172
+ We attach a file (note that :func:`~sage.repl.attach.attach`
173
+ is equivalent, but available at the global scope by default)::
163
174
 
164
175
  sage: t = tmp_filename(ext='.py')
165
176
  sage: with open(t, 'w') as f:
@@ -13,14 +13,14 @@ EXAMPLES::
13
13
  The Sage display manager using the doctest backend
14
14
  """
15
15
 
16
- #*****************************************************************************
16
+ # ****************************************************************************
17
17
  # Copyright (C) 2015 Volker Braun <vbraun.name@gmail.com>
18
18
  #
19
19
  # Distributed under the terms of the GNU General Public License (GPL)
20
20
  # as published by the Free Software Foundation; either version 2 of
21
21
  # the License, or (at your option) any later version.
22
- # http://www.gnu.org/licenses/
23
- #*****************************************************************************
22
+ # https://www.gnu.org/licenses/
23
+ # ****************************************************************************
24
24
 
25
25
  import sys
26
26
 
@@ -295,7 +295,7 @@ class BackendDoctest(BackendBase):
295
295
  assert data.startswith(b'\0\0\0')
296
296
  # See http://www.ftyps.com/
297
297
  ftyps = [data[i:i+4] for i in range(8, data[3], 4)]
298
- del ftyps[1] # version number, not an ftyp
298
+ del ftyps[1] # version number, not an ftyp
299
299
  expected = [b'avc1', b'iso2', b'mp41', b'mp42']
300
300
  assert any(i in ftyps for i in expected)
301
301
  elif isinstance(rich_output, OutputVideoFlash):
@@ -525,7 +525,7 @@ class BackendIPythonNotebook(BackendIPython):
525
525
  elif isinstance(rich_output, OutputLatex):
526
526
  return ({'text/latex': rich_output.latex.get_str(),
527
527
  'text/plain': plain_text.text.get_str(),
528
- }, {})
528
+ }, {})
529
529
  elif isinstance(rich_output, OutputHtml):
530
530
  data = {'text/html': rich_output.html.get_str(),
531
531
  'text/plain': plain_text.text.get_str()}
@@ -535,29 +535,29 @@ class BackendIPythonNotebook(BackendIPython):
535
535
  elif isinstance(rich_output, OutputImagePng):
536
536
  return ({'image/png': rich_output.png.get(),
537
537
  'text/plain': plain_text.text.get_str(),
538
- }, {})
538
+ }, {})
539
539
  elif isinstance(rich_output, OutputImageGif):
540
540
  return ({'text/html': rich_output.html_fragment(),
541
541
  'text/plain': plain_text.text.get_str(),
542
- }, {})
542
+ }, {})
543
543
  elif isinstance(rich_output, OutputImageJpg):
544
544
  return ({'image/jpeg': rich_output.jpg.get(),
545
545
  'text/plain': plain_text.text.get_str(),
546
- }, {})
546
+ }, {})
547
547
  elif isinstance(rich_output, OutputImageSvg):
548
548
  return ({'image/svg+xml': rich_output.svg.get(),
549
549
  'text/plain': plain_text.text.get_str(),
550
- }, {})
550
+ }, {})
551
551
  elif isinstance(rich_output, OutputImagePdf):
552
552
  return ({'image/png': rich_output.png.get(),
553
553
  'text/plain': plain_text.text.get_str(),
554
- }, {})
554
+ }, {})
555
555
  elif isinstance(rich_output, OutputSceneJmol):
556
556
  from sage.repl.display.jsmol_iframe import JSMolHtml
557
557
  jsmol = JSMolHtml(rich_output, height=500)
558
558
  return ({'text/html': jsmol.iframe(),
559
559
  'text/plain': plain_text.text.get_str(),
560
- }, {})
560
+ }, {})
561
561
  elif isinstance(rich_output, OutputSceneThreejs):
562
562
  escaped_html = html.escape(rich_output.html.get_str())
563
563
  iframe = IFRAME_TEMPLATE.format(
@@ -567,7 +567,7 @@ class BackendIPythonNotebook(BackendIPython):
567
567
  )
568
568
  return ({'text/html': iframe,
569
569
  'text/plain': plain_text.text.get_str(),
570
- }, {})
570
+ }, {})
571
571
  else:
572
572
  raise TypeError('rich_output type not supported')
573
573
 
@@ -32,14 +32,14 @@ To create new types of output, you must create your own subclass of
32
32
  file system.
33
33
  """
34
34
 
35
- #*****************************************************************************
35
+ # ****************************************************************************
36
36
  # Copyright (C) 2015 Volker Braun <vbraun.name@gmail.com>
37
37
  #
38
38
  # Distributed under the terms of the GNU General Public License (GPL)
39
39
  # as published by the Free Software Foundation; either version 2 of
40
40
  # the License, or (at your option) any later version.
41
- # http://www.gnu.org/licenses/
42
- #*****************************************************************************
41
+ # https://www.gnu.org/licenses/
42
+ # ****************************************************************************
43
43
 
44
44
 
45
45
  from sage.structure.sage_object import SageObject
@@ -5,14 +5,14 @@ Catalog of all available output container types.
5
5
  If you define another output type then you must add it to the imports here.
6
6
  """
7
7
 
8
- #*****************************************************************************
8
+ # ****************************************************************************
9
9
  # Copyright (C) 2015 Volker Braun <vbraun.name@gmail.com>
10
10
  #
11
11
  # Distributed under the terms of the GNU General Public License (GPL)
12
12
  # as published by the Free Software Foundation; either version 2 of
13
13
  # the License, or (at your option) any later version.
14
- # http://www.gnu.org/licenses/
15
- #*****************************************************************************
14
+ # https://www.gnu.org/licenses/
15
+ # ****************************************************************************
16
16
 
17
17
 
18
18
  from .output_basic import (
@@ -30,14 +30,14 @@ We switch to the test backend for the remainder of this file::
30
30
  TestOutputPlainText container
31
31
  """
32
32
 
33
- #*****************************************************************************
33
+ # ****************************************************************************
34
34
  # Copyright (C) 2015 Volker Braun <vbraun.name@gmail.com>
35
35
  #
36
36
  # Distributed under the terms of the GNU General Public License (GPL)
37
37
  # as published by the Free Software Foundation; either version 2 of
38
38
  # the License, or (at your option) any later version.
39
- # http://www.gnu.org/licenses/
40
- #*****************************************************************************
39
+ # https://www.gnu.org/licenses/
40
+ # ****************************************************************************
41
41
 
42
42
 
43
43
  from sage.structure.sage_object import SageObject