passagemath-objects 10.6.31rc2__cp313-cp313-win_amd64.whl → 10.6.31rc3__cp313-cp313-win_amd64.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.

Potentially problematic release.


This version of passagemath-objects might be problematic. Click here for more details.

Files changed (78) hide show
  1. passagemath_objects-10.6.31rc3.dist-info/DELVEWHEEL +2 -0
  2. {passagemath_objects-10.6.31rc2.dist-info → passagemath_objects-10.6.31rc3.dist-info}/METADATA +2 -2
  3. {passagemath_objects-10.6.31rc2.dist-info → passagemath_objects-10.6.31rc3.dist-info}/RECORD +77 -77
  4. passagemath_objects.libs/{libgmp-10-c4ba150c3736fe59021b38dcebab0dbf.dll → libgmp-10-aef32c6e44d98a020876afe1056478b0.dll} +0 -0
  5. sage/arith/numerical_approx.cp313-win_amd64.pyd +0 -0
  6. sage/arith/power.cp313-win_amd64.pyd +0 -0
  7. sage/categories/action.cp313-win_amd64.pyd +0 -0
  8. sage/categories/category_cy_helper.cp313-win_amd64.pyd +0 -0
  9. sage/categories/category_singleton.cp313-win_amd64.pyd +0 -0
  10. sage/categories/functor.cp313-win_amd64.pyd +0 -0
  11. sage/categories/map.cp313-win_amd64.pyd +0 -0
  12. sage/categories/morphism.cp313-win_amd64.pyd +0 -0
  13. sage/cpython/atexit.cp313-win_amd64.pyd +0 -0
  14. sage/cpython/atexit.pyx +73 -24
  15. sage/cpython/builtin_types.cp313-win_amd64.pyd +0 -0
  16. sage/cpython/cython_metaclass.cp313-win_amd64.pyd +0 -0
  17. sage/cpython/debug.cp313-win_amd64.pyd +0 -0
  18. sage/cpython/dict_del_by_value.cp313-win_amd64.pyd +0 -0
  19. sage/cpython/getattr.cp313-win_amd64.pyd +0 -0
  20. sage/cpython/string.cp313-win_amd64.pyd +0 -0
  21. sage/cpython/type.cp313-win_amd64.pyd +0 -0
  22. sage/groups/group.cp313-win_amd64.pyd +0 -0
  23. sage/groups/old.cp313-win_amd64.pyd +0 -0
  24. sage/libs/gmp/pylong.cp313-win_amd64.pyd +0 -0
  25. sage/misc/c3_controlled.cp313-win_amd64.pyd +0 -0
  26. sage/misc/cachefunc.cp313-win_amd64.pyd +0 -0
  27. sage/misc/cachefunc.pyx +1 -1
  28. sage/misc/classcall_metaclass.cp313-win_amd64.pyd +0 -0
  29. sage/misc/constant_function.cp313-win_amd64.pyd +0 -0
  30. sage/misc/fast_methods.cp313-win_amd64.pyd +0 -0
  31. sage/misc/fpickle.cp313-win_amd64.pyd +0 -0
  32. sage/misc/function_mangling.cp313-win_amd64.pyd +0 -0
  33. sage/misc/inherit_comparison.cp313-win_amd64.pyd +0 -0
  34. sage/misc/instancedoc.cp313-win_amd64.pyd +0 -0
  35. sage/misc/lazy_attribute.cp313-win_amd64.pyd +0 -0
  36. sage/misc/lazy_import.cp313-win_amd64.pyd +0 -0
  37. sage/misc/lazy_list.cp313-win_amd64.pyd +0 -0
  38. sage/misc/lazy_list.pyx +9 -10
  39. sage/misc/lazy_string.cp313-win_amd64.pyd +0 -0
  40. sage/misc/misc_c.cp313-win_amd64.pyd +0 -0
  41. sage/misc/nested_class.cp313-win_amd64.pyd +0 -0
  42. sage/misc/persist.cp313-win_amd64.pyd +0 -0
  43. sage/misc/randstate.cp313-win_amd64.pyd +0 -0
  44. sage/misc/reset.cp313-win_amd64.pyd +0 -0
  45. sage/misc/sage_ostools.cp313-win_amd64.pyd +0 -0
  46. sage/misc/sage_timeit_class.cp313-win_amd64.pyd +0 -0
  47. sage/misc/sage_unittest.py +11 -14
  48. sage/misc/sageinspect.py +25 -72
  49. sage/misc/session.cp313-win_amd64.pyd +0 -0
  50. sage/misc/weak_dict.cp313-win_amd64.pyd +0 -0
  51. sage/misc/weak_dict.pyx +6 -6
  52. sage/modules/module.cp313-win_amd64.pyd +0 -0
  53. sage/sets/pythonclass.cp313-win_amd64.pyd +0 -0
  54. sage/structure/category_object.cp313-win_amd64.pyd +0 -0
  55. sage/structure/coerce.cp313-win_amd64.pyd +0 -0
  56. sage/structure/coerce_actions.cp313-win_amd64.pyd +0 -0
  57. sage/structure/coerce_dict.cp313-win_amd64.pyd +0 -0
  58. sage/structure/coerce_maps.cp313-win_amd64.pyd +0 -0
  59. sage/structure/debug_options.cp313-win_amd64.pyd +0 -0
  60. sage/structure/element.cp313-win_amd64.pyd +0 -0
  61. sage/structure/element_wrapper.cp313-win_amd64.pyd +0 -0
  62. sage/structure/factory.cp313-win_amd64.pyd +0 -0
  63. sage/structure/list_clone.cp313-win_amd64.pyd +0 -0
  64. sage/structure/list_clone.pyx +1 -1
  65. sage/structure/list_clone_demo.cp313-win_amd64.pyd +0 -0
  66. sage/structure/list_clone_timings_cy.cp313-win_amd64.pyd +0 -0
  67. sage/structure/mutability.cp313-win_amd64.pyd +0 -0
  68. sage/structure/parent.cp313-win_amd64.pyd +0 -0
  69. sage/structure/parent_base.cp313-win_amd64.pyd +0 -0
  70. sage/structure/parent_gens.cp313-win_amd64.pyd +0 -0
  71. sage/structure/parent_old.cp313-win_amd64.pyd +0 -0
  72. sage/structure/richcmp.cp313-win_amd64.pyd +0 -0
  73. sage/structure/sage_object.cp313-win_amd64.pyd +0 -0
  74. sage/structure/sage_object.pyx +7 -6
  75. sage/structure/unique_representation.py +2 -2
  76. passagemath_objects-10.6.31rc2.dist-info/DELVEWHEEL +0 -2
  77. {passagemath_objects-10.6.31rc2.dist-info → passagemath_objects-10.6.31rc3.dist-info}/WHEEL +0 -0
  78. {passagemath_objects-10.6.31rc2.dist-info → passagemath_objects-10.6.31rc3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ Version: 1.11.2
2
+ Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-w8wuixta\\cp313-win_amd64\\build\\venv\\Scripts\\delvewheel', 'repair', '-vv', '--custom-patch', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-w8wuixta\\cp313-win_amd64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-w8wuixta\\cp313-win_amd64\\built_wheel\\passagemath_objects-10.6.31rc3-cp313-cp313-win_amd64.whl']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-objects
3
- Version: 10.6.31rc2
3
+ Version: 10.6.31rc3
4
4
  Summary: passagemath: Sage objects, elements, parents, categories, coercion, metaclasses
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -27,7 +27,7 @@ Classifier: Programming Language :: Python :: 3.12
27
27
  Classifier: Programming Language :: Python :: 3.13
28
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
29
  Classifier: Topic :: Scientific/Engineering :: Mathematics
30
- Requires-Python: <3.14,>=3.10
30
+ Requires-Python: <3.15,>=3.10
31
31
  Description-Content-Type: text/x-rst
32
32
  Requires-Dist: gmpy2~=2.1.b999
33
33
  Requires-Dist: cysignals<1.12.4; sys_platform == "win32"
@@ -1,19 +1,19 @@
1
- passagemath_objects-10.6.31rc2.dist-info/DELVEWHEEL,sha256=pC9pIi5faW3yty_ZvVvXHXYIG1lWFQkB5_BrHYnHeYw,442
2
- passagemath_objects-10.6.31rc2.dist-info/METADATA,sha256=CjjqZ4zi8Jx8VvjIELKW357Kl2UPj3MrEBViQRLqEnw,5385
3
- passagemath_objects-10.6.31rc2.dist-info/RECORD,,
4
- passagemath_objects-10.6.31rc2.dist-info/top_level.txt,sha256=Kmzulf9WsphADFQuqgvdy5mvTLDj_V2zkFHU2s3UXos,6
5
- passagemath_objects-10.6.31rc2.dist-info/WHEEL,sha256=qV0EIPljj1XC_vuSatRWjn02nZIz3N1t8jsZz7HBr2U,101
6
- passagemath_objects.libs/libgmp-10-c4ba150c3736fe59021b38dcebab0dbf.dll,sha256=xLoVDDc2_lkCGzjc66sNv43_-bwt0R_lvBLeySAnn3E,3004991
1
+ passagemath_objects-10.6.31rc3.dist-info/DELVEWHEEL,sha256=JyRcLsqktGX-1wYOIdFDeVzLW_BqhFkttuLVtrfmO1U,442
2
+ passagemath_objects-10.6.31rc3.dist-info/METADATA,sha256=Lfglvr9DXxz51i4SWkuIMNSyhNehkqs0wQG76tytNLg,5385
3
+ passagemath_objects-10.6.31rc3.dist-info/RECORD,,
4
+ passagemath_objects-10.6.31rc3.dist-info/top_level.txt,sha256=Kmzulf9WsphADFQuqgvdy5mvTLDj_V2zkFHU2s3UXos,6
5
+ passagemath_objects-10.6.31rc3.dist-info/WHEEL,sha256=qV0EIPljj1XC_vuSatRWjn02nZIz3N1t8jsZz7HBr2U,101
6
+ passagemath_objects.libs/libgmp-10-aef32c6e44d98a020876afe1056478b0.dll,sha256=rvMsbkTZigIIdq_hBWR4sPOzU0tP6BSfbsTVLUz1SBs,3004991
7
7
  sage/all__sagemath_objects.py,sha256=pn4WPpvv-sWg5LppBj_-keSZNHElySBi2YXRI1f8rks,1106
8
8
  sage/arith/all__sagemath_objects.py,sha256=Xsmp9IOAIWpXfNhDnlC1rPzaAWwkOnDGBX7TSDM7HKc,222
9
9
  sage/arith/long.pxd,sha256=wc2jBHq3rpg7oSfahGg7LqU495AgGG-IrU5R6RVXlKA,13944
10
- sage/arith/numerical_approx.cp313-win_amd64.pyd,sha256=lxIO0qBcHVrl1yZP2idM6ZdfmAtqG4Y0jZHUyUccYVE,38912
10
+ sage/arith/numerical_approx.cp313-win_amd64.pyd,sha256=tIxZCmSUhKXBs7zQUKXq3K6nSMR8ewWFDYMWzF88c7g,38400
11
11
  sage/arith/numerical_approx.pxd,sha256=gFWmxAnUn8xt1cMwCW0pxfywfy_ZJ3vrRuNjAjlo1dU,950
