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.
- {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/METADATA +3 -3
- {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/RECORD +39 -39
- sage/doctest/control.py +2 -1
- sage/doctest/external.py +24 -0
- sage/doctest/reporting.py +2 -0
- sage/doctest/util.py +2 -0
- sage/misc/cython.py +6 -0
- sage/misc/inline_fortran.py +1 -3
- sage/repl/attach.py +6 -2
- sage/repl/configuration.py +3 -4
- sage/repl/interpreter.py +3 -3
- sage/repl/ipython_extension.py +82 -7
- sage/repl/ipython_kernel/widgets.py +1 -1
- sage/repl/load.py +15 -4
- sage/repl/rich_output/backend_doctest.py +4 -4
- sage/repl/rich_output/backend_ipython.py +8 -8
- sage/repl/rich_output/output_basic.py +3 -3
- sage/repl/rich_output/output_catalog.py +3 -3
- sage/repl/rich_output/test_backend.py +3 -3
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-cachegrind +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-callgrind +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-cleaner +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-coverage +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-eval +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-fixdoctests +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-inline-fortran +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-ipynb2rst +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-ipython +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-massif +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-notebook +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-omega +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-preparse +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-run +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-run-cython +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-runtests +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-startuptime.py +0 -0
- {passagemath_repl-10.5.1.data → passagemath_repl-10.5.8.data}/scripts/sage-valgrind +0 -0
- {passagemath_repl-10.5.1.dist-info → passagemath_repl-10.5.8.dist-info}/WHEEL +0 -0
- {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.
|
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.
|
32
|
-
Requires-Dist: passagemath-environment ~=10.5.
|
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.
|
2
|
-
passagemath_repl-10.5.
|
3
|
-
passagemath_repl-10.5.
|
4
|
-
passagemath_repl-10.5.
|
5
|
-
passagemath_repl-10.5.
|
6
|
-
passagemath_repl-10.5.
|
7
|
-
passagemath_repl-10.5.
|
8
|
-
passagemath_repl-10.5.
|
9
|
-
passagemath_repl-10.5.
|
10
|
-
passagemath_repl-10.5.
|
11
|
-
passagemath_repl-10.5.
|
12
|
-
passagemath_repl-10.5.
|
13
|
-
passagemath_repl-10.5.
|
14
|
-
passagemath_repl-10.5.
|
15
|
-
passagemath_repl-10.5.
|
16
|
-
passagemath_repl-10.5.
|
17
|
-
passagemath_repl-10.5.
|
18
|
-
passagemath_repl-10.5.
|
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=
|
25
|
-
sage/doctest/external.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
79
|
-
sage/repl/configuration.py,sha256=
|
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=
|
84
|
-
sage/repl/ipython_extension.py,sha256=
|
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=
|
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=
|
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=
|
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
|
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=
|
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=
|
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=
|
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.
|
160
|
-
passagemath_repl-10.5.
|
161
|
-
passagemath_repl-10.5.
|
162
|
-
passagemath_repl-10.5.
|
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
|
|
sage/misc/inline_fortran.py
CHANGED
@@ -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
|
-
:
|
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
|
|
sage/repl/configuration.py
CHANGED
@@ -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
|
-
#
|
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:
|
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
|
-
|
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
|
|
sage/repl/ipython_extension.py
CHANGED
@@ -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
|
-
|
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`` --
|
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(
|
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
|
-
|
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
|
-
|
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
|
513
|
+
import sage.all # until sage's import hell is fixed
|
439
514
|
except ImportError:
|
440
515
|
import sage.all__sagemath_repl
|
441
516
|
|
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
|
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
|
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
|
-
#
|
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]
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
40
|
-
|
39
|
+
# https://www.gnu.org/licenses/
|
40
|
+
# ****************************************************************************
|
41
41
|
|
42
42
|
|
43
43
|
from sage.structure.sage_object import SageObject
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|