passagemath-environment 10.5.43__tar.gz → 10.6.1rc2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/PKG-INFO +8 -8
  2. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/README.rst +1 -1
  3. passagemath_environment-10.6.1rc2/VERSION.txt +1 -0
  4. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage +1 -1
  5. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-env +3 -0
  6. passagemath_environment-10.6.1rc2/bin/sage-version.sh +9 -0
  7. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/passagemath_environment.egg-info/PKG-INFO +8 -8
  8. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/passagemath_environment.egg-info/SOURCES.txt +1 -2
  9. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/passagemath_environment.egg-info/requires.txt +5 -4
  10. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/pyproject.toml +8 -7
  11. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/pyproject.toml.m4 +3 -1
  12. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/env.py +65 -29
  13. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/__init__.py +1 -1
  14. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/all.py +1 -1
  15. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/databases.py +76 -70
  16. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/fricas.py +33 -4
  17. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/giac.py +2 -2
  18. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/latex.py +1 -1
  19. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/latte.py +1 -1
  20. passagemath_environment-10.6.1rc2/sage/features/meson_editable.py +45 -0
  21. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/pkg_systems.py +1 -1
  22. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sagemath.py +1 -1
  23. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/misc/package_dir.py +46 -7
  24. passagemath_environment-10.6.1rc2/sage/version.py +6 -0
  25. passagemath_environment-10.5.43/VERSION.txt +0 -1
  26. passagemath_environment-10.5.43/bin/sage-cython +0 -39
  27. passagemath_environment-10.5.43/bin/sage-update-version +0 -172
  28. passagemath_environment-10.5.43/bin/sage-version.sh +0 -9
  29. passagemath_environment-10.5.43/sage/version.py +0 -6
  30. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/MANIFEST.in +0 -0
  31. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/math-readline +0 -0
  32. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-cachegrind +0 -0
  33. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-callgrind +0 -0
  34. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-cleaner +0 -0
  35. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-coverage +0 -0
  36. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-env-config.in +0 -0
  37. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-eval +0 -0
  38. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-fixdoctests +0 -0
  39. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-grep +0 -0
  40. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-grepdoc +0 -0
  41. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-inline-fortran +0 -0
  42. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-ipynb2rst +0 -0
  43. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-ipython +0 -0
  44. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-list-packages +0 -0
  45. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-massif +0 -0
  46. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-notebook +0 -0
  47. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-num-threads.py +0 -0
  48. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-omega +0 -0
  49. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-preparse +0 -0
  50. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-python +0 -0
  51. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-run +0 -0
  52. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-run-cython +0 -0
  53. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-runtests +0 -0
  54. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-src-env-config.in +0 -0
  55. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-startuptime.py +0 -0
  56. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-valgrind +0 -0
  57. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/bin/sage-venv-config +0 -0
  58. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/passagemath_environment.egg-info/dependency_links.txt +0 -0
  59. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/passagemath_environment.egg-info/top_level.txt +0 -0
  60. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/requirements-editable.txt.m4 +0 -0
  61. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/all__sagemath_environment.py +0 -0
  62. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/bliss.py +0 -0
  63. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/cddlib.py +0 -0
  64. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/coxeter3.py +0 -0
  65. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/csdp.py +0 -0
  66. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/cython.py +0 -0
  67. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/dot2tex.py +0 -0
  68. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/dvipng.py +0 -0
  69. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/eclib.py +0 -0
  70. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/ecm.py +0 -0
  71. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/ffmpeg.py +0 -0
  72. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/four_ti_2.py +0 -0
  73. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/frobby.py +0 -0
  74. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/gap.py +0 -0
  75. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/gfan.py +0 -0
  76. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/graph_generators.py +0 -0
  77. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/graphviz.py +0 -0
  78. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/igraph.py +0 -0
  79. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/imagemagick.py +0 -0
  80. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/info.py +0 -0
  81. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/interfaces.py +0 -0
  82. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/internet.py +0 -0
  83. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/jmol.py +0 -0
  84. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/join_feature.py +0 -0
  85. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/kenzo.py +0 -0
  86. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/lrs.py +0 -0
  87. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/macaulay2.py +0 -0
  88. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/mcqd.py +0 -0
  89. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/meataxe.py +0 -0
  90. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/mip_backends.py +0 -0
  91. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/msolve.py +0 -0
  92. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/nauty.py +0 -0
  93. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/normaliz.py +0 -0
  94. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/palp.py +0 -0
  95. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/pandoc.py +0 -0
  96. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/pari.py +0 -0
  97. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/pdf2svg.py +0 -0
  98. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/phitigra.py +0 -0
  99. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/polymake.py +0 -0
  100. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/poppler.py +0 -0
  101. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/qepcad.py +0 -0
  102. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/rubiks.py +0 -0
  103. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sat.py +0 -0
  104. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/singular.py +0 -0
  105. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sirocco.py +0 -0
  106. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sloane_database.py +0 -0
  107. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sphinx.py +0 -0
  108. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/standard.py +0 -0
  109. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/symengine_py.py +0 -0
  110. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/sympow.py +0 -0
  111. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/tachyon.py +0 -0
  112. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/tdlib.py +0 -0
  113. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/threejs.py +0 -0
  114. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/features/topcom.py +0 -0
  115. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/misc/all__sagemath_environment.py +0 -0
  116. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/misc/package.py +0 -0
  117. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/misc/temporary_file.py +0 -0
  118. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/sage/misc/viewer.py +0 -0
  119. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/setup.cfg +0 -0
  120. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/setup.py +0 -0
  121. {passagemath_environment-10.5.43 → passagemath_environment-10.6.1rc2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-environment
3
- Version: 10.5.43
3
+ Version: 10.6.1rc2
4
4
  Summary: passagemath: System and software environment
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -19,21 +19,21 @@ Classifier: Intended Audience :: Science/Research
19
19
  Classifier: Operating System :: POSIX
20
20
  Classifier: Operating System :: MacOS :: MacOS X
21
21
  Classifier: Programming Language :: Python :: 3 :: Only
22
- Classifier: Programming Language :: Python :: 3.9
23
22
  Classifier: Programming Language :: Python :: 3.10
24
23
  Classifier: Programming Language :: Python :: 3.11
25
24
  Classifier: Programming Language :: Python :: 3.12
26
25
  Classifier: Programming Language :: Python :: 3.13
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
27
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
- Requires-Python: <3.14,>=3.9
28
+ Requires-Python: <3.14,>=3.10
30
29
  Description-Content-Type: text/x-rst
30
+ Requires-Dist: platformdirs
31
31
  Provides-Extra: conf
32
- Requires-Dist: passagemath-conf~=10.5.43.0; extra == "conf"
32
+ Requires-Dist: passagemath-conf==10.6.1rc2; extra == "conf"
33
33
  Provides-Extra: docbuild
34
- Requires-Dist: passagemath-docbuild~=10.5.43.0; extra == "docbuild"
34
+ Requires-Dist: passagemath-docbuild==10.6.1rc2; extra == "docbuild"
35
35
  Provides-Extra: sage
36
- Requires-Dist: passagemath-standard~=10.5.43.0; extra == "sage"
36
+ Requires-Dist: passagemath-standard==10.6.1rc2; extra == "sage"
37
37
  Provides-Extra: cython
38
38
  Requires-Dist: cython!=3.0.3,<4.0,>=3.0; extra == "cython"
39
39
  Requires-Dist: cython<3.1.0,>=3.0.8; extra == "cython"
@@ -44,7 +44,7 @@ Requires-Dist: rst2ipynb>=0.2.2; extra == "rst2ipynb"
44
44
  Provides-Extra: tox
45
45
  Requires-Dist: tox>=4.11; extra == "tox"
46
46
  Provides-Extra: sws2rst
47
- Requires-Dist: passagemath-sws2rst~=10.5.43.0; extra == "sws2rst"
47
+ Requires-Dist: passagemath-sws2rst==10.6.1rc2; extra == "sws2rst"
48
48
 
49
49
  =========================================================================
50
50
  passagemath: System and software environment
@@ -87,7 +87,7 @@ passagemath attempts to support all major Linux distributions and recent version
87
87
  macOS. Use on Windows currently requires the use of Windows Subsystem for Linux or
88
88
  virtualization.
89
89
 
90
- Complete sets of binary wheels are provided on PyPI for Python versions 3.9.x-3.12.x.
90
+ Complete sets of binary wheels are provided on PyPI for Python versions 3.10.x-3.13.x.
91
91
  Python 3.13.x is also supported, but some third-party packages are still missing wheels,
92
92
  so compilation from source is triggered for those.
93
93
 
@@ -39,7 +39,7 @@ passagemath attempts to support all major Linux distributions and recent version
39
39
  macOS. Use on Windows currently requires the use of Windows Subsystem for Linux or
40
40
  virtualization.
41
41
 
42
- Complete sets of binary wheels are provided on PyPI for Python versions 3.9.x-3.12.x.
42
+ Complete sets of binary wheels are provided on PyPI for Python versions 3.10.x-3.13.x.
43
43
  Python 3.13.x is also supported, but some third-party packages are still missing wheels,
44
44
  so compilation from source is triggered for those.
45
45
 
@@ -0,0 +1 @@
1
+ 10.6.1.rc2
@@ -433,7 +433,7 @@ usage_advanced() {
433
433
  echo " --failed -- only test files that failed last test"
434
434
  echo " --warn-long [timeout] -- warn if tests take too much CPU time"
435
435
  echo " --only-errors -- only output failures, not successes"
436
- echo " --gc=GC -- control garbarge collection (ALWAYS:"
436
+ echo " --gc=GC -- control garbage collection (ALWAYS:"
437
437
  echo " collect garbage before every test; NEVER:"
438
438
  echo " disable gc; DEFAULT: Python default)"
439
439
  echo " --short[=secs] -- run as many doctests as possible in about 300"
@@ -260,6 +260,9 @@ fi
260
260
  if [ -n "$SAGE_WHEELS_PATH" ]; then
261
261
  export PATH="$SAGE_WHEELS_PATH:$PATH"
262
262
  fi
263
+ if [ -d "$SAGE_ROOT"/tools ]; then
264
+ export PATH="$SAGE_ROOT/tools:$PATH"
265
+ fi
263
266
  if [ -d "$SAGE_ROOT" ]; then
264
267
  export PATH="$SAGE_ROOT/build/bin:$PATH"
265
268
  fi
@@ -0,0 +1,9 @@
1
+ # Sage version information for shell scripts.
2
+ #
3
+ # #31049: The following line is valid shell code but not valid Python code,
4
+ # which stops "setup.py develop" from rewriting it as a Python file.
5
+ :
6
+ # This file is auto-generated by the update-version script, do not edit!
7
+ SAGE_VERSION='10.6.1.rc2'
8
+ SAGE_RELEASE_DATE='2025-06-24'
9
+ SAGE_VERSION_BANNER='passagemath version 10.6.1.rc2, Release Date: 2025-06-24'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-environment
3
- Version: 10.5.43
3
+ Version: 10.6.1rc2
4
4
  Summary: passagemath: System and software environment
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -19,21 +19,21 @@ Classifier: Intended Audience :: Science/Research
19
19
  Classifier: Operating System :: POSIX
20
20
  Classifier: Operating System :: MacOS :: MacOS X
21
21
  Classifier: Programming Language :: Python :: 3 :: Only
22
- Classifier: Programming Language :: Python :: 3.9
23
22
  Classifier: Programming Language :: Python :: 3.10
24
23
  Classifier: Programming Language :: Python :: 3.11
25
24
  Classifier: Programming Language :: Python :: 3.12
26
25
  Classifier: Programming Language :: Python :: 3.13
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
27
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
- Requires-Python: <3.14,>=3.9
28
+ Requires-Python: <3.14,>=3.10
30
29
  Description-Content-Type: text/x-rst
30
+ Requires-Dist: platformdirs
31
31
  Provides-Extra: conf
32
- Requires-Dist: passagemath-conf~=10.5.43.0; extra == "conf"
32
+ Requires-Dist: passagemath-conf==10.6.1rc2; extra == "conf"
33
33
  Provides-Extra: docbuild
34
- Requires-Dist: passagemath-docbuild~=10.5.43.0; extra == "docbuild"
34
+ Requires-Dist: passagemath-docbuild==10.6.1rc2; extra == "docbuild"
35
35
  Provides-Extra: sage
36
- Requires-Dist: passagemath-standard~=10.5.43.0; extra == "sage"
36
+ Requires-Dist: passagemath-standard==10.6.1rc2; extra == "sage"
37
37
  Provides-Extra: cython
38
38
  Requires-Dist: cython!=3.0.3,<4.0,>=3.0; extra == "cython"
39
39
  Requires-Dist: cython<3.1.0,>=3.0.8; extra == "cython"
@@ -44,7 +44,7 @@ Requires-Dist: rst2ipynb>=0.2.2; extra == "rst2ipynb"
44
44
  Provides-Extra: tox
45
45
  Requires-Dist: tox>=4.11; extra == "tox"
46
46
  Provides-Extra: sws2rst
47
- Requires-Dist: passagemath-sws2rst~=10.5.43.0; extra == "sws2rst"
47
+ Requires-Dist: passagemath-sws2rst==10.6.1rc2; extra == "sws2rst"
48
48
 
49
49
  =========================================================================
50
50
  passagemath: System and software environment
@@ -87,7 +87,7 @@ passagemath attempts to support all major Linux distributions and recent version
87
87
  macOS. Use on Windows currently requires the use of Windows Subsystem for Linux or
88
88
  virtualization.
89
89
 
90
- Complete sets of binary wheels are provided on PyPI for Python versions 3.9.x-3.12.x.
90
+ Complete sets of binary wheels are provided on PyPI for Python versions 3.10.x-3.13.x.
91
91
  Python 3.13.x is also supported, but some third-party packages are still missing wheels,
92
92
  so compilation from source is triggered for those.
93
93
 
@@ -12,7 +12,6 @@ bin/sage-cachegrind
12
12
  bin/sage-callgrind
13
13
  bin/sage-cleaner
14
14
  bin/sage-coverage
15
- bin/sage-cython
16
15
  bin/sage-env
17
16
  bin/sage-env-config.in
18
17
  bin/sage-eval
@@ -34,7 +33,6 @@ bin/sage-run-cython
34
33
  bin/sage-runtests
35
34
  bin/sage-src-env-config.in
36
35
  bin/sage-startuptime.py
37
- bin/sage-update-version
38
36
  bin/sage-valgrind
39
37
  bin/sage-venv-config
40
38
  bin/sage-version.sh
@@ -81,6 +79,7 @@ sage/features/lrs.py
81
79
  sage/features/macaulay2.py
82
80
  sage/features/mcqd.py
83
81
  sage/features/meataxe.py
82
+ sage/features/meson_editable.py
84
83
  sage/features/mip_backends.py
85
84
  sage/features/msolve.py
86
85
  sage/features/nauty.py
@@ -1,13 +1,14 @@
1
+ platformdirs
1
2
 
2
3
  [conf]
3
- passagemath-conf~=10.5.43.0
4
+ passagemath-conf==10.6.1rc2
4
5
 
5
6
  [cython]
6
7
  cython!=3.0.3,<4.0,>=3.0
7
8
  cython<3.1.0,>=3.0.8
8
9
 
9
10
  [docbuild]
10
- passagemath-docbuild~=10.5.43.0
11
+ passagemath-docbuild==10.6.1rc2
11
12
 
12
13
  [pytest]
13
14
  pytest
@@ -16,10 +17,10 @@ pytest
16
17
  rst2ipynb>=0.2.2
17
18
 
18
19
  [sage]
19
- passagemath-standard~=10.5.43.0
20
+ passagemath-standard==10.6.1rc2
20
21
 
21
22
  [sws2rst]
22
- passagemath-sws2rst~=10.5.43.0
23
+ passagemath-sws2rst==10.6.1rc2
23
24
 
24
25
  [tox]
25
26
  tox>=4.11
@@ -10,7 +10,9 @@ build-backend = "setuptools.build_meta"
10
10
  [project]
11
11
  name = "passagemath-environment"
12
12
  description = "passagemath: System and software environment"
13
- dependencies = []
13
+ dependencies = [
14
+ 'platformdirs',
15
+ ]
14
16
  dynamic = ["version"]
15
17
  license = "GPL-2.0-or-later"
16
18
  authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}]