12
12
  sage/arith/numerical_approx.pyx,sha256=IkdhP04vlBfHcSR4YREYBisONaa9uBWMlQmM8wrF-3Q,2538
13
- sage/arith/power.cp313-win_amd64.pyd,sha256=JUGljYUkM5LRfiJCEE2HV6QPz-WERwFO1CIoNpi2OPM,40960
13
+ sage/arith/power.cp313-win_amd64.pyd,sha256=U5koAaHtfkpBTyEEFoFHMlrOuj-onlMNFvT3t3Cnnpc,40960
14
14
  sage/arith/power.pxd,sha256=CS0qcAvGCF4VdHFFOxfKtF5cmviM0UyOzGfAYghjTCA,630
15
15
  sage/arith/power.pyx,sha256=SJamErC6EQinYao_I5JMTWNnYRRxUT-t-jRErZq-T5A,3257
16
- sage/categories/action.cp313-win_amd64.pyd,sha256=InLnuMT0eBXguKBfw0STSlL1qK1YBqXsm2hsiOTyHhA,97792
16
+ sage/categories/action.cp313-win_amd64.pyd,sha256=cFTk_B1TuX7OmuZf1ziGFg95MMDsvi2B39BcXrDySZI,93696
17
17
  sage/categories/action.pxd,sha256=lhpj480hNMVyP3sWhDt0FZV3q74Y-6Q19-Ba15OO6bc,725
18
18
  sage/categories/action.pyx,sha256=jmGSGsG4VxsrIa26ShNxk1pnz9UdHxsDH6jxNVlHexQ,21056
19
19
  sage/categories/algebra_functor.py,sha256=uAzDhMfZtzhoLyWTo9EXcsp88eMWQiyKdVuGKjNIZu4,24518
@@ -21,26 +21,26 @@ sage/categories/all__sagemath_objects.py,sha256=l0cQjqOFqQLeB_KplQnKRfuL566SRDm5
21
21
  sage/categories/basic.py,sha256=fMF4al6qlRfH6C8h3Kyp676hgvKlfvTapNmgMc44Luo,2889
22
22
  sage/categories/cartesian_product.py,sha256=8-y9HOn7IHC4eoOxfSJxaNgTq5RRmwalAW-48i6H9B8,10183
23
23
  sage/categories/category.py,sha256=C1wrDQB95QNB6RFjoipqNxoTP6w9SDDY12EFnmywpH8,129691
24
- sage/categories/category_cy_helper.cp313-win_amd64.pyd,sha256=DppXtyjBBPSVmseeBsdSKGulFDZR_zCy5OnvIJNMmYo,57344
24
+ sage/categories/category_cy_helper.cp313-win_amd64.pyd,sha256=QF0584wmj4hQ52P0mZ1WcEBY4WJC_MwW8n60ycLCsxQ,56832
25
25
  sage/categories/category_cy_helper.pxd,sha256=JsUgsEflgxFj99fKcUkZIF51hubE3fm1NjYFjEUdNzc,408
26
26
  sage/categories/category_cy_helper.pyx,sha256=8OSlOSed3p6Lp4Sr9vBck7lEtXxnrcnsKjQhbHZh1tY,10890
27
- sage/categories/category_singleton.cp313-win_amd64.pyd,sha256=shLpQgvNVq2UmfoM0wwPPtpb3WFDDn3ma5eCkwpTlCo,66048
27
+ sage/categories/category_singleton.cp313-win_amd64.pyd,sha256=NBRJB39aGTMxPrP3X2NMgbp2cwT_ei5zcrgmrgSNrIE,65536
28
28
  sage/categories/category_singleton.pxd,sha256=Jm1lACWOGrs6Jjsy_fdv61NQSyQqnaKftAiNBNJYhgI,139
29
29
  sage/categories/category_singleton.pyx,sha256=xwsrucWotXXe-lZib5PSE7cMz_5qfIOTS9rIpbxFNns,13719
30
30
  sage/categories/category_types.py,sha256=5zGnHgih48q7hEjKl4Sh72fhAnJXmDElgniKe63VHDo,20303
31
31
  sage/categories/category_with_axiom.py,sha256=v-tLYIex9xNCFl-ng6pPtKNR3p-K7eRF4QCwO9VJxoU,115134
32
32
  sage/categories/covariant_functorial_construction.py,sha256=1iCOoZ-1heNULiTQfGNJ4uN2MDRDQZErWDHx6p-A-MI,27547
33
33
  sage/categories/facade_sets.py,sha256=RYPBPreMt6hUZBA5x2ArTqrDlzE-heSw114vAv4opGg,8237
34
- sage/categories/functor.cp313-win_amd64.pyd,sha256=fiXECQL1mnvivY9iz18snzv4X9ZbZLfGdoJbGx9ns80,94720
34
+ sage/categories/functor.cp313-win_amd64.pyd,sha256=WA454zlalsq-38JtRgslB6-fCxVswQQ-_f7UAnQIwlM,93184
35
35
  sage/categories/functor.pxd,sha256=HcrYjA83mrJpvnb9xRD7ygHrMIi5FOQSgyRfivnIb5I,203
36
36
  sage/categories/functor.pyx,sha256=VKU-tGKlPxn180i43CwUq6jZUSY3yVx1N78Xb3GxO34,22277
37
37
  sage/categories/homset.py,sha256=U8rhTZaH1hSypzW7UHjddBlzl51RIMw297vjNdVybVA,53173
38
38
  sage/categories/homsets.py,sha256=D8Lf2aqcWUcbeDUx7sTAW_MLTU6Tbthlem708qxsjFg,12567
39
39
  sage/categories/isomorphic_objects.py,sha256=Uyr_YZf3yyUAB9o5afQNMILaXe8PwM1wKGlt00OGPdg,2993
40
- sage/categories/map.cp313-win_amd64.pyd,sha256=xLb1pFloUghnG9BtrwGMfJzl3oInSmca3qGTaWU47n4,207360
40
+ sage/categories/map.cp313-win_amd64.pyd,sha256=BYqtiZ5cE8ymLW65X6dDIBnB44_Xno1_GxacW-o1Jtc,204288
41
41
  sage/categories/map.pxd,sha256=BuIaeaQ6Kid0Vu6BtwWpZjU6Kbdgfl_oL02qvdtgB2s,1093
42
42
  sage/categories/map.pyx,sha256=T2JEvZlFbCTXIN-PfbXOTG3JNouw8mlfqltV-Q0MPVk,78451
43
- sage/categories/morphism.cp313-win_amd64.pyd,sha256=pGUNa7B_pxp3ZhdK8V7DfMlMT-lwWCdVL13vcl160WU,137216
43
+ sage/categories/morphism.cp313-win_amd64.pyd,sha256=8r6ZP8l5xtkrtiTX7qr-B10IwmAAeZ351qk1ucbV0mU,133632
44
44
  sage/categories/morphism.pxd,sha256=udKj7cdyqm5oVHsn1abH2D9j2Xyd_47e2ZpTi0ouyVg,347
45
45
  sage/categories/morphism.pyx,sha256=JL2rzsKeXkcC2cJoYgNuE2Y6au1L1KGGYVM0B_CvLV4,29074
46
46
  sage/categories/objects.py,sha256=h-o39k-ugble8Xp_W2X4kPdpdiJ6r8HX-HwVBV9NVKQ,5346
@@ -54,21 +54,21 @@ sage/categories/subobjects.py,sha256=upYT6feRHzYRELhoBs3VrJ0cgFNwRntxwsucbuHVsdY
54
54
  sage/categories/subquotients.py,sha256=t4hQukYFVMlI_ZGM7PdXKkT0ch2qVSDHvhbUCIToBPI,706
55
55
  sage/categories/with_realizations.py,sha256=tYlFsLXAZzZjZrbPS2YM76Qx9ipjSdOt00ng5pgQqrs,13163
56
56
  sage/cpython/all.py,sha256=Tux0o-rbgpJYFx4d5KeaoqJqhZb7KyqTdCrRD81Gq7A,148
57
- sage/cpython/atexit.cp313-win_amd64.pyd,sha256=1AG510xzoJRRhohlLEdhtqG-CFShWp7hPoTlzmPBSao,38400
58
- sage/cpython/atexit.pyx,sha256=5kAPsFMq6WfMlaaCWkJGsVmbDtpwCHVeBIo04xsIkXo,7310
59
- sage/cpython/builtin_types.cp313-win_amd64.pyd,sha256=tLoC3NXBBzf02Gq4MMK3SABxeYKgaQ69OCM4iZ0Sfbc,17408
57
+ sage/cpython/atexit.cp313-win_amd64.pyd,sha256=SnKzEGtUX261Z5gme1-b2kKptYcBaPdik7EQTBkc0u0,41472
58
+ sage/cpython/atexit.pyx,sha256=kYlC89poO0W6nOQuL5brywiSlNdS22IzepBSkzkzCS8,9371
59
+ sage/cpython/builtin_types.cp313-win_amd64.pyd,sha256=OGWzGfmVrqv1y3GrQIkfXkrTKxlNq7746NV2D4p-zHQ,17408
60
60
  sage/cpython/builtin_types.pyx,sha256=d0O-Ydnf8SKZ-TtMnpK7E5gLGPpTLJjnrSkdyIqI2Lw,196
61
- sage/cpython/cython_metaclass.cp313-win_amd64.pyd,sha256=aQDV1vqcc85njowT9ixFqVr-MroIT_yD4NTOQSGkUrU,20480
61
+ sage/cpython/cython_metaclass.cp313-win_amd64.pyd,sha256=ezaDg5PFVAPMrpkU1kd3Ae26L59fItnhvfT9My2_GZE,20480
62
62
  sage/cpython/cython_metaclass.h,sha256=UOzAuX8wafy8LQZWuhbFIf4fxfHacBjkvnbIdRiO14U,4058
63
63
  sage/cpython/cython_metaclass.pxd,sha256=lYUJgERJZix2MwpLWrhZm-a6iq7-rT01DAvph4S0T9Y,124
64
64
  sage/cpython/cython_metaclass.pyx,sha256=FOME93m8ak8IfERSVZf28JufCeWGz0R_jL1xPIVfNwI,4833
65
- sage/cpython/debug.cp313-win_amd64.pyd,sha256=XSJO3cpFhgN4tiY6aDLu5mluAkXFMo6Oq8-oIPUmkBA,53760
65
+ sage/cpython/debug.cp313-win_amd64.pyd,sha256=Mr6cXwnXBEqyn0z1Melh2lMs16qTTX2ZDyy5r0m2ICg,53760
66
66
  sage/cpython/debug.pyx,sha256=dbWOnaY3Gmrs-WrTpfhIhYnLIX9TIHUmzpToiqSHOkY,11765
67
- sage/cpython/dict_del_by_value.cp313-win_amd64.pyd,sha256=K5bthqD-pgHEmmTFgZkULy0Br08UJM4f3V9CiQ9uFXI,25600
67
+ sage/cpython/dict_del_by_value.cp313-win_amd64.pyd,sha256=zJWAVlvgk5El_K_pV9qA9XizbTe6IXbw5Ie4KJHyJTo,25600
68
68
  sage/cpython/dict_del_by_value.pxd,sha256=s4fW6tHggYhyNEbYFRca06_uaqZaG0mpKBzHE6usOIk,346
69
69
  sage/cpython/dict_del_by_value.pyx,sha256=QXJYSJ1VJzyksOhZVWay0Uvt92Yyuk61YLyuILmY0is,6416
70
70
  sage/cpython/dict_internal.h,sha256=McGCYoRGYalDPKk-tRx0wtfImuIV9BJ5Xg5PQdzJTR8,7110
71
- sage/cpython/getattr.cp313-win_amd64.pyd,sha256=_TBBSuTkEGlJZdROHhwMBv7M8JcZEIgC6H5a5LavhGw,50688
71
+ sage/cpython/getattr.cp313-win_amd64.pyd,sha256=rqZjq-Xn72RAyfNXlxQ0qZfMtyPS-_2PRLdc0qmmojc,49664
72
72
  sage/cpython/getattr.pxd,sha256=8Cb3X41HUmaro-m-uD-Hoto63wxoVvNYYd80wbOYNbU,288
73
73
  sage/cpython/getattr.pyx,sha256=-FRx8cibqtRVwD8-hZIZEt1v154UP5ZW5dFPCenQcY4,14954
74
74
  sage/cpython/pycore_long.h,sha256=eTJcUr7GR5Cr5g9-Tts33PibfOesLrq_e-XCzsEpcPE,2156
@@ -76,11 +76,11 @@ sage/cpython/pycore_long.pxd,sha256=R5pyHcmmdtWn_DyNdvY60pcwgn0sTH38WecVWKclwXA,
76
76
  sage/cpython/python_debug.h,sha256=MP_YprVdq11ZK_tNFcK2AakrhBcY_8ct4lCAm5kDT18,875
77
77
  sage/cpython/python_debug.pxd,sha256=EpFaKv-z7KzZ6f7g3o-NYUovfp9Yg-nsWbgFODjxI_w,2032
78
78
  sage/cpython/pyx_visit.h,sha256=MFhGSCe_RsFn-D03QfNixKbe-cD2nzwC7JsNFmUd-rY,651
79
- sage/cpython/string.cp313-win_amd64.pyd,sha256=nr3A-lf4LXWSevT4Vhr2Jfrf5KsWHEPWO6NQULUHvoQ,27648
79
+ sage/cpython/string.cp313-win_amd64.pyd,sha256=pF7-SqZLez_KvxGwsAPlc04Tsz7FJTiCdrkvNLzQ6kk,27648
80
80
  sage/cpython/string.pxd,sha256=TvD_ZgtYp36TW8mkjwFZaCyh5RS0ekjiokNAa-qskIE,2588
81
81
  sage/cpython/string.pyx,sha256=WVruGwr0FdR7ZRxk0sWTVQA5kau9Ar3ZTH6XUyHpBDg,1196
82
82
  sage/cpython/string_impl.h,sha256=IFEnaYxWnD9-Nn__f3KtGjsMQhUpw1RjHEwSYbDCEyM,1781
83
- sage/cpython/type.cp313-win_amd64.pyd,sha256=p3gv5QlRi3xEflSATEe76V8v0n_xmaQ9E-d4CPlsCQM,24576
83
+ sage/cpython/type.cp313-win_amd64.pyd,sha256=OHCYU0zIaE1z2hMIlmcsyHqLf3AUTcx-lbbIOlyWs_o,24576
84
84
  sage/cpython/type.pxd,sha256=4o2n1_b9Pcrm3kAFKcUaY-incfgUaeNwfOcqni1PxrY,88
85
85
  sage/cpython/type.pyx,sha256=Xso6fkWMzcPl3lxJAAdy11BQ57gmuDkbIDbi_DmCH0w,1076
86
86
  sage/cpython/wrapperdescr.pxd,sha256=01d05_VmUeAhJ9tWINAL4MnghxJzJVb7s-bafCejIi0,2263
@@ -93,10 +93,10 @@ sage/ext/mod_int.h,sha256=YZd376zB1marQ0lgoSfLlrusWkapb_ueFd8xvhNU0MU,1275
93
93
  sage/ext/mod_int.pxd,sha256=KbuB1xE_rbe3812HzeAnljlBfeASVe8ea2CIK-t-OIM,878
94
94
  sage/ext/stdsage.pxd,sha256=LtnBsa8UN7H5cMbb2AFpj_Bnb9nyl-hQFm2bATj-g_w,1427
95
95
  sage/groups/all__sagemath_objects.py,sha256=U0s3i-j8VG_G3hwosaLXkFtIexExCHE66vo6Xk5_V08,46
96
- sage/groups/group.cp313-win_amd64.pyd,sha256=kMqdj-g7MMV36nfu_04MB35XLsJvinwEPEE2snHuCNE,76800
96
+ sage/groups/group.cp313-win_amd64.pyd,sha256=pIzmmJ6_ivr3Fmi5_bOjzBMrWSU7HVeLpzV1erO7j7M,75776
97
97
  sage/groups/group.pxd,sha256=l5XDUVBLZZghkEMm3p72KdVJDLxD85Je9otL5yDkXQM,251
98
98
  sage/groups/group.pyx,sha256=CGAhNiFVdAT2Kjv8Hh-AFq423cfiCyt-SfvMMR0rDU0,9827
99
- sage/groups/old.cp313-win_amd64.pyd,sha256=rZj0T_zAawyJRAIchAp3oi-7mAx_Ffc7-Nbmf0XwSC8,47104
99
+ sage/groups/old.cp313-win_amd64.pyd,sha256=I5atJxIrVwIph9zJnUosNloxRy0Tz_y_XAj_5V4fDPg,46592
100
100
  sage/groups/old.pxd,sha256=2CXrLHHAFFGvFhOcHEBR4jo65SGynhNEcMF0f9rMsQs,266
101
101
  sage/groups/old.pyx,sha256=gxDN9ZQSNq3VnccG9So3tLGk2JgSjTrAwKlpkE26aig,6154
102
102
  sage/libs/all__sagemath_objects.py,sha256=YDdaT0ZDVNDu-ssAUrDGDpEkHpGC0KRBZ15j5Xk8O80,169
@@ -108,7 +108,7 @@ sage/libs/gmp/mpf.pxd,sha256=pPdAUid-su3Jr_SCBfrNsKyUZpBzAed1enzj6l5KuS0,3670
108
108
  sage/libs/gmp/mpn.pxd,sha256=xqtMwtfyNMXCuUfrM27MYjTJswuynYvqkNW4RNJMBzk,4151
109
109
  sage/libs/gmp/mpq.pxd,sha256=4E1Ldx99k4EuYKCdgn7iTMqNRy2E8MpzUMErKdxvbZc,2271
110
110
  sage/libs/gmp/mpz.pxd,sha256=76TOHtrqWB9h9LBY2sQok-8dL3coqIXc6y0pLUANHQU,9628
111
- sage/libs/gmp/pylong.cp313-win_amd64.pyd,sha256=uk4RHpcd9LFbcnCCQVZ-1kfx8nKAetJ3m5tR9cFUkQA,19456
111
+ sage/libs/gmp/pylong.cp313-win_amd64.pyd,sha256=Y7d4uAZiPFJFznMe7_cpyxa13fjlNUCz03shhmpR9PM,19456
112
112
  sage/libs/gmp/pylong.pxd,sha256=ZAmPJKtIZJW7S7rDdsjiB7WphHyADSwgR8hH8HLWSaE,378
113
113
  sage/libs/gmp/pylong.pyx,sha256=OrXIWymqVFgESFvZ5amY3l4ynBjIel5XnxHQvES5In0,4867
114
114
  sage/libs/gmp/random.pxd,sha256=IVs3XSfaq39Vr7S0IAVoNvU-mvPhmrjyPWJ4OKAl7ns,1020
@@ -118,162 +118,162 @@ sage/libs/gmp/__init__.py,sha256=U0s3i-j8VG_G3hwosaLXkFtIexExCHE66vo6Xk5_V08,46
118
118
  sage/misc/abstract_method.py,sha256=57iobT5AwJzRPkutZNFoHyHqc4BgAn_NYzvG2PjlP-E,8409
119
119
  sage/misc/all__sagemath_objects.py,sha256=PA6ug9z-uYIb61IYDsyIxyOmch9QQY8KfYqAJin-lco,1544
120
120
  sage/misc/bindable_class.py,sha256=WY48Hlz5tyVP-pKsCebjfsZKcPSDDrZKruv9W3fhhHw,8369
121
- sage/misc/c3_controlled.cp313-win_amd64.pyd,sha256=EMO6GpxcsHVxJ43-ltiqWi_JPKS4Jj4-e-XZiyfW3uI,186368
121
+ sage/misc/c3_controlled.cp313-win_amd64.pyd,sha256=AW60CO57kTVkAeiDhZAan7ntbxAyMjI46ciRDPA4OGI,185344
122
122
  sage/misc/c3_controlled.pxd,sha256=EWT5P-X5Y6-dAslfrcE14QFMLsGHWcLSxCoAEkcN7NY,93
123
123
  sage/misc/c3_controlled.pyx,sha256=a3z5yOBzNLzcMS085cQH6S1heXHCU4zT32SvU0ng6F4,56078
124
- sage/misc/cachefunc.cp313-win_amd64.pyd,sha256=_YW5CeBzWsMOd61msJAe60wl2qpjS6Bul9audegC0Pk,341504
124
+ sage/misc/cachefunc.cp313-win_amd64.pyd,sha256=I32N3eLF_VSStWCTbfHMP4pz5ZQfFQyT7sTg2USAlJg,336384
125
125
  sage/misc/cachefunc.pxd,sha256=4c9YK_wVbUSit4f5LtoZsgV43_49S_P6LbrO-LDwl9w,1163
126
- sage/misc/cachefunc.pyx,sha256=PxXg3mtgFy3d2j1QlrvAHRkihnRBwmRjRjy2luSHRbI,127240
126
+ sage/misc/cachefunc.pyx,sha256=H2S0-A5IQEOvKZ4XDwq1_3kuCkc5dzVvwL_6FbRKW-Q,127246
127
127
  sage/misc/call.py,sha256=WerCuE2OSAGLgok9s-2JqTwEIZkvgqfarMUyQsYZlCc,5757
128
- sage/misc/classcall_metaclass.cp313-win_amd64.pyd,sha256=uFOccD15oaW_iBalWL0Ft23iX3m8JS5FwA5CqqeAKXA,72192
128
+ sage/misc/classcall_metaclass.cp313-win_amd64.pyd,sha256=C0wN2lUX59jTUzP4PkGd6LILYnbajmucJjjU0F7m5MY,71168
129
129
  sage/misc/classcall_metaclass.pxd,sha256=_VnrhJRQAclaFng-7vwzhDrQW-mwExvPLgP5bk1YmhM,583
130
130
  sage/misc/classcall_metaclass.pyx,sha256=QkgYomel8fNufKtvWx8Iz9fBrSoubKqGIm6sfU-sLYU,21263
131
- sage/misc/constant_function.cp313-win_amd64.pyd,sha256=JSHRfGjben67uhM_H_SxmPfiS9HgtDs1a3BmKrcUYmM,51200
131
+ sage/misc/constant_function.cp313-win_amd64.pyd,sha256=B1SJyhRo-JxRs6Tqa8QLeH2oskXiKGYi-29XjjVjs7o,50688
132
132
  sage/misc/constant_function.pyx,sha256=gmEpTMwOfsS1xJZBFUJSuDTqfleKvJzuhsWIfBsGN54,3578