@@ -25,7 +27,6 @@ classifiers = [
25
27
  "Operating System :: POSIX",
26
28
  "Operating System :: MacOS :: MacOS X",
27
29
  "Programming Language :: Python :: 3 :: Only",
28
- "Programming Language :: Python :: 3.9",
29
30
  "Programming Language :: Python :: 3.10",
30
31
  "Programming Language :: Python :: 3.11",
31
32
  "Programming Language :: Python :: 3.12",
@@ -33,7 +34,7 @@ classifiers = [
33
34
  "Programming Language :: Python :: Implementation :: CPython",
34
35
  "Topic :: Scientific/Engineering :: Mathematics",
35
36
  ]
36
- requires-python = ">=3.9, <3.14"
37
+ requires-python = ">=3.10, <3.14"
37
38
 
38
39
  [project.urls]
39
40
  "release notes" = "https://github.com/passagemath/passagemath/releases"
@@ -46,14 +47,14 @@ documentation = "https://doc.sagemath.org"
46
47
  "tracker" = "https://github.com/passagemath/passagemath/issues"
47
48
 
48
49
  [project.optional-dependencies]
49
- conf = ['passagemath-conf ~= 10.5.43.0',] # sage.env can optionally use sage_conf
50
- docbuild = ['passagemath-docbuild ~= 10.5.43.0',] # For "sage --docbuild"
51
- sage = ['passagemath-standard ~= 10.5.43.0',] # For "sage", "sage -t", ...
50
+ conf = ['passagemath-conf == 10.6.1rc2',] # sage.env can optionally use sage_conf
51
+ docbuild = ['passagemath-docbuild == 10.6.1rc2',] # For "sage --docbuild"
52
+ sage = ['passagemath-standard == 10.6.1rc2',] # For "sage", "sage -t", ...
52
53
  cython = ['cython >=3.0, != 3.0.3, <4.0', 'cython >=3.0.8,<3.1.0',] # For "sage --cython"
53
54
  pytest = ['pytest',] # For "sage --pytest"
54
55
  rst2ipynb = ['rst2ipynb >=0.2.2',] # For "sage --rst2ipynb"
55
56
  tox = ['tox >= 4.11',] # For "sage --tox"
56
- sws2rst = ['passagemath-sws2rst ~= 10.5.43.0',] # For "sage --sws2rst"
57
+ sws2rst = ['passagemath-sws2rst == 10.6.1rc2',] # For "sage --sws2rst"
57
58
 
58
59
  [project.readme]
59
60
  file = "README.rst"
@@ -10,7 +10,9 @@ build-backend = "setuptools.build_meta"
10
10
  [project]
11
11
  name = "passagemath-environment"
12
12
  description = "passagemath: System and software environment"
13
- dependencies = []
13
+ dependencies = [
14
+ SPKG_INSTALL_REQUIRES_platformdirs
15
+ ]
14
16
  dynamic = ["version"]
15
17
  include(`pyproject_toml_metadata.m4')dnl'
16
18
 
@@ -39,23 +39,22 @@ AUTHORS:
39
39
  # https://www.gnu.org/licenses/
40
40
  # ****************************************************************************
41
41
 
42
- from typing import Optional
43
- import sage
44
- import platform
45
42
  import os
46
43
  import socket
44
+ import subprocess
47
45
  import sys
48
46
  import sysconfig
49
- from . import version
50
- from pathlib import Path
51
- import subprocess
47
+ from typing import Optional
52
48
 
49
+ from platformdirs import site_data_dir, user_data_dir
50
+
51
+ from sage import version
53
52
 
54
53
  # All variables set by var() appear in this SAGE_ENV dict
55
54
  SAGE_ENV = dict()
56
55
 
57
56
 
58
- def join(*args):
57
+ def join(*args) -> str | None:
59
58
  """
60
59
  Join paths like ``os.path.join`` except that the result is ``None``
61
60
  if any of the components is ``None``.
@@ -193,7 +192,7 @@ SAGE_LOCAL_SPKG_INST = var("SAGE_LOCAL_SPKG_INST", join(SAGE_LOCAL, "var", "lib"
193
192
  SAGE_SPKG_INST = var("SAGE_SPKG_INST", join(SAGE_LOCAL, "var", "lib", "sage", "installed")) # deprecated
194
193
 
195
194
  # source tree of the Sage distribution
196
- SAGE_ROOT = var("SAGE_ROOT") # no fallback for SAGE_ROOT
195
+ SAGE_ROOT = var("SAGE_ROOT") or None
197
196
  SAGE_SRC = var("SAGE_SRC", join(SAGE_ROOT, "src"), SAGE_LIB)
198
197
  SAGE_DOC_SRC = var("SAGE_DOC_SRC", join(SAGE_ROOT, "src", "doc"), SAGE_DOC)
199
198
  SAGE_PKGS = var("SAGE_PKGS", join(SAGE_ROOT, "build", "pkgs"))
@@ -205,30 +204,20 @@ SAGE_DOC_SERVER_URL = var("SAGE_DOC_SERVER_URL")
205
204
  SAGE_DOC_LOCAL_PORT = var("SAGE_DOC_LOCAL_PORT", "0")
206
205
 
207
206
  # ~/.sage
208
- DOT_SAGE = var("DOT_SAGE", join(os.environ.get("HOME"), ".sage"))
207
+ if sys.platform == 'win32':
208
+ home_dir = os.environ.get("USERPROFILE")
209
+ else: # Unix-like systems (Linux, macOS, etc.)
210
+ home_dir = os.environ.get("HOME")
211
+ DOT_SAGE = var("DOT_SAGE", join(home_dir, ".sage"))
209
212
  SAGE_STARTUP_FILE = var("SAGE_STARTUP_FILE", join(DOT_SAGE, "init.sage"))
210
213
 
211
214
  # for sage_setup.setenv
212
215
  SAGE_ARCHFLAGS = var("SAGE_ARCHFLAGS", "unset")
213
216
  SAGE_PKG_CONFIG_PATH = var("SAGE_PKG_CONFIG_PATH")
214
217
 
215
- try:
216
- import sage_wheels
217
- except ImportError:
218
- _sage_wheels_path = []
219
- else:
220
- _sage_wheels_path = sage_wheels.__path__
221
-
222
- # colon-separated search path for databases.
223
- SAGE_DATA_PATH = var("SAGE_DATA_PATH",
224
- os.pathsep.join(filter(None, [
225
- join(DOT_SAGE, "db"),
226
- ] + [
227
- join(p, "share") for p in _sage_wheels_path
228
- ] + [
229
- join(SAGE_SHARE, "sagemath"),
230
- SAGE_SHARE,
231
- ])))
218
+ # colon-separated search path for databases
219
+ # should not be used directly; instead use sage_data_paths
220
+ SAGE_DATA_PATH = var("SAGE_DATA_PATH")
232
221
 
233
222
  # database directories, the default is to search in SAGE_DATA_PATH
234
223
  CREMONA_LARGE_DATA_DIR = var("CREMONA_LARGE_DATA_DIR")
@@ -373,6 +362,10 @@ def sage_include_directories(use_sources=False):
373
362
  sage: dirs = sage.env.sage_include_directories(use_sources=True)
374
363
  sage: any(os.path.isfile(os.path.join(d, file)) for d in dirs)
375
364
  True
365
+
366
+ ::
367
+
368
+ sage: # optional - !meson_editable (no need, see :issue:`39275`)
376
369
  sage: dirs = sage.env.sage_include_directories(use_sources=False)
377
370
  sage: any(os.path.isfile(os.path.join(d, file)) for d in dirs)
378
371
  True
@@ -462,9 +455,10 @@ def cython_aliases(required_modules=None, optional_modules=None):
462
455
  ....: ''')
463
456
  435
464
457
  """
465
- import pkgconfig
466
458
  import itertools
467
459
 
460
+ import pkgconfig
461
+
468
462
  if required_modules is None:
469
463
  required_modules = default_required_modules
470
464
 
@@ -524,10 +518,11 @@ def cython_aliases(required_modules=None, optional_modules=None):
524
518
  aliases[var + "LIBRARIES"] = pc['libraries']
525
519
 
526
520
  # uname-specific flags
527
- UNAME = os.uname()
521
+ import platform
522
+ system = platform.system()
528
523
 
529
524
  def uname_specific(name, value, alternative):
530
- if name in UNAME[0]:
525
+ if system == name:
531
526
  return value
532
527
  else:
533
528
  return alternative
@@ -535,6 +530,8 @@ def cython_aliases(required_modules=None, optional_modules=None):
535
530
  aliases["LINUX_NOEXECSTACK"] = uname_specific("Linux", ["-Wl,-z,noexecstack"],
536
531
  [])
537
532
 
533
+ aliases["M_LIBRARIES"] = uname_specific("Windows", [], ["m"])
534
+
538
535
  # LinBox needs special care because it actually requires C++11 with
539
536
  # GNU extensions: -std=c++11 does not work, you need -std=gnu++11
540
537
  # (this is true at least with GCC 7.2.0).
@@ -563,3 +560,42 @@ def cython_aliases(required_modules=None, optional_modules=None):
563
560
  aliases["OPENMP_CXXFLAGS"] = OPENMP_CXXFLAGS.split()
564
561
 
565
562
  return aliases
563
+
564
+
565
+ def sage_data_paths(name: str | None) -> set[str]:
566
+ r"""
567
+ Search paths for general data files.
568
+
569
+ If specified, the subdirectory ``name`` is appended to the
570
+ directories. Otherwise, the directories are returned as is.
571
+
572
+ EXAMPLES::
573
+
574
+ sage: from sage.env import sage_data_paths
575
+ sage: sage_data_paths("cremona")
576
+ {'.../cremona'}
577
+ """
578
+ if not SAGE_DATA_PATH:
579
+ paths = {
580
+ join(DOT_SAGE, "db"),
581
+ join(SAGE_SHARE, "sagemath"),
582
+ SAGE_SHARE,
583
+ }
584
+ try:
585
+ import sage_wheels
586
+ except ImportError:
587
+ _sage_wheels_path = []
588
+ else:
589
+ _sage_wheels_path = sage_wheels.__path__
590
+ for p in _sage_wheels_path:
591
+ paths.add(join(p, "share"))
592
+ paths.add(user_data_dir("sagemath"))
593
+ paths.add(user_data_dir())
594
+ paths.add(site_data_dir("sagemath"))
595
+ paths.add(site_data_dir())
596
+ else:
597
+ paths = {path for path in SAGE_DATA_PATH.split(os.pathsep)}
598
+
599
+ if name is None:
600
+ return {path for path in paths if path}
601
+ return {os.path.join(path, name) for path in paths if path}
@@ -566,7 +566,7 @@ def package_systems():
566
566
  [Feature('homebrew'), Feature('sage_spkg'), Feature('pip')]
567
567
  """
568
568
  # The current implementation never returns more than one system.
569
- from subprocess import run, CalledProcessError, PIPE
569
+ from subprocess import run, CalledProcessError
570
570
  global _cache_package_systems
571
571
  if _cache_package_systems is None:
572
572
  from .pkg_systems import PackageSystem, SagePackageSystem, PipPackageSystem
@@ -117,7 +117,7 @@ def name_feature(name, toplevel=None):
117
117
  except AttributeError:
118
118
  return None
119
119
 
120
- from sage.misc.dev_tools import find_object_modules
120
+ from sage.misc.sageinspect import find_object_modules
121
121
 
122
122
  for module, names in find_object_modules(obj).items():
123
123
  if name in names and (feature := module_feature(module)):