133
133
  sage/misc/decorators.py,sha256=VOubDgl-3KemmGs2kkyUSLd-WYS8XQ2HGTDBeuRSXAM,26572
134
- sage/misc/fast_methods.cp313-win_amd64.pyd,sha256=_wPfKGZTduuovCPw_npfYxBiO4mE8hrAGmhd3kFIavc,57344
134
+ sage/misc/fast_methods.cp313-win_amd64.pyd,sha256=SfuWQ3kPPaE_PyZ0hduOuF_qTTUaBE8M8IH_hAx5EO0,56832
135
135
  sage/misc/fast_methods.pxd,sha256=A0ImtHm4rQ0JAxnCygpTP0RyqZtodCqqm8_TKXtiYK0,577
136
136
  sage/misc/fast_methods.pyx,sha256=RrRNp3UNliUhKPdIXz_mxu1BL_7iHze4vx7Ulpyaw84,11976
137
137
  sage/misc/flatten.py,sha256=BMribQzTuNq4JqjNkTtla9mEUb7QVCBhskj9rLWAiuQ,2739
138
- sage/misc/fpickle.cp313-win_amd64.pyd,sha256=MfpyhAuPzcowkAv4dLC8ktL8wR2QhY34ggt__xtrs98,66048
138
+ sage/misc/fpickle.cp313-win_amd64.pyd,sha256=N_hTWWj5JKahC3SGi2vvb7qQU7SLz9f8qa7UYRXw3R4,65536
139
139
  sage/misc/fpickle.pyx,sha256=Vh5kja4ylA8ln6_ICX5OUvhOXjZDdnazCkB4SC8tGPc,4900
140
- sage/misc/function_mangling.cp313-win_amd64.pyd,sha256=2-NAj6MVWIw5dt1Nyhxj4FkHgDjz1vSJBGh4ubNkrNc,50176
140
+ sage/misc/function_mangling.cp313-win_amd64.pyd,sha256=1hg0YaZQqG1xEKguwO5xUcgY4plxLMfM-b03DsfMOrE,49664
141
141
  sage/misc/function_mangling.pxd,sha256=n_zmWpk40S2JNrwTiBxFRkZaI9Fj7ZD_E9s_qm7PKu0,330
142
142
  sage/misc/function_mangling.pyx,sha256=bVzo7-pJq0kNLBvR4W3AVuCCr7JrVVnj-9oqEq0bQLI,10873
143
- sage/misc/inherit_comparison.cp313-win_amd64.pyd,sha256=-_EzzVheLw0oVHcZkEgU_yOEq3QoWXBCGd1QqzVSWSM,28160
143
+ sage/misc/inherit_comparison.cp313-win_amd64.pyd,sha256=k-OZipq8wb0r3-qizxLnIPVPz2e9JqDo_Cg95ADap2o,27136
144
144
  sage/misc/inherit_comparison.pxd,sha256=vV-3Ek7tnZ-05_uFZwTAYTjsFM5OR5qFknyDu9jJTwU,139
145
145
  sage/misc/inherit_comparison.pyx,sha256=qitU_YiVHB-9wHUMh3M2ewuee0DMd7Kq7ZPJXxchjzI,3828
146
- sage/misc/instancedoc.cp313-win_amd64.pyd,sha256=DNz9gr9K5vD2cU0wd7wVLDtuTEOkDrAt8aLUiQuWTq0,46592
146
+ sage/misc/instancedoc.cp313-win_amd64.pyd,sha256=pxn0R2f8pWpu6PXiw5ovYFzqjCBDJ5Cl1RVARilrfa8,46592
147
147
  sage/misc/instancedoc.pyx,sha256=ml1-c_SKHAnww2zwkJTXbuf2TSHJXtNYQstTSCRipFo,11125
148
- sage/misc/lazy_attribute.cp313-win_amd64.pyd,sha256=URpV3z_E7KOdD57QA4hCNB9I7KRemNXjqCdqUE0kuH8,68096
148
+ sage/misc/lazy_attribute.cp313-win_amd64.pyd,sha256=AJOf_N_bLr5Z2jBeOkW-9otMXUa6et6FRloiZyF-lrw,67584
149
149
  sage/misc/lazy_attribute.pyx,sha256=rpc8WnIiCbrZdwi06AxMWKBcN_uuvHlXJ0UI3xpXg2w,19121
150
150
  sage/misc/lazy_format.py,sha256=MpN8wJXCvdiyJyOp5x0cfSGNjvUA58bFY7LVjwX5_4c,4379
151
- sage/misc/lazy_import.cp313-win_amd64.pyd,sha256=LyEOJkZDfnj7b-RQg5tPsG-1sZ4NED2h_B_gsEt79dM,138752
151
+ sage/misc/lazy_import.cp313-win_amd64.pyd,sha256=COqhbcn_jGipAa076Qp2vWhG0Wd00zHeNtXtoUJ_fkY,135680
152
152
  sage/misc/lazy_import.pyx,sha256=ku_tlp1o5BwAfRlJSQtUiGg9c23FjLAQDdOqyw2xhoI,41770
153
153
  sage/misc/lazy_import_cache.py,sha256=7UUPsvP7XLFIcXZee9tg8jB_0luUr-z3lxTPd8dsU2Y,1005
154
- sage/misc/lazy_list.cp313-win_amd64.pyd,sha256=ry-xy6XBzqAAAoQz2xphrE444W8Qd4GKxSOB-ntIphs,121344
154
+ sage/misc/lazy_list.cp313-win_amd64.pyd,sha256=SvIW2mHMrhdwPCfO5CmJ64trfQ_Kl0O6DWLLEbl8bcc,119808
155
155
  sage/misc/lazy_list.pxd,sha256=ugiVT7-AGL6qSOBVn6YSELu_TJctsEL-Dzpv65ep3XQ,672
156
- sage/misc/lazy_list.pyx,sha256=8uPSFQUEqpi098JLpAgHqd_43uWsXfd12DMxZn_pQyU,38284
157
- sage/misc/lazy_string.cp313-win_amd64.pyd,sha256=STZLYLB9vClv-6GbVbLIbmFlRu1SykEyKhtGzPhVfy8,59392
156
+ sage/misc/lazy_list.pyx,sha256=ib3TZpxutctPqQ2bAwTGVJgo4YIJv8wmKfiBvoBtIsM,38313
157
+ sage/misc/lazy_string.cp313-win_amd64.pyd,sha256=g9662yRlgNe_MNoYPWg57r8boTAPt1lmjhlS2Wp07lw,58368
158
158
  sage/misc/lazy_string.pxd,sha256=svK96-FOIZqWLd-uY9F-s_tF9buYOvl8goNGVbc_Uv8,182
159
159
  sage/misc/lazy_string.pyx,sha256=kjC5HtApqcYKUv4VGXK0_zjUqJ_HdLzXAUW5Ws9FdJA,16280
160
160
  sage/misc/misc.py,sha256=3M5ekIsxGhmZOR2c1AzChqurp7rQl-ErMOe-R1lO_BA,30450
161
- sage/misc/misc_c.cp313-win_amd64.pyd,sha256=iE-mNlAVaF2E9Qq4ODqbEqIdab72acvzs4Pe6cgbr7M,87040
161
+ sage/misc/misc_c.cp313-win_amd64.pyd,sha256=B_43pMfnSx9oVygRG8VzQPCAOIts1EWb7zS8VrpnVOw,86016
162
162
  sage/misc/misc_c.pxd,sha256=6ijmZ05ZScqQVt6NfUEaSbHijl_JK2U4JQlV_E8SxR0,96
163
163
  sage/misc/misc_c.pyx,sha256=NXV3k96bXvVKqt_jmbtlrpBOE_l8tYy6IgLHwl2vZLs,23685
164
164
  sage/misc/namespace_package.py,sha256=1Zm09A9QjmQ6i4zp3I2G_x1XEm8wJVFxxZ353LN-EZE,938
165
- sage/misc/nested_class.cp313-win_amd64.pyd,sha256=0FyPI9TwJ-UIREZsa2d6Tf-4nL2_zHcaU0b1BnCNsN8,67584
165
+ sage/misc/nested_class.cp313-win_amd64.pyd,sha256=DxzbOOOZ4K63eikS08cpwWnsnGuuOF-xRY-lGg5tSRU,67072
166
166
  sage/misc/nested_class.pxd,sha256=8jncbDWcavg4ZjbrbtXscGagkcMVU-ZDYH4k15jZyc4,94
167
167
  sage/misc/nested_class.pyx,sha256=j0pwxE44IvMSpUM-Pl3_uv9T2CzfmwxsIoDuFML9VTQ,13318
168
- sage/misc/persist.cp313-win_amd64.pyd,sha256=0yNFkw23HTXxSGAIf-0_fwKcs0yhrov53IbUjbu1nuY,184832
168
+ sage/misc/persist.cp313-win_amd64.pyd,sha256=hoUTKvux4K2OReokPfCprsWDf0Tst49_hqiac904qv4,182784
169
169
  sage/misc/persist.pyx,sha256=dy8qDVBTtQrG79tvgeaOLom6QNM8hZTxD7KVGnnuxT0,46217
170
170
  sage/misc/prandom.py,sha256=vnbY62JYLu5_5L1nGbq1SoHkt0ScGBrx-LisbzhM2YY,12432
171
- sage/misc/randstate.cp313-win_amd64.pyd,sha256=So9JSh70RNZAskDc0NehXsTRvqFX6tMjiH9AdTf3VOI,93696
171
+ sage/misc/randstate.cp313-win_amd64.pyd,sha256=srDIBgCFd883ikn3Q57sYRuPZsaGsfm8JxFJheHDFrw,92672
172
172
  sage/misc/randstate.pxd,sha256=LERpWdd_7yS8mD_MYIES5yxA-Zh060remnG4jROIApc,746
173
173
  sage/misc/randstate.pyx,sha256=gmiTORYmK3lx44l6XWxkjCcD5PO4rHvEJ94TE7K_6bQ,38090
174
174
  sage/misc/repr.py,sha256=Q8sxfz4xNPGbHlMuKnIeAsH2LaZtXKkKwkHEZLlwFic,6987
175
- sage/misc/reset.cp313-win_amd64.pyd,sha256=kH2seCCfwlWoa4Rjd3X3bQghlQFUTeUPn7P1SCHDbDw,51712
175
+ sage/misc/reset.cp313-win_amd64.pyd,sha256=4pfnTSPtp77Y8k7fLS9Rb7AwNR5V3yRxZHyZipzdVxc,51200
176
176
  sage/misc/reset.pyx,sha256=9xnGnC8yOv-3MKXXEAWcnuc7WLrw6lZQDLqsC91rQ5Y,5675
177
- sage/misc/sageinspect.py,sha256=jjtNFSH6QniO3OjJEKv44Fj7gRmA9JBm94mQRCwLcXQ,108872
178
- sage/misc/sage_ostools.cp313-win_amd64.pyd,sha256=CCAK679XW6ZfMhlvlV8jt-TImAcQhbfhvCAMqpEq16w,74752
177
+ sage/misc/sageinspect.py,sha256=QPEhtfOAmjM8dXPl1v89np73eO2qJYdRCdrrSZFSCGI,107670
178
+ sage/misc/sage_ostools.cp313-win_amd64.pyd,sha256=p8VGYLA11AviGBMxUekU5Z8m1inu9KAJqrGbUijoXO4,74240
179
179
  sage/misc/sage_ostools.pyx,sha256=CaDOaTvu2JXfOwJk8wsgTF_OT_ivjugrqVvBa2FvvqA,9287
180
180
  sage/misc/sage_timeit.py,sha256=2l3OuSjfwQFqF3CkzVDR8LOR2AiPGskiOMleWD03NKU,9064
181
- sage/misc/sage_timeit_class.cp313-win_amd64.pyd,sha256=9xGZ2-01o49MKhtyHP-2zoXbgCzDDXEwtLxPX2fbRdE,41472
181
+ sage/misc/sage_timeit_class.cp313-win_amd64.pyd,sha256=-1cZ1eOuTtdWDPTk32WImibE5OuhgZj8Kq4SVWfLIPw,40960
182
182
  sage/misc/sage_timeit_class.pyx,sha256=3IIxeFsvD7gxemBNgP_tnhuwMWjPiVdUTKQshSHWSxk,3908
183
- sage/misc/sage_unittest.py,sha256=sTp3rvIV43FgnsznD08LVMF6miRuvTa81VN7a2D9qBg,24177
184
- sage/misc/session.cp313-win_amd64.pyd,sha256=M4QTzVQz-32o9aTavalrkeRipYNWuROKRUQFezbAWjM,53248
183
+ sage/misc/sage_unittest.py,sha256=gIvNuRKZZZKZzlO_TL5ifEUGc2j0MCxkqF-9Bp5dkRc,24002
184
+ sage/misc/session.cp313-win_amd64.pyd,sha256=XcrJbKsenb4VvjPAcpFnSrq4CNyQRuzwfJo-VtHK2GM,52736
185
185
  sage/misc/session.pyx,sha256=vxqDy-kT1QEplhoyuDlRM6WiWmFfYLDZiOmy-gwl3gE,11770
186
186
  sage/misc/superseded.py,sha256=3K8MzLbmNupi8gMwYaYK68F7YNaYWTVsI9YO1z0TxBE,19934
187
187
  sage/misc/test_nested_class.py,sha256=E_r0pvZKHIWw-1V3djlwdSKjY5BbaPmp-UFewrRhTLA,5914
188
188
  sage/misc/timing.py,sha256=sbUPFLljrbKKA0wPBU-wTI-xO1E7DcqUcfxlo4jTU8g,8329
189
189
  sage/misc/unknown.py,sha256=fVh3T3B3vgSKqYqLjyWu2LhIErNlGQVkcJgqIMAJHtc,6481
190
190
  sage/misc/verbose.py,sha256=KGMJeArKTqIPTgTxRq4YsSyY7KwZov0m1VmzfImmbUc,6636
191
- sage/misc/weak_dict.cp313-win_amd64.pyd,sha256=dnXHd0PQv1mL1r8l_SGr0f7dIDOGcWLdIeO3nPVexZk,112640
191
+ sage/misc/weak_dict.cp313-win_amd64.pyd,sha256=mrMglKkil0U2fEj33so01zBWrgLkE3SeUhMtY1JlNYY,111616
192
192
  sage/misc/weak_dict.pxd,sha256=7mDU5vWwLDunO53fgGyEhVvSGZKxvHRx-EprQtgBmOA,428
193
- sage/misc/weak_dict.pyx,sha256=CXWvbATI26YASIJ-vVvq9YcNHpnRp6tnoDnJ92iT-8Q,41565
193
+ sage/misc/weak_dict.pyx,sha256=0gbKGb_Fovx_pIblCYMwsVwxLfTGpU9CgI9n65N8OF0,41601
194
194
  sage/modules/all__sagemath_objects.py,sha256=U0s3i-j8VG_G3hwosaLXkFtIexExCHE66vo6Xk5_V08,46
195
- sage/modules/module.cp313-win_amd64.pyd,sha256=pzUqeoBDy86BcZspk94UHEj2Jmr8k8nEu2z54zg8hFw,53760
195
+ sage/modules/module.cp313-win_amd64.pyd,sha256=pNirY6M2TlXnVpVb8kfCecDSesllJytak69L6ke8THY,53760
196
196
  sage/modules/module.pxd,sha256=l0gI2rRtwVMJPQNkQfJXqEN9EEovo46yAcs-aHio_Uc,125
197
197
  sage/modules/module.pyx,sha256=-QTSiktCdR3n9F5dee8hNk8yVgfWsJ7lzIFtgQHJT6o,12096
198
198
  sage/rings/all__sagemath_objects.py,sha256=YDdaT0ZDVNDu-ssAUrDGDpEkHpGC0KRBZ15j5Xk8O80,169
199
199
  sage/rings/integer_fake.h,sha256=e271zfi8hEZ5nzPLEljAjifRBaB4jOSgf8COx5zH2Zs,396
200
200
  sage/rings/integer_fake.pxd,sha256=D7n-VZrrigxZm_D7NQKNikuWm25lg4u7Ity0y7Pv_Io,1949
201
201
  sage/sets/all__sagemath_objects.py,sha256=YDdaT0ZDVNDu-ssAUrDGDpEkHpGC0KRBZ15j5Xk8O80,169
202
- sage/sets/pythonclass.cp313-win_amd64.pyd,sha256=nO8BmuaC8-YeQqk7-BRJnm3wEXfeloi4xl7vy_70aLE,69120
202
+ sage/sets/pythonclass.cp313-win_amd64.pyd,sha256=zO5_p21M7nP9aIA42G-eb3IuHq39zXVi5oKNEVWbGYg,68096
203
203
  sage/sets/pythonclass.pxd,sha256=GYb_urQBxr8j28s_6FqtaN0WRZiW2hguXWR3Hztq3LU,189
204
204
  sage/sets/pythonclass.pyx,sha256=ZzUjh8bkoqWPCd85Kcx-NnuEghofSQ0NoCG_CpeCpX4,7136
205
205
  sage/structure/all.py,sha256=5GYCPE_LABmoZGre1WR9mlhvvpWpzqJMZrS9rAPSan8,798
206
- sage/structure/category_object.cp313-win_amd64.pyd,sha256=knHYmwdTHmoVcN8GyLGrBAKlLlL6_7uDwoxJCJV4sOA,129024
206
+ sage/structure/category_object.cp313-win_amd64.pyd,sha256=PmfLFwe_-jSoDAebhKZ6lCK09xqtzz_a7WssASi9ou4,126976
207
207
  sage/structure/category_object.pxd,sha256=rz9gGO9WiOLQ2XP9PdzSIELHW-4vvPmjXvqdD6huRvY,1030
208
208
  sage/structure/category_object.pyx,sha256=iK22UiNYaCgkEc4QeRY4Cu9V7oMBVQCZKhtd4O8NpVM,39030
209
- sage/structure/coerce.cp313-win_amd64.pyd,sha256=AgAXXVuZFkqH9O1TpOnSFGwT3-x6vzsaswXwbHZneMk,251392
209
+ sage/structure/coerce.cp313-win_amd64.pyd,sha256=84-yCu0bTZewXZiLm5U88afT0xbmqtlf1qrhqVitOfY,248832
210
210
  sage/structure/coerce.pxd,sha256=FklBQUdf23MFPu33SkIWJC9mQw2jjNSIY7PPMlQCNLQ,1369
211
211
  sage/structure/coerce.pyx,sha256=IA4rnmiMIndhMGrZMpMD0Hl10ZUK8l6gLuTXoqax2G0,82202
212
- sage/structure/coerce_actions.cp313-win_amd64.pyd,sha256=anAy2fD8UDpCD1hiIkY_iluBzUVJJjg8iXH8DvfnUjY,133632
212
+ sage/structure/coerce_actions.cp313-win_amd64.pyd,sha256=KZjhFiKVm71RpV0o5J2dtq8dgH3rh8JOdSgq2DACeVg,131072
213
213
  sage/structure/coerce_actions.pxd,sha256=4Gzyc43JOKIYDPkKUowbdQ-vYpDTrIxJERUed88b6Oo,528
214
214
  sage/structure/coerce_actions.pyx,sha256=lrg_qYJehodMQN7o3Z_5Igfdszz02cInnLa-Ds8zYwA,37252
215
- sage/structure/coerce_dict.cp313-win_amd64.pyd,sha256=j3EbWjwkAGYyKUTaaVwuP3Kaxu36T079QDdaFf9FG6k,121856
215
+ sage/structure/coerce_dict.cp313-win_amd64.pyd,sha256=6v886Csxk6rbX9HBydHp7jwx487RBkct0kIqmuFRvtg,120320
216
216
  sage/structure/coerce_dict.pxd,sha256=3Exj0-GuFQcXtXXKs4ydsU8trgO81fO2cIBP7PDlgZo,1415
217
217
  sage/structure/coerce_dict.pyx,sha256=_DuaRSosZsllXhc57Oe9imVrkc2xkQNzdHeNEAdtjVo,49983
218
218
  sage/structure/coerce_exceptions.py,sha256=0_og2GtBcrr8me7_8edijpOnlKFbFhAiQS7OfpNslAQ,988
219
- sage/structure/coerce_maps.cp313-win_amd64.pyd,sha256=zm3c7E1uryMvuWsvOm4Rw77LkAh-EH6b9dQNXuNQj0M,122368
219
+ sage/structure/coerce_maps.cp313-win_amd64.pyd,sha256=2-r_lCsxDafVyjpMzPoNX_fWlgtVtoE3zqA85rJRZ2Y,120320
220
220
  sage/structure/coerce_maps.pxd,sha256=dm5fxyEnzLHBmAd__K4xLZNuyz0LYpX39YmCmj7amv8,504
221
221
  sage/structure/coerce_maps.pyx,sha256=n1_2DKjzOu_I6lxkBXnr6hUqFAQau83Z985ryHK1HLY,25878
222
- sage/structure/debug_options.cp313-win_amd64.pyd,sha256=NeaQOsZ3pcLMt-cGL9O2qvcr21hthg5bo3OyMEL5wQ4,23552
222
+ sage/structure/debug_options.cp313-win_amd64.pyd,sha256=F5ohYrkWfy2Kc4IniH1rx4MAzEHoCof0LkxoFV2LYkc,23552
223
223
  sage/structure/debug_options.pxd,sha256=yf-VwnEs8Ur2_VYSQsrF9nkj_6AFTSsfcAcLW6IpdWM,200
224
224
  sage/structure/debug_options.pyx,sha256=JR58ihocYWnDea5HgTN8WQ_wRVwyYcO6xe8XFM2Ku_k,1974
225
225
  sage/structure/dynamic_class.py,sha256=30FYmhsiPynSJwopAhcOeXrTukqOlJpBNjNhtBYt_gw,20222
226
- sage/structure/element.cp313-win_amd64.pyd,sha256=b-oWtz5eb3aG6QV_fVj4r6UkCzOQY2hY_OiHncK54yY,403456
226
+ sage/structure/element.cp313-win_amd64.pyd,sha256=pmqUGTPH7_fIB68DiWQ2U-IVqMLfScan4vvzz1fzuJQ,394752
227
227
  sage/structure/element.pxd,sha256=JaMsIvj0HnpDZf2Q1vSs99SIQv3WKCpqkfg9oWLnTuU,7958
228
228
  sage/structure/element.pyx,sha256=PFFZFGWp9K1yCnqOIyLGT3tEi-gT5VPwAxoNIXOSRmo,188418
229
- sage/structure/element_wrapper.cp313-win_amd64.pyd,sha256=VB_dW8Z4DIGyKpZcQSgtRcnEeJPHZv99FDgJzORsb8U,90112
229
+ sage/structure/element_wrapper.cp313-win_amd64.pyd,sha256=9nnSYooK2VhKSP203805276hoHTbEwcOLepT5vGv_Bg,89088
230
230
  sage/structure/element_wrapper.pxd,sha256=MI50lX2z0XmOoaFwGXns-rpOcdcduculNkS8t6VP1i4,319
231
231
  sage/structure/element_wrapper.pyx,sha256=RH3G4VHj1Rop1w5eLV6ynIPVaV_qPxClhZ846aqxPbY,19276
232
232
  sage/structure/factorization.py,sha256=4cKiiZ7KCiTW6MBXWrV3UdyDc-ww7-9p1Twv5LS-n78,45770
233
233
  sage/structure/factorization_integer.py,sha256=PALiFasjPjEqEz08m1A5qADt14lhMt4Xgpgl4Vnovzw,3818
234
- sage/structure/factory.cp313-win_amd64.pyd,sha256=0tGM4wqVZzh_bIimEev6nZqj9o4hw-ImDOOBfU8R_Lw,95744
234
+ sage/structure/factory.cp313-win_amd64.pyd,sha256=YVv3DLUItkZjLfuo1hWCkEuz6Iuf1Ubp9IGvDPSs0XU,94720
235
235
  sage/structure/factory.pyx,sha256=Y6CLDS5XvZZrywNWyo4XhJkyM6Yn_1VJ8MIKZRRNzXs,31258
236
236
  sage/structure/formal_sum.py,sha256=-0PPVOHHlfLGQNmU8YV7qNZhrxanAoVorZuFUKSX8Ss,15953
237
237
  sage/structure/gens_py.py,sha256=3e2OoLDBveDRyuaGStNBUZarUNa0CE2Qs9cBGhxR28g,2069
238
238
  sage/structure/global_options.py,sha256=OwIgjujCtFcIp5YYDkQpOSPXeVABfPFZiotM2Yq2Ap4,69477
239
239
  sage/structure/indexed_generators.py,sha256=T3ADtTQ_D3s9waiEbURYTlyr7udHmoCXDCLnSk8xcts,34776
240
- sage/structure/list_clone.cp313-win_amd64.pyd,sha256=Ag9NsbPTAnCI96UXnF0T_n8yo98TozeRCy16qH7xAaU,198144
240
+ sage/structure/list_clone.cp313-win_amd64.pyd,sha256=79ELIDTb8-jFw0OHa9gbdfMKPsUmdYKh6bgjWfbFfR4,194048
241
241
  sage/structure/list_clone.pxd,sha256=Uy6QhnoBF8OLylfp74H4hupCyXCd1wVBXO0fAfbWKOw,2121
242
- sage/structure/list_clone.pyx,sha256=bn_4rDwtdbYkM4lp3vImfYaVnwvgdQrqQYApKbYAh3g,58958
243
- sage/structure/list_clone_demo.cp313-win_amd64.pyd,sha256=JVbCivN8yIxLect9KDVzayY5FeP1qBm7HnXuT78_6LU,72192
242
+ sage/structure/list_clone.pyx,sha256=Jbicq-sIZ7WhqD_r0zbaXk4D0JEI820TrIcGN6EEGNQ,58956
243
+ sage/structure/list_clone_demo.cp313-win_amd64.pyd,sha256=T7qRJFlsdFFp-m_b4MkKASaj9rI7uphvfG2cGAjH2ag,71168
244
244
  sage/structure/list_clone_demo.pyx,sha256=oU65ulMRrP8mkP8aNRlBd8j0Z61tIta868Fxui8LDKs,7643
245
245
  sage/structure/list_clone_timings.py,sha256=qB1wmsqiKsTkmF2c6NbAlBIZ5DzwJZ8hnTeMMUMwLRI,6692
246
- sage/structure/list_clone_timings_cy.cp313-win_amd64.pyd,sha256=i43RMkrEACWe-SyCyaiG3Y6zxaMTnjkR4JHFcnnqrh4,36864
246
+ sage/structure/list_clone_timings_cy.cp313-win_amd64.pyd,sha256=vc6hdrnSkodF5tBxKjB4K8C9yQl6msHZoebAhPr0oQU,36352
247
247
  sage/structure/list_clone_timings_cy.pyx,sha256=Yta-vzJVi8ZBH_1mPFJ7mNB11RGB64TqKqtSuil5CPc,2588
248
- sage/structure/mutability.cp313-win_amd64.pyd,sha256=ek2zer4J5g9z0CfxJwYjatyfzIfmIB3HAB6DhbgQgLI,67584
248
+ sage/structure/mutability.cp313-win_amd64.pyd,sha256=-qAwZGU2D_uWXSqWDdxR_-gMxT_SSXKhpmqeSFUglM8,66560
249
249
  sage/structure/mutability.pxd,sha256=SvQMhy7o0PKUnPdNSOdM0w6qpgzEqVzxVXmG1EvmKNo,680
250
250
  sage/structure/mutability.pyx,sha256=uA5GXQxj1JVE-0Xua5RwV5JgnedSrf0GQPxmrl9HiNs,11493
251
251
  sage/structure/nonexact.py,sha256=kyCU30mUCCbiju6ujgVGe57gtAhavlEQvHDYHSYYupA,1736
252
- sage/structure/parent.cp313-win_amd64.pyd,sha256=xNNKGi_Fz8EOdyYEmGcUdDlP5YsS8A7MxEwtvW9mcFQ,288256
252
+ sage/structure/parent.cp313-win_amd64.pyd,sha256=x3dSw4r-ERwCS2JB4OWj0_pyBnD7eQ_MQrJUYJsD5QI,284672
253
253
  sage/structure/parent.pxd,sha256=WZ0dqLTWmhpsSiXR_VN4LHmI9mac8w2fksr-_cuUrSk,4230
254
254
  sage/structure/parent.pyx,sha256=1xhTOHMo_pVq7-LJ0LbM_lppyF0HMoEjEla99Yu4T5I,120215
255
- sage/structure/parent_base.cp313-win_amd64.pyd,sha256=bORz_WCyw0Ub6DbmV3tjHFTgZP0LiQdx1w1cexSRlxQ,35328
255
+ sage/structure/parent_base.cp313-win_amd64.pyd,sha256=m-ypCVg6jqaFew3K08zLTQiW1c6wooaLnFNub-zDoi0,34816
256
256
  sage/structure/parent_base.pxd,sha256=sQ4wTvOWWZUY8j_zLQjeFpZeXTCpJ6eNAFhL3BPU9tk,585
257
257
  sage/structure/parent_base.pyx,sha256=7Y6Yzx43IDux18_r33Ke_kYndZxYwAvBCW9s6g-YNTo,1764
258
- sage/structure/parent_gens.cp313-win_amd64.pyd,sha256=ETGzeZmMnfWm-BT6VmF43bfjfUcV8bKyrqNEbTq9kHk,79872
258
+ sage/structure/parent_gens.cp313-win_amd64.pyd,sha256=dUx8F_ICcZSZBmHOsF6A-GnKfEiHJGNBO90jHdjnbHI,78848
259
259
  sage/structure/parent_gens.pxd,sha256=mE16F-vEdWAUeE3atp6ZddvIAteQ6jagiYwnVGjHr3s,802
260
260
  sage/structure/parent_gens.pyx,sha256=uIOBoxy-5e8L2YRMEMzX36uPbOg4PCO97iIgcXAfCTQ,12910
261
- sage/structure/parent_old.cp313-win_amd64.pyd,sha256=zlgt41LaOXIT3nSftDb8vmIq4kRwWqesCNgYQxGZmK0,64512
261
+ sage/structure/parent_old.cp313-win_amd64.pyd,sha256=uJ3rGQEpKkPn0cVxA9Alqf0pDPPH4-mD1H8KbBwk-_U,64000
262
262
  sage/structure/parent_old.pxd,sha256=rzTYw76EYTgql4jxm5X8wvYQ3D8vmU-V8wVQsU3w4Cw,969
263
263
  sage/structure/parent_old.pyx,sha256=z-tLmDMh5F_gjUYm5pAshEFtldFZfPhXY49H4vzStZw,10485
264
- sage/structure/richcmp.cp313-win_amd64.pyd,sha256=cHgx9ZY5qjicnqLNu1OLUF2eYGZu7BFT3e6iOxc4UBA,75776
264
+ sage/structure/richcmp.cp313-win_amd64.pyd,sha256=QQClp6TvMuRHLXi7osgUO0jpl2Yw6EzfCjhyQyixuBM,75264
265
265
  sage/structure/richcmp.pxd,sha256=XI0UNlzfLFW23_8TopFeTl-B6jzDSqhWryKGwbsbTkY,6475
266
266
  sage/structure/richcmp.pyx,sha256=3q-PX3EvGzjpYz9uPcoRuHU5NiJt_ax32_-9v5QAgNY,17828
267
- sage/structure/sage_object.cp313-win_amd64.pyd,sha256=acxs6YJCH_3KRajljLzW87sI4OkjN2cyYbRRn1UV0so,134144
267
+ sage/structure/sage_object.cp313-win_amd64.pyd,sha256=ZB9GkFtbohNmKnQ1pgHKrYrB6UdFAWhIvWjoPH9H_Fw,130560
268
268
  sage/structure/sage_object.pxd,sha256=ucLms0iBHPbK0A-IJ-UDLVEbW66BH719SErTxz23po0,78
269
- sage/structure/sage_object.pyx,sha256=eLvXjVABCzuRoEG251tVeDS1Yc8vi_zG2PLMDzyWTdE,32244
269
+ sage/structure/sage_object.pyx,sha256=v-zZLileKVikJuuZNdYlGp5StPASFAAMgdh7s1mHrPY,32292
270
270
  sage/structure/sage_object_test.py,sha256=ZAhjc7q979clLhRqEWAneSQDWzxP7bXqtRyQwIXY81M,627
271
271
  sage/structure/sequence.py,sha256=MRvLtTYRik3rQvUYLANxgvafNXc9QteQRM1OwbcziPU,29457
272
272
  sage/structure/set_factories.py,sha256=TAsPdQ-dQon69PxUv-fiybWHAOOAfJmQZiBQpRyCbdI,41181
273
273
  sage/structure/set_factories_example.py,sha256=NjmC2WP-cCdojYsQhjuZaI9PPlaqMcLdO3FyNnc2aRE,17262
274
274
  sage/structure/support_view.py,sha256=qlclI5fZdRBtWwV0UC5o9KmPPCTdqDUY0_YAAWWnf_k,5381
275
275
  sage/structure/test_factory.py,sha256=HL9H4MZC73a6Ew13W4VppvmRpcuqiJFEuM5xw3SZqOk,1760
276
- sage/structure/unique_representation.py,sha256=cSFw-aXRY3jGTOvt3RRORXPVGkSNbcHgVjuBnKJC2AE,52738
276
+ sage/structure/unique_representation.py,sha256=cdLGUBHPZb4tK3uQ4zqnIH93--I0J6oQQc4wf0N5B5Y,52750
277
277
  sage/structure/__init__.py,sha256=6b4GFOtMiBf8yf6M9kUnAn7lrq3Mx7Bz-WxneBnD9Ak,435
278
278
  sage/structure/proof/all.py,sha256=oc3nbgOBRqlm6Azip-reTyYu9WejRD4EwD9gN8aBnbk,7339
279
279
  sage/structure/proof/proof.py,sha256=0awMTNTW8UkYw-So8sEswkOH3ZJ2NjwMbjTTmcZZodY,10401
Binary file
Binary file
Binary file
Binary file
Binary file
sage/cpython/atexit.pyx CHANGED
@@ -144,51 +144,97 @@ cdef class restore_atexit:
144
144
  _set_exithandlers(self._exithandlers)
145
145
 
146
146
  from cpython.ref cimport PyObject
147
+ import sys
147
148
 
148
- # Implement "_atexit_callbacks()" for each supported python version
149
+ # Implement a uniform interface for getting atexit callbacks
149
150
  cdef extern from *:
150
151
  """
152
+ #ifndef Py_BUILD_CORE
151
153
  #define Py_BUILD_CORE
154
+ #endif
152
155
  #undef _PyGC_FINALIZED
153
156
  #include "internal/pycore_interp.h"
154
157
  #include "internal/pycore_pystate.h"
155
- #if PY_VERSION_HEX >= 0x030c0000
156
- // struct atexit_callback was renamed in 3.12 to atexit_py_callback
157
- #define atexit_callback atexit_py_callback
158
- #endif
159
- static atexit_callback ** _atexit_callbacks(PyObject *self) {
158
+
159
+ // Always define this struct for Cython's use
160
+ typedef struct {
161
+ PyObject *func;
162
+ PyObject *args;
163
+ PyObject *kwargs;
164
+ } atexit_callback_struct;
165
+
166
+ #if PY_VERSION_HEX >= 0x030e0000
167
+ // Python 3.14+: atexit uses a PyList
168
+ static PyObject* get_atexit_callbacks_list(PyObject *self) {
160
169
  PyInterpreterState *interp = _PyInterpreterState_GET();
161
170
  struct atexit_state state = interp->atexit;
162
171
  return state.callbacks;
163
172
  }
173
+
174
+ // Dummy function for Python 3.14+ (never called)
175
+ static atexit_callback_struct** get_atexit_callbacks_array(PyObject *self) {
176
+ return NULL;
177
+ }
178
+ #else
179
+ // Python < 3.14: atexit uses C array
180
+ static atexit_callback_struct** get_atexit_callbacks_array(PyObject *self) {
181
+ PyInterpreterState *interp = _PyInterpreterState_GET();
182
+ struct atexit_state state = interp->atexit;
183
+ // Cast from atexit_callback** to our struct type
184
+ return (atexit_callback_struct**)state.callbacks;
185
+ }
186
+
187
+ // Dummy function for Python < 3.14 (never called)
188
+ static PyObject* get_atexit_callbacks_list(PyObject *self) {
189
+ return NULL;
190
+ }
191
+ #endif
164
192
  """
165
- ctypedef struct atexit_callback:
193
+ # Declare both functions - they exist in all Python versions (one is dummy)
194
+ PyObject* get_atexit_callbacks_list(object module)
195
+
196
+ ctypedef struct atexit_callback_struct:
166
197
  PyObject* func
167
198
  PyObject* args
168
199
  PyObject* kwargs
169
- atexit_callback** _atexit_callbacks(object module)
200
+ atexit_callback_struct** get_atexit_callbacks_array(object module)
170
201
 
171
202
 
172
203
  def _get_exithandlers():
173
204
  """Return list of exit handlers registered with the atexit module."""
174
- cdef atexit_callback ** callbacks
175
- cdef atexit_callback callback
176
- cdef list exithandlers
205
+ cdef list exithandlers = []
206
+ cdef atexit_callback_struct ** callbacks
207
+ cdef atexit_callback_struct callback
177
208
  cdef int idx
178
209
  cdef object kwargs
179
-
180
- exithandlers = []
181
- callbacks = _atexit_callbacks(atexit)
182
-
183
- for idx in range(atexit._ncallbacks()):
184
- callback = callbacks[idx][0]
185
- if callback.kwargs:
186
- kwargs = <object>callback.kwargs
187
- else:
188
- kwargs = {}
189
- exithandlers.append((<object>callback.func,
190
- <object>callback.args,
191
- kwargs))
210
+
211
+ # Python 3.14+ uses a PyList directly
212
+ if sys.version_info >= (3, 14):
213
+ callbacks_list = <object>get_atexit_callbacks_list(atexit)
214
+ if callbacks_list is None:
215
+ return exithandlers
216
+ # callbacks is a list of tuples: [(func, args, kwargs), ...]
217
+ # Normalize kwargs to ensure it's always a dict (not None)
218
+ # Note: In Python 3.14+, atexit stores callbacks in LIFO order
219
+ # (most recently registered first), but we return them in FIFO
220
+ # order (registration order) for consistency with earlier versions
221
+ for item in reversed(callbacks_list):
222
+ func, args, kwargs = item
223
+ if kwargs is None:
224
+ kwargs = {}
225
+ exithandlers.append((func, args, kwargs))
226
+ else:
227
+ # Python < 3.14 uses C array
228
+ callbacks = get_atexit_callbacks_array(atexit)
229
+ for idx in range(atexit._ncallbacks()):
230
+ callback = callbacks[idx][0]
231
+ if callback.kwargs:
232
+ kwargs = <object>callback.kwargs
233
+ else:
234
+ kwargs = {}
235
+ exithandlers.append((<object>callback.func,
236
+ <object>callback.args,
237
+ kwargs))
192
238
  return exithandlers
193
239
 
194
240
 
@@ -203,6 +249,9 @@ def _set_exithandlers(exithandlers):
203
249
 
204
250
  # We could do this more efficiently by directly rebuilding the array
205
251
  # of atexit_callbacks, but this is much simpler
252
+ # Note: exithandlers is in registration order (FIFO).
253
+ # In Python 3.14+, atexit.register prepends to the list (LIFO),
254
+ # so registering in forward order gives us the correct execution order.
206
255
  for callback in exithandlers:
207
256
  atexit.register(callback[0], *callback[1], **callback[2])
208
257
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
sage/misc/cachefunc.pyx CHANGED
@@ -379,7 +379,7 @@ in caches. This can be achieved by defining an appropriate method
379
379
  sage: hash(b)
380
380
  Traceback (most recent call last):
381
381
  ...
382
- TypeError: unhashable type: 'sage.rings.padics.qadic_flint_CR.qAdicCappedRelativeElement'
382
+ TypeError: ...unhashable type: 'sage.rings.padics.qadic_flint_CR.qAdicCappedRelativeElement'...
383
383
  sage: from sage.misc.cachefunc import cached_method
384
384
  sage: @cached_method
385
385
  ....: def f(x): return x == a
Binary file
Binary file
Binary file
Binary file
Binary file
sage/misc/lazy_list.pyx CHANGED
@@ -535,16 +535,15 @@ cdef class lazy_list_generic():
535
535
 
536
536
  EXAMPLES::
537
537
 
538
- sage: from itertools import count
539
538
  sage: from sage.misc.lazy_list import lazy_list
540
- sage: m = lazy_list(count())
539
+ sage: m = lazy_list(iter([0, 1, 4, 9, 16, 25, 36, 49, 64, 81]))
541
540
  sage: x = loads(dumps(m))
542
541
  sage: y = iter(x)
543
542
  sage: print("{} {} {}".format(next(y), next(y), next(y)))
544
- 0 1 2
543
+ 0 1 4
545
544
  sage: m2 = m[3::2]
546
545
  sage: loads(dumps(m2))
547
- lazy list [3, 5, 7, ...]
546
+ lazy list [9, 25, 49, ...]
548
547
  """
549
548
  if self.master is None:
550
549
  raise NotImplementedError
@@ -917,8 +916,9 @@ cdef class lazy_list_from_iterator(lazy_list_generic):
917
916
  [0, 1, 2]
918
917
  sage: [next(x), next(y)]
919
918
  [3, 3]
920
- sage: loads(dumps(m))
921
- lazy list [0, 1, 2, ...]
919
+ sage: m2 = lazy_list(iter([0, 1, 4, 9, 16]))
920
+ sage: loads(dumps(m2))
921
+ lazy list [0, 1, 4, ...]
922
922
  """
923
923
 
924
924
  def __init__(self, iterator, cache=None, stop=None):
@@ -987,10 +987,9 @@ cdef class lazy_list_from_iterator(lazy_list_generic):
987
987
  TESTS::
988
988
 
989
989
  sage: from sage.misc.lazy_list import lazy_list_from_iterator
990
- sage: from itertools import count
991
- sage: loads(dumps(lazy_list_from_iterator(count())))
992
- lazy list [0, 1, 2, ...]
993
- sage: loads(dumps(lazy_list_from_iterator(count(), ['a'])))
990
+ sage: loads(dumps(lazy_list_from_iterator(iter([0, 1, 4, 9, 16]))))
991
+ lazy list [0, 1, 4, ...]
992
+ sage: loads(dumps(lazy_list_from_iterator(iter([0, 1, 4, 9, 16]), ['a'])))
994
993
  lazy list ['a', 0, 1, ...]
995
994
  """
996
995
  return lazy_list_from_iterator, (self.iterator, self.cache, self.stop)
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -216,6 +216,14 @@ class TestSuite:
216
216
  ....: def _test_b(self, tester): tester.fail()
217
217
  ....: def _test_c(self, tester): pass
218
218
  ....: def _test_d(self, tester): tester.fail()
219
+ ....: def _test_pickling(self, tester):
220
+ ....: from _pickle import PicklingError
221
+ ....: from sage.misc.persist import dumps
222
+ ....: try:
223
+ ....: dumps(self)
224
+ ....: tester.fail("Expected PicklingError")
225
+ ....: except PicklingError:
226
+ ....: pass
219
227
 
220
228
  sage: TestSuite(Blah()).run()
221
229
  Failure in _test_b:
@@ -228,13 +236,7 @@ class TestSuite:
228
236
  ...
229
237
  AssertionError: None
230
238
  ------------------------------------------------------------
231
- Failure in _test_pickling:
232
- Traceback (most recent call last):
233
- ...
234
- ...PicklingError: Can't pickle <class '__main__.Blah'>: attribute
235
- lookup ...Blah... failed
236
- ------------------------------------------------------------
237
- The following tests failed: _test_b, _test_d, _test_pickling
239
+ The following tests failed: _test_b, _test_d
238
240
 
239
241
  sage: TestSuite(Blah()).run(verbose = True)
240
242
  running ._test_a() . . . pass
@@ -252,13 +254,8 @@ class TestSuite:
252
254
  ------------------------------------------------------------
253
255
  running ._test_new() . . . pass
254
256
  running ._test_not_implemented_methods() . . . pass
255
- running ._test_pickling() . . . fail
256
- Traceback (most recent call last):
257
- ...
258
- ...PicklingError: Can't pickle <class '__main__.Blah'>: attribute
259
- lookup ...Blah... failed
260
- ------------------------------------------------------------
261
- The following tests failed: _test_b, _test_d, _test_pickling
257
+ running ._test_pickling() . . . pass
258
+ The following tests failed: _test_b, _test_d
262
259
 
263
260
  File "/opt/sage/local/lib/python/site-packages/sage/misc/sage_unittest.py", line 183, in run
264
261
  test_method(tester = tester)
sage/misc/sageinspect.py CHANGED
@@ -460,8 +460,9 @@ class SageArgSpecVisitor(ast.NodeVisitor):
460
460
  sage: v = visitor.visit(ast.parse("{'a':('e',2,[None,({False:True},'pi')]), 37.0:'temp'}").body[0].value)
461
461
  sage: sorted(v.items(), key=lambda x: str(x[0]))
462
462
  [(37.0, 'temp'), ('a', ('e', 2, [None, ({False: True}, 'pi')]))]
463
- sage: v = ast.parse("jc = ['veni', 'vidi', 'vici']").body[0]; v
464
- <...ast.Assign object at ...>
463
+ sage: v = ast.parse("jc = ['veni', 'vidi', 'vici']").body[0]
464
+ sage: isinstance(v, ast.Assign)
465
+ True
465
466
  sage: attrs = [x for x in dir(v) if not x.startswith('__')]
466
467
  sage: '_attributes' in attrs and '_fields' in attrs and 'col_offset' in attrs
467
468
  True
@@ -492,31 +493,6 @@ class SageArgSpecVisitor(ast.NodeVisitor):
492
493
  """
493
494
  return node.id
494
495
 
495
- def visit_NameConstant(self, node):
496
- """
497
- Visit a Python AST :class:`ast.NameConstant` node.
498
-
499
- This is an optimization added in Python 3.4 for the special cases
500
- of True, False, and None.
501
-
502
- INPUT:
503
-
504
- - ``node`` -- the node instance to visit
505
-
506
- OUTPUT: ``None``, ``True``, ``False``
507
-
508
- EXAMPLES::
509
-
510
- sage: import ast, sage.misc.sageinspect as sms
511
- sage: visitor = sms.SageArgSpecVisitor()
512
- sage: vis = lambda x: visitor.visit_NameConstant(ast.parse(x).body[0].value)
513
- sage: [vis(n) for n in ['True', 'False', 'None']]
514
- [True, False, None]
515
- sage: [type(vis(n)) for n in ['True', 'False', 'None']]
516
- [<class 'bool'>, <class 'bool'>, <class 'NoneType'>]
517
- """
518
- return node.value
519
-
520
496
  def visit_arg(self, node):
521
497
  r"""
522
498
  Visit a Python AST :class:`ast.arg` node.
@@ -544,51 +520,6 @@ class SageArgSpecVisitor(ast.NodeVisitor):
544
520
  """
545
521
  return node.arg
546
522
 
547
- def visit_Num(self, node):
548
- """
549
- Visit a Python AST :class:`ast.Num` node.
550
-
551
- INPUT:
552
-
553
- - ``node`` -- the node instance to visit
554
-
555
- OUTPUT: the number the ``node`` represents
556
-
557
- EXAMPLES::
558
-
559
- sage: import ast, sage.misc.sageinspect as sms
560
- sage: visitor = sms.SageArgSpecVisitor()
561
- sage: vis = lambda x: visitor.visit_Num(ast.parse(x).body[0].value)
562
- sage: [vis(n) for n in ['123', '0.0']]
563
- [123, 0.0]
564
-
565
- .. NOTE::
566
-
567
- On Python 3 negative numbers are parsed first, for some reason, as
568
- a UnaryOp node.
569
- """
570
- return node.value
571
-
572
- def visit_Str(self, node):
573
- r"""
574
- Visit a Python AST :class:`ast.Str` node.
575
-
576
- INPUT:
577
-
578
- - ``node`` -- the node instance to visit
579
-
580
- OUTPUT: the string the ``node`` represents
581
-
582
- EXAMPLES::
583
-
584
- sage: import ast, sage.misc.sageinspect as sms
585
- sage: visitor = sms.SageArgSpecVisitor()
586
- sage: vis = lambda x: visitor.visit_Str(ast.parse(x).body[0].value)
587
- sage: [vis(s) for s in ['"abstract"', "'syntax'", r'''r"tr\ee"''']]
588
- ['abstract', 'syntax', 'tr\\ee']
589
- """
590
- return node.value
591
-
592
523
  def visit_List(self, node):
593
524
  """
594
525
  Visit a Python AST :class:`ast.List` node.
@@ -820,6 +751,28 @@ class SageArgSpecVisitor(ast.NodeVisitor):
820
751
  if op == 'USub':
821
752
  return -self.visit(node.operand)
822
753
 
754
+ def visit_Constant(self, node):
755
+ """
756
+ Visit a Python AST :class:`ast.Constant` node.
757
+
758
+ INPUT:
759
+
760
+ - ``node`` -- the node instance to visit
761
+
762
+ OUTPUT: the constant value the ``node`` represents
763
+
764
+ EXAMPLES::
765
+
766
+ sage: import ast, sage.misc.sageinspect as sms
767
+ sage: visitor = sms.SageArgSpecVisitor()
768
+ sage: vis = lambda x: visitor.visit_Constant(ast.parse(x).body[0].value)
769
+ sage: [vis(n) for n in ['123', '0', '3.14', '"hello"', 'True', 'False', 'None']]
770
+ [123, 0, 3.14, 'hello', True, False, None]
771
+ sage: [type(vis(n)) for n in ['123', '0', '3.14', '"hello"', 'True', 'False', 'None']]
772
+ [<class 'int'>, <class 'int'>, <class 'float'>, <class 'str'>, <class 'bool'>, <class 'bool'>, <class 'NoneType'>]
773
+ """
774
+ return node.value
775
+
823
776
 
824
777
  def _grep_first_pair_of_parentheses(s):
825
778
  r"""
Binary file
Binary file
sage/misc/weak_dict.pyx CHANGED
@@ -466,7 +466,7 @@ cdef class WeakValueDictionary(dict):
466
466
  sage: D.setdefault(matrix([]), ZZ) # needs sage.modules
467
467
  Traceback (most recent call last):
468
468
  ...
469
- TypeError: mutable matrices are unhashable
469
+ TypeError: ...mutable matrices are unhashable...
470
470
  """
471
471
  cdef PyObject* wr = PyDict_GetItemWithError(self, k)
472
472
  if wr != NULL:
@@ -540,7 +540,7 @@ cdef class WeakValueDictionary(dict):
540
540
  sage: D[matrix([])] = ZZ # needs sage.modules
541
541
  Traceback (most recent call last):
542
542
  ...
543
- TypeError: mutable matrices are unhashable
543
+ TypeError: ...mutable matrices are unhashable...
544
544
  """
545
545
  self._set_item(k, v)
546
546
 
@@ -586,7 +586,7 @@ cdef class WeakValueDictionary(dict):
586
586
  sage: D.pop(matrix([])) # needs sage.modules
587
587
  Traceback (most recent call last):
588
588
  ...
589
- TypeError: mutable matrices are unhashable
589
+ TypeError: ...mutable matrices are unhashable...
590
590
  """
591
591
  cdef PyObject* wr = PyDict_GetItemWithError(self, k)
592
592
  if wr == NULL:
@@ -663,7 +663,7 @@ cdef class WeakValueDictionary(dict):
663
663
  sage: D.get(matrix([])) # needs sage.modules
664
664
  Traceback (most recent call last):
665
665
  ...
666
- TypeError: mutable matrices are unhashable
666
+ TypeError: ...mutable matrices are unhashable...
667
667
  """
668
668
  cdef PyObject * wr = PyDict_GetItemWithError(self, k)
669
669
  if wr == NULL:
@@ -702,7 +702,7 @@ cdef class WeakValueDictionary(dict):
702
702
  sage: D[matrix([])] # needs sage.modules
703
703
  Traceback (most recent call last):
704
704
  ...
705
- TypeError: mutable matrices are unhashable
705
+ TypeError: ...mutable matrices are unhashable...
706
706
  """
707
707
  cdef PyObject* wr = PyDict_GetItemWithError(self, k)
708
708
  if wr == NULL:
@@ -745,7 +745,7 @@ cdef class WeakValueDictionary(dict):
745
745
  sage: matrix([]) in D # needs sage.modules
746
746
  Traceback (most recent call last):
747
747
  ...
748
- TypeError: mutable matrices are unhashable
748
+ TypeError: ...mutable matrices are unhashable...
749
749
  """
750
750
  cdef PyObject* wr = PyDict_GetItemWithError(self, k)
751
751
  return (wr != NULL) and (PyWeakref_GetObject(wr) != Py_None)
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -774,7 +774,7 @@ cdef class ClonableArray(ClonableElement):
774
774
  sage: c.index(5)
775
775
  Traceback (most recent call last):
776
776
  ...
777
- ValueError: 5 is not in list
777
+ ValueError: ...not in list
778
778
  """
779
779
  if start is None:
780
780
  return self._list.index(x)
Binary file
Binary file
@@ -410,7 +410,7 @@ cdef class SageObject:
410
410
  sage: hash(b)
411
411
  Traceback (most recent call last):
412
412
  ...
413
- TypeError: unhashable type: 'sage.rings.padics.qadic_flint_CR.qAdicCappedRelativeElement'
413
+ TypeError: ...unhashable type: 'sage.rings.padics.qadic_flint_CR.qAdicCappedRelativeElement'...
414
414
  sage: @cached_method
415
415
  ....: def f(x): return x==a
416
416
  sage: f(b)
@@ -665,11 +665,12 @@ cdef class SageObject:
665
665
  TESTS::
666
666
 
667
667
  sage: class Bla(SageObject): pass
668
- sage: Bla()._test_pickling()
669
- Traceback (most recent call last):
670
- ...
671
- PicklingError: Can't pickle <class '__main__.Bla'>: attribute
672
- lookup ... failed
668
+ sage: from _pickle import PicklingError
669
+ sage: try:
670
+ ....: Bla()._test_pickling()
671
+ ....: except PicklingError as e:
672
+ ....: print("PicklingError caught")
673
+ PicklingError caught
673
674
 
674
675
  TODO: for a stronger test, this could send the object to a
675
676
  remote Sage session, and get it back.
@@ -83,7 +83,7 @@ must be hashable, i.e., must be valid as dictionary keys::
83
83
  sage: C([1,2])
84
84
  Traceback (most recent call last):
85
85
  ...
86
- TypeError: unhashable type: 'list'
86
+ TypeError: ...unhashable type: 'list'...
87
87
 
88
88
  In addition, equivalent ways of providing the arguments are *not*
89
89
  automatically normalised when forming the cache key, and hence different but
@@ -733,7 +733,7 @@ class CachedRepresentation(WithPicklingByInitArgs):
733
733
  sage: MyClass(value = [1,2,3])
734
734
  Traceback (most recent call last):
735
735
  ...
736
- TypeError: unhashable type: 'list'
736
+ TypeError: ...unhashable type: 'list'...
737
737
 
738
738
  .. rubric:: Argument preprocessing
739
739
 
@@ -1,2 +0,0 @@
1
- Version: 1.11.2
2
- Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-tli5ot1d\\cp313-win_amd64\\build\\venv\\Scripts\\delvewheel', 'repair', '-vv', '--custom-patch', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-tli5ot1d\\cp313-win_amd64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-tli5ot1d\\cp313-win_amd64\\built_wheel\\passagemath_objects-10.6.31rc2-cp313-cp313-win_amd64.whl']