passagemath-environment 10.4.58__tar.gz → 10.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {passagemath_environment-10.4.58/passagemath_environment.egg-info → passagemath_environment-10.5.2}/PKG-INFO +5 -5
- passagemath_environment-10.5.2/VERSION.txt +1 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage +1 -1
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-env +5 -2
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-fixdoctests +13 -11
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-version.sh +3 -3
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2/passagemath_environment.egg-info}/PKG-INFO +5 -5
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/passagemath_environment.egg-info/SOURCES.txt +5 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/passagemath_environment.egg-info/requires.txt +4 -4
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/pyproject.toml +4 -4
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/env.py +14 -4
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/cddlib.py +1 -1
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/databases.py +13 -4
- passagemath_environment-10.5.2/sage/features/dot2tex.py +42 -0
- passagemath_environment-10.5.2/sage/features/eclib.py +46 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/ecm.py +9 -5
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/fricas.py +11 -5
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/frobby.py +9 -5
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/gfan.py +10 -5
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/giac.py +9 -4
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/graph_generators.py +3 -3
- passagemath_environment-10.5.2/sage/features/info.py +30 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/macaulay2.py +8 -4
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/mip_backends.py +21 -1
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/msolve.py +7 -3
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/qepcad.py +7 -3
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/rubiks.py +4 -3
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/sagemath.py +6 -6
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/sat.py +3 -3
- passagemath_environment-10.5.2/sage/features/sloane_database.py +59 -0
- passagemath_environment-10.5.2/sage/features/sympow.py +48 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/misc/viewer.py +2 -1
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/version.py +3 -3
- passagemath_environment-10.4.58/VERSION.txt +0 -1
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/MANIFEST.in +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/README.rst +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/math-readline +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-cachegrind +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-callgrind +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-cleaner +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-coverage +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-cython +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-env-config.in +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-eval +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-grep +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-grepdoc +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-inline-fortran +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-ipynb2rst +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-ipython +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-list-packages +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-massif +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-notebook +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-num-threads.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-omega +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-preparse +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-python +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-run +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-run-cython +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-runtests +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-src-env-config.in +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-startuptime.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-update-version +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-valgrind +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/bin/sage-venv-config +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/passagemath_environment.egg-info/dependency_links.txt +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/passagemath_environment.egg-info/top_level.txt +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/pyproject.toml.m4 +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/requirements-editable.txt.m4 +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/requirements.txt.m4 +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/all__sagemath_environment.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/__init__.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/all.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/bliss.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/coxeter3.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/csdp.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/cython.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/dvipng.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/ffmpeg.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/four_ti_2.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/gap.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/graphviz.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/igraph.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/imagemagick.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/interfaces.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/internet.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/jmol.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/join_feature.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/kenzo.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/latex.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/latte.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/lrs.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/mcqd.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/meataxe.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/nauty.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/normaliz.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/palp.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/pandoc.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/pdf2svg.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/phitigra.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/pkg_systems.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/polymake.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/poppler.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/singular.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/sirocco.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/sphinx.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/standard.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/symengine_py.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/tdlib.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/threejs.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/topcom.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/misc/all__sagemath_environment.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/misc/package.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/misc/package_dir.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/misc/temporary_file.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/setup.cfg +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/setup.py +0 -0
- {passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: passagemath-environment
|
3
|
-
Version: 10.
|
3
|
+
Version: 10.5.2
|
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
|
@@ -29,11 +29,11 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
29
29
|
Requires-Python: <3.13,>=3.9
|
30
30
|
Description-Content-Type: text/x-rst
|
31
31
|
Provides-Extra: conf
|
32
|
-
Requires-Dist: passagemath-conf~=10.
|
32
|
+
Requires-Dist: passagemath-conf~=10.5.2.0; extra == "conf"
|
33
33
|
Provides-Extra: docbuild
|
34
|
-
Requires-Dist: passagemath-docbuild~=10.
|
34
|
+
Requires-Dist: passagemath-docbuild~=10.5.2.0; extra == "docbuild"
|
35
35
|
Provides-Extra: sage
|
36
|
-
Requires-Dist: passagemath-standard~=10.
|
36
|
+
Requires-Dist: passagemath-standard~=10.5.2.0; 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.
|
47
|
+
Requires-Dist: passagemath-sws2rst~=10.5.2.0; extra == "sws2rst"
|
48
48
|
|
49
49
|
=========================================================================
|
50
50
|
passagemath: System and software environment
|
@@ -0,0 +1 @@
|
|
1
|
+
10.5.2
|
@@ -173,7 +173,7 @@ if [ -x "${SELF}-venv-config" ]; then
|
|
173
173
|
if [ -z "$SAGE_VENV" ]; then
|
174
174
|
export SAGE_VENV=$("${SELF}-venv-config" SAGE_VENV)
|
175
175
|
fi
|
176
|
-
SAGE_WHEELS_PATH=$("${SELF}-venv-config" SAGE_WHEELS_PATH)
|
176
|
+
SAGE_WHEELS_PATH=$("${SELF}-venv-config" SAGE_WHEELS_PATH 2>/dev/null)
|
177
177
|
fi
|
178
178
|
if [ -f "${SELF}-env-config" ]; then
|
179
179
|
# As of Issue #22731, sage-env-config is optional.
|
@@ -386,12 +386,15 @@ if [ -n "$SAGE_LOCAL" ]; then
|
|
386
386
|
# "Toolchains/XcodeDefault.xctoolchain/usr/bin/". (See #37237.)
|
387
387
|
if [ -z "$LD" ]; then
|
388
388
|
# Running xcode-select on a system with no toolchain writes an
|
389
|
-
# error message to stderr, so redirect stderr to /dev/null.
|
389
|
+
# error message to stderr, so redirect stderr to /dev/null.
|
390
390
|
XCODE_PATH=$(/usr/bin/xcode-select -p 2> /dev/null)
|
391
391
|
if [ -n $XCODE_PATH ]; then
|
392
392
|
if [ -x "$XCODE_PATH/usr/bin/ld-classic" -o \
|
393
393
|
-x "$XCODE_PATH/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld-classic" ]; then
|
394
|
-
|
394
|
+
# Add -ld_classic only if -ld_classic is not deprecated.
|
395
|
+
if [ -z "$(ld -ld_classic 2>&1 | grep 'ld_classic is deprecated')" ]; then
|
396
|
+
LDFLAGS="$LDFLAGS -Wl,-ld_classic"
|
397
|
+
fi
|
395
398
|
fi
|
396
399
|
else
|
397
400
|
# On a macOS system with no toolchain we don't want this script
|
@@ -56,6 +56,8 @@ parser.add_argument("--distribution", type=str, default=[], action='append',
|
|
56
56
|
help="distribution package to test, e.g., 'sagemath-graphs', 'sagemath-combinat[modules]'; sets defaults for --venv and --environment. This option can be repeated to test several distributions")
|
57
57
|
parser.add_argument("--fixed-point", default=False, action="store_true",
|
58
58
|
help="whether to repeat until stable")
|
59
|
+
parser.add_argument("--toxenv", type=str, default='sagepython-sagewheels-nopypi-norequirements',
|
60
|
+
help="tox environment name where 'sage -t' is to be run")
|
59
61
|
parser.add_argument("--venv", type=str, default='',
|
60
62
|
help="directory name of a venv where 'sage -t' is to be run")
|
61
63
|
parser.add_argument("--environment", type=str, default='',
|
@@ -95,10 +97,10 @@ def plain_distribution_and_extras(distribution):
|
|
95
97
|
m = re.fullmatch(r'([^[]*)(\[([^]]*)\])?', distribution)
|
96
98
|
return m.group(1), m.group(3)
|
97
99
|
|
98
|
-
def default_venv_environment_from_distribution(distribution):
|
100
|
+
def default_venv_environment_from_distribution(distribution, toxenv):
|
99
101
|
if distribution:
|
100
102
|
plain_distribution, extras = plain_distribution_and_extras(distribution)
|
101
|
-
tox_env_name = 'sagepython-sagewheels-nopypi-norequirements'
|
103
|
+
tox_env_name = toxenv or 'sagepython-sagewheels-nopypi-norequirements'
|
102
104
|
if extras:
|
103
105
|
tox_env_name += '-' + extras.replace(',', '-')
|
104
106
|
default_venv = os.path.join(SAGE_ROOT, 'pkgs', plain_distribution, '.tox', tox_env_name)
|
@@ -113,16 +115,16 @@ def default_venv_environment_from_distribution(distribution):
|
|
113
115
|
|
114
116
|
|
115
117
|
@cached_function
|
116
|
-
def venv_explainer(distribution, venv=None, environment=None):
|
118
|
+
def venv_explainer(distribution, venv=None, environment=None, toxenv=None):
|
117
119
|
venv_explainers = []
|
118
|
-
default_venv, default_environment = default_venv_environment_from_distribution(distribution)
|
120
|
+
default_venv, default_environment = default_venv_environment_from_distribution(distribution, toxenv)
|
119
121
|
if venv:
|
120
122
|
if m := re.search(f'pkgs/(sage[^/]*)/[.]tox/((sagepython|sagewheels|nopypi|norequirements)-*)*([^/]*)$',
|
121
123
|
venv):
|
122
124
|
distribution, extras = m.group(1), m.group(4)
|
123
125
|
if extras:
|
124
126
|
distribution += '[' + extras.replace('-', ',') + ']'
|
125
|
-
default_venv_given_distribution, default_environment_given_distribution = default_venv_environment_from_distribution(distribution)
|
127
|
+
default_venv_given_distribution, default_environment_given_distribution = default_venv_environment_from_distribution(distribution, toxenv)
|
126
128
|
|
127
129
|
if (Path(venv).resolve() == Path(default_venv_given_distribution).resolve()
|
128
130
|
or not environment or environment == default_environment_given_distribution):
|
@@ -557,11 +559,11 @@ def process_grouped_blocks(grouped_iterator, distribution=None, venv=None, envir
|
|
557
559
|
print(f"{count:6} {' '.join(sorted(tags)) or '(untagged)'}")
|
558
560
|
|
559
561
|
|
560
|
-
def fix_with_distribution(file_set, distribution=None, verbose=False):
|
562
|
+
def fix_with_distribution(file_set, distribution=None, toxenv=None, verbose=False):
|
561
563
|
if verbose:
|
562
564
|
print("#" * 78)
|
563
565
|
print(f"sage-fixdoctests: Fixing with --distribution={shlex.quote(distribution)}")
|
564
|
-
default_venv, default_environment = default_venv_environment_from_distribution(distribution)
|
566
|
+
default_venv, default_environment = default_venv_environment_from_distribution(distribution, toxenv)
|
565
567
|
venv = args.venv or default_venv
|
566
568
|
environment = args.environment or default_environment
|
567
569
|
file_set_to_process = sorted(file_set)
|
@@ -641,10 +643,10 @@ if __name__ == "__main__":
|
|
641
643
|
if args.no_test:
|
642
644
|
pass
|
643
645
|
elif len(args.distribution) == 1 and not args.fixed_point:
|
644
|
-
fix_with_distribution(set(unprocessed_files), args.distribution[0])
|
646
|
+
fix_with_distribution(set(unprocessed_files), args.distribution[0], toxenv=args.toxenv)
|
645
647
|
else:
|
646
648
|
for distribution, file_set in venv_files.items():
|
647
|
-
fix_with_distribution(file_set, distribution, verbose=True)
|
649
|
+
fix_with_distribution(file_set, distribution, verbose=True, toxenv=args.toxenv)
|
648
650
|
if args.fixed_point:
|
649
651
|
if args.probe:
|
650
652
|
print(f"sage-fixdoctests: Turning off --probe for the following iterations")
|
@@ -657,7 +659,7 @@ if __name__ == "__main__":
|
|
657
659
|
if not file_set:
|
658
660
|
break
|
659
661
|
while file_set:
|
660
|
-
fix_with_distribution(file_set, distribution, verbose=True)
|
662
|
+
fix_with_distribution(file_set, distribution, verbose=True, toxenv=args.toxenv)
|
661
663
|
# Immediately re-run with the same distribution to continue chains of
|
662
664
|
# "NameError" / "variable was set only in doctest" fixes
|
663
665
|
|
@@ -679,7 +681,7 @@ if __name__ == "__main__":
|
|
679
681
|
if distribution == '':
|
680
682
|
continue
|
681
683
|
plain_distribution, extras = plain_distribution_and_extras(distribution)
|
682
|
-
default_venv, _ = default_venv_environment_from_distribution(distribution)
|
684
|
+
default_venv, _ = default_venv_environment_from_distribution(distribution, args.toxenv)
|
683
685
|
venv = args.venv or default_venv
|
684
686
|
try:
|
685
687
|
stats_filename = os.path.join(default_venv, '.sage/timings2.json')
|
@@ -4,6 +4,6 @@
|
|
4
4
|
# which stops "setup.py develop" from rewriting it as a Python file.
|
5
5
|
:
|
6
6
|
# This file is auto-generated by the sage-update-version script, do not edit!
|
7
|
-
SAGE_VERSION='10.
|
8
|
-
SAGE_RELEASE_DATE='2024-
|
9
|
-
SAGE_VERSION_BANNER='passagemath version 10.
|
7
|
+
SAGE_VERSION='10.5.2'
|
8
|
+
SAGE_RELEASE_DATE='2024-12-07'
|
9
|
+
SAGE_VERSION_BANNER='passagemath version 10.5.2, Release Date: 2024-12-07'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: passagemath-environment
|
3
|
-
Version: 10.
|
3
|
+
Version: 10.5.2
|
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
|
@@ -29,11 +29,11 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
29
29
|
Requires-Python: <3.13,>=3.9
|
30
30
|
Description-Content-Type: text/x-rst
|
31
31
|
Provides-Extra: conf
|
32
|
-
Requires-Dist: passagemath-conf~=10.
|
32
|
+
Requires-Dist: passagemath-conf~=10.5.2.0; extra == "conf"
|
33
33
|
Provides-Extra: docbuild
|
34
|
-
Requires-Dist: passagemath-docbuild~=10.
|
34
|
+
Requires-Dist: passagemath-docbuild~=10.5.2.0; extra == "docbuild"
|
35
35
|
Provides-Extra: sage
|
36
|
-
Requires-Dist: passagemath-standard~=10.
|
36
|
+
Requires-Dist: passagemath-standard~=10.5.2.0; 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.
|
47
|
+
Requires-Dist: passagemath-sws2rst~=10.5.2.0; extra == "sws2rst"
|
48
48
|
|
49
49
|
=========================================================================
|
50
50
|
passagemath: System and software environment
|
@@ -55,7 +55,9 @@ sage/features/coxeter3.py
|
|
55
55
|
sage/features/csdp.py
|
56
56
|
sage/features/cython.py
|
57
57
|
sage/features/databases.py
|
58
|
+
sage/features/dot2tex.py
|
58
59
|
sage/features/dvipng.py
|
60
|
+
sage/features/eclib.py
|
59
61
|
sage/features/ecm.py
|
60
62
|
sage/features/ffmpeg.py
|
61
63
|
sage/features/four_ti_2.py
|
@@ -68,6 +70,7 @@ sage/features/graph_generators.py
|
|
68
70
|
sage/features/graphviz.py
|
69
71
|
sage/features/igraph.py
|
70
72
|
sage/features/imagemagick.py
|
73
|
+
sage/features/info.py
|
71
74
|
sage/features/interfaces.py
|
72
75
|
sage/features/internet.py
|
73
76
|
sage/features/jmol.py
|
@@ -96,9 +99,11 @@ sage/features/sagemath.py
|
|
96
99
|
sage/features/sat.py
|
97
100
|
sage/features/singular.py
|
98
101
|
sage/features/sirocco.py
|
102
|
+
sage/features/sloane_database.py
|
99
103
|
sage/features/sphinx.py
|
100
104
|
sage/features/standard.py
|
101
105
|
sage/features/symengine_py.py
|
106
|
+
sage/features/sympow.py
|
102
107
|
sage/features/tdlib.py
|
103
108
|
sage/features/threejs.py
|
104
109
|
sage/features/topcom.py
|
@@ -1,13 +1,13 @@
|
|
1
1
|
|
2
2
|
[conf]
|
3
|
-
passagemath-conf~=10.
|
3
|
+
passagemath-conf~=10.5.2.0
|
4
4
|
|
5
5
|
[cython]
|
6
6
|
cython!=3.0.3,<4.0,>=3.0
|
7
7
|
cython<3.1.0,>=3.0.8
|
8
8
|
|
9
9
|
[docbuild]
|
10
|
-
passagemath-docbuild~=10.
|
10
|
+
passagemath-docbuild~=10.5.2.0
|
11
11
|
|
12
12
|
[pytest]
|
13
13
|
pytest
|
@@ -16,10 +16,10 @@ pytest
|
|
16
16
|
rst2ipynb>=0.2.2
|
17
17
|
|
18
18
|
[sage]
|
19
|
-
passagemath-standard~=10.
|
19
|
+
passagemath-standard~=10.5.2.0
|
20
20
|
|
21
21
|
[sws2rst]
|
22
|
-
passagemath-sws2rst~=10.
|
22
|
+
passagemath-sws2rst~=10.5.2.0
|
23
23
|
|
24
24
|
[tox]
|
25
25
|
tox>=4.11
|
@@ -46,14 +46,14 @@ documentation = "https://doc.sagemath.org"
|
|
46
46
|
"tracker" = "https://github.com/passagemath/passagemath/issues"
|
47
47
|
|
48
48
|
[project.optional-dependencies]
|
49
|
-
conf = ['passagemath-conf ~= 10.
|
50
|
-
docbuild = ['passagemath-docbuild ~= 10.
|
51
|
-
sage = ['passagemath-standard ~= 10.
|
49
|
+
conf = ['passagemath-conf ~= 10.5.2.0',] # sage.env can optionally use sage_conf
|
50
|
+
docbuild = ['passagemath-docbuild ~= 10.5.2.0',] # For "sage --docbuild"
|
51
|
+
sage = ['passagemath-standard ~= 10.5.2.0',] # For "sage", "sage -t", ...
|
52
52
|
cython = ['cython >=3.0, != 3.0.3, <4.0', 'cython >=3.0.8,<3.1.0',] # For "sage --cython"
|
53
53
|
pytest = ['pytest',] # For "sage --pytest"
|
54
54
|
rst2ipynb = ['rst2ipynb >=0.2.2',] # For "sage --rst2ipynb"
|
55
55
|
tox = ['tox >= 4.11',] # For "sage --tox"
|
56
|
-
sws2rst = ['passagemath-sws2rst ~= 10.
|
56
|
+
sws2rst = ['passagemath-sws2rst ~= 10.5.2.0',] # For "sage --sws2rst"
|
57
57
|
|
58
58
|
[project.readme]
|
59
59
|
file = "README.rst"
|
@@ -36,6 +36,7 @@ AUTHORS:
|
|
36
36
|
|
37
37
|
from typing import Optional
|
38
38
|
import sage
|
39
|
+
import platform
|
39
40
|
import os
|
40
41
|
import socket
|
41
42
|
import sys
|
@@ -165,7 +166,6 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st
|
|
165
166
|
|
166
167
|
|
167
168
|
# system info
|
168
|
-
UNAME = var("UNAME", os.uname()[0])
|
169
169
|
HOSTNAME = var("HOSTNAME", socket.gethostname())
|
170
170
|
LOCAL_IDENTIFIER = var("LOCAL_IDENTIFIER", "{}.{}".format(HOSTNAME, os.getpid()))
|
171
171
|
|
@@ -207,12 +207,22 @@ SAGE_STARTUP_FILE = var("SAGE_STARTUP_FILE", join(DOT_SAGE, "init.sage"))
|
|
207
207
|
SAGE_ARCHFLAGS = var("SAGE_ARCHFLAGS", "unset")
|
208
208
|
SAGE_PKG_CONFIG_PATH = var("SAGE_PKG_CONFIG_PATH")
|
209
209
|
|
210
|
+
try:
|
211
|
+
import sage_wheels
|
212
|
+
except ImportError:
|
213
|
+
_sage_wheels_path = []
|
214
|
+
else:
|
215
|
+
_sage_wheels_path = sage_wheels.__path__
|
216
|
+
|
210
217
|
# colon-separated search path for databases.
|
211
218
|
SAGE_DATA_PATH = var("SAGE_DATA_PATH",
|
212
219
|
os.pathsep.join(filter(None, [
|
213
|
-
|
214
|
-
|
215
|
-
|
220
|
+
join(DOT_SAGE, "db"),
|
221
|
+
] + [
|
222
|
+
join(p, "share") for p in _sage_wheels_path
|
223
|
+
] + [
|
224
|
+
join(SAGE_SHARE, "sagemath"),
|
225
|
+
SAGE_SHARE,
|
216
226
|
])))
|
217
227
|
|
218
228
|
# database directories, the default is to search in SAGE_DATA_PATH
|
@@ -23,7 +23,7 @@ class CddExecutable(Executable):
|
|
23
23
|
EXAMPLES::
|
24
24
|
|
25
25
|
sage: from sage.features.cddlib import CddExecutable
|
26
|
-
sage: CddExecutable().is_present()
|
26
|
+
sage: CddExecutable().is_present() # needs cddexec_gmp
|
27
27
|
FeatureTestResult('cddexec_gmp', True)
|
28
28
|
"""
|
29
29
|
def __init__(self, name='cddexec_gmp'):
|
{passagemath_environment-10.4.58 → passagemath_environment-10.5.2}/sage/features/databases.py
RENAMED
@@ -69,7 +69,7 @@ class DatabaseCremona(StaticFile):
|
|
69
69
|
from sage.env import CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR
|
70
70
|
CREMONA_DATA_DIRS = set([CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR])
|
71
71
|
CREMONA_DATA_DIRS.discard(None)
|
72
|
-
search_path = CREMONA_DATA_DIRS
|
72
|
+
search_path = list(CREMONA_DATA_DIRS) + sage_data_path("cremona")
|
73
73
|
|
74
74
|
spkg = "database_cremona_ellcurve"
|
75
75
|
spkg_type = "optional"
|
@@ -106,7 +106,10 @@ class DatabaseEllcurves(StaticFile):
|
|
106
106
|
True
|
107
107
|
"""
|
108
108
|
from sage.env import ELLCURVE_DATA_DIR
|
109
|
-
search_path =
|
109
|
+
search_path = []
|
110
|
+
if ELLCURVE_DATA_DIR is not None:
|
111
|
+
search_path.append(ELLCURVE_DATA_DIR)
|
112
|
+
search_path.extend(sage_data_path("ellcurves"))
|
110
113
|
|
111
114
|
StaticFile.__init__(self, "database_ellcurves",
|
112
115
|
filename='rank0',
|
@@ -136,7 +139,10 @@ class DatabaseGraphs(StaticFile):
|
|
136
139
|
True
|
137
140
|
"""
|
138
141
|
from sage.env import GRAPHS_DATA_DIR
|
139
|
-
search_path =
|
142
|
+
search_path = []
|
143
|
+
if GRAPHS_DATA_DIR is not None:
|
144
|
+
search_path.append(GRAPHS_DATA_DIR)
|
145
|
+
search_path.extend(sage_data_path("graphs"))
|
140
146
|
|
141
147
|
StaticFile.__init__(self, "database_graphs",
|
142
148
|
filename='graphs.db',
|
@@ -277,7 +283,10 @@ class DatabaseReflexivePolytopes(StaticFile):
|
|
277
283
|
'Hodge4d'
|
278
284
|
"""
|
279
285
|
from sage.env import POLYTOPE_DATA_DIR
|
280
|
-
search_path =
|
286
|
+
search_path = []
|
287
|
+
if POLYTOPE_DATA_DIR is not None:
|
288
|
+
search_path.append(POLYTOPE_DATA_DIR)
|
289
|
+
search_path.extend(sage_data_path("reflexive_polytopes"))
|
281
290
|
|
282
291
|
dirname = "Full3d"
|
283
292
|
if name == "polytopes_db_4d":
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-environment
|
2
|
+
r"""
|
3
|
+
Check for ``dot2tex``
|
4
|
+
"""
|
5
|
+
|
6
|
+
# *****************************************************************************
|
7
|
+
# Copyright (C) 2024 Kwankyu Lee
|
8
|
+
#
|
9
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
10
|
+
# as published by the Free Software Foundation; either version 2 of
|
11
|
+
# the License, or (at your option) any later version.
|
12
|
+
# https://www.gnu.org/licenses/
|
13
|
+
# *****************************************************************************
|
14
|
+
|
15
|
+
from . import PythonModule
|
16
|
+
|
17
|
+
|
18
|
+
class dot2tex(PythonModule):
|
19
|
+
r"""
|
20
|
+
A :class:`sage.features.Feature` describing the presence of :ref:`dot2tex <spkg_dot2tex>`.
|
21
|
+
|
22
|
+
dot2tex is provided by an optional package in the Sage distribution.
|
23
|
+
|
24
|
+
EXAMPLES::
|
25
|
+
|
26
|
+
sage: from sage.features.dot2tex import dot2tex
|
27
|
+
sage: dot2tex().is_present() # optional - dot2tex
|
28
|
+
FeatureTestResult('dot2tex', True)
|
29
|
+
"""
|
30
|
+
def __init__(self):
|
31
|
+
r"""
|
32
|
+
TESTS::
|
33
|
+
|
34
|
+
sage: from sage.features.dot2tex import dot2tex
|
35
|
+
sage: isinstance(dot2tex(), dot2tex)
|
36
|
+
True
|
37
|
+
"""
|
38
|
+
PythonModule.__init__(self, 'dot2tex', spkg='dot2tex')
|
39
|
+
|
40
|
+
|
41
|
+
def all_features():
|
42
|
+
return [dot2tex()]
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-environment
|
2
|
+
r"""
|
3
|
+
Feature for testing the presence of eclib
|
4
|
+
"""
|
5
|
+
|
6
|
+
# *****************************************************************************
|
7
|
+
# Copyright (C) 2024 Matthias Koeppe
|
8
|
+
#
|
9
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
10
|
+
# as published by the Free Software Foundation; either version 2 of
|
11
|
+
# the License, or (at your option) any later version.
|
12
|
+
# https://www.gnu.org/licenses/
|
13
|
+
# *****************************************************************************
|
14
|
+
|
15
|
+
import subprocess
|
16
|
+
from . import Executable, FeatureTestResult, PythonModule
|
17
|
+
from .join_feature import JoinFeature
|
18
|
+
|
19
|
+
|
20
|
+
class Mwrank(Executable):
|
21
|
+
r"""
|
22
|
+
A :class:`~sage.features.Feature` describing the presence of mwrank.
|
23
|
+
|
24
|
+
EXAMPLES::
|
25
|
+
|
26
|
+
sage: from sage.features.eclib import Mwrank
|
27
|
+
sage: Mwrank().is_present() # needs eclib
|
28
|
+
FeatureTestResult('mwrank', True)
|
29
|
+
"""
|
30
|
+
def __init__(self):
|
31
|
+
r"""
|
32
|
+
TESTS::
|
33
|
+
|
34
|
+
sage: from sage.features.eclib import Mwrank
|
35
|
+
sage: isinstance(Mwrank(), Mwrank)
|
36
|
+
True
|
37
|
+
"""
|
38
|
+
Executable.__init__(self, "mwrank", executable='mwrank',
|
39
|
+
spkg='eclib', type='standard')
|
40
|
+
|
41
|
+
|
42
|
+
def all_features():
|
43
|
+
return [JoinFeature("eclib",
|
44
|
+
(Mwrank(),
|
45
|
+
PythonModule('sage.libs.eclib')),
|
46
|
+
spkg='sagemath_eclib', type='standard')]
|
@@ -12,7 +12,8 @@ Feature for testing the presence of ``ecm`` or ``gmp-ecm``
|
|
12
12
|
# https://www.gnu.org/licenses/
|
13
13
|
# ****************************************************************************
|
14
14
|
|
15
|
-
from . import Executable
|
15
|
+
from . import Executable, PythonModule
|
16
|
+
from .join_feature import JoinFeature
|
16
17
|
from sage.env import SAGE_ECMBIN
|
17
18
|
|
18
19
|
|
@@ -23,8 +24,8 @@ class Ecm(Executable):
|
|
23
24
|
EXAMPLES::
|
24
25
|
|
25
26
|
sage: from sage.features.ecm import Ecm
|
26
|
-
sage: Ecm().is_present()
|
27
|
-
FeatureTestResult('
|
27
|
+
sage: Ecm().is_present() # needs ecm
|
28
|
+
FeatureTestResult('ecm_executable', True)
|
28
29
|
"""
|
29
30
|
def __init__(self):
|
30
31
|
r"""
|
@@ -34,9 +35,12 @@ class Ecm(Executable):
|
|
34
35
|
sage: isinstance(Ecm(), Ecm)
|
35
36
|
True
|
36
37
|
"""
|
37
|
-
Executable.__init__(self, name='
|
38
|
+
Executable.__init__(self, name='ecm_executable', executable=SAGE_ECMBIN,
|
38
39
|
spkg='ecm', type='standard')
|
39
40
|
|
40
41
|
|
41
42
|
def all_features():
|
42
|
-
return [
|
43
|
+
return [JoinFeature("ecm",
|
44
|
+
(Ecm(),
|
45
|
+
PythonModule('sage.interfaces.ecm')),
|
46
|
+
spkg='sagemath_libecm', type='standard')]
|
@@ -14,7 +14,9 @@ Features for testing the presence of ``fricas``
|
|
14
14
|
|
15
15
|
import os
|
16
16
|
import subprocess
|
17
|
-
from . import Executable, FeatureTestResult
|
17
|
+
from . import Executable, FeatureTestResult, PythonModule
|
18
|
+
from .join_feature import JoinFeature
|
19
|
+
|
18
20
|
|
19
21
|
class FriCAS(Executable):
|
20
22
|
r"""
|
@@ -24,7 +26,7 @@ class FriCAS(Executable):
|
|
24
26
|
|
25
27
|
sage: from sage.features.fricas import FriCAS
|
26
28
|
sage: FriCAS().is_present() # optional - fricas
|
27
|
-
FeatureTestResult('
|
29
|
+
FeatureTestResult('fricas_executable', True)
|
28
30
|
"""
|
29
31
|
def __init__(self):
|
30
32
|
r"""
|
@@ -34,7 +36,7 @@ class FriCAS(Executable):
|
|
34
36
|
sage: isinstance(FriCAS(), FriCAS)
|
35
37
|
True
|
36
38
|
"""
|
37
|
-
Executable.__init__(self, name='
|
39
|
+
Executable.__init__(self, name='fricas_executable', spkg='fricas',
|
38
40
|
executable='fricas',
|
39
41
|
url='https://fricas.github.io')
|
40
42
|
|
@@ -46,7 +48,7 @@ class FriCAS(Executable):
|
|
46
48
|
|
47
49
|
sage: from sage.features.fricas import FriCAS
|
48
50
|
sage: FriCAS().is_functional() # optional - fricas
|
49
|
-
FeatureTestResult('
|
51
|
+
FeatureTestResult('fricas_executable', True)
|
50
52
|
"""
|
51
53
|
command = ['fricas -nosman -eval ")quit"']
|
52
54
|
try:
|
@@ -62,5 +64,9 @@ class FriCAS(Executable):
|
|
62
64
|
|
63
65
|
return FeatureTestResult(self, True)
|
64
66
|
|
67
|
+
|
65
68
|
def all_features():
|
66
|
-
return [
|
69
|
+
return [JoinFeature("fricas",
|
70
|
+
(FriCAS(),
|
71
|
+
PythonModule('sage.interfaces.fricas')),
|
72
|
+
spkg='sagemath_fricas')]
|
@@ -13,8 +13,9 @@ Feature for testing the presence of FROBBY
|
|
13
13
|
# *****************************************************************************
|
14
14
|
|
15
15
|
import subprocess
|
16
|
-
from . import Executable
|
17
|
-
from . import
|
16
|
+
from . import Executable, FeatureTestResult, PythonModule
|
17
|
+
from .join_feature import JoinFeature
|
18
|
+
|
18
19
|
|
19
20
|
class Frobby(Executable):
|
20
21
|
r"""
|
@@ -24,7 +25,7 @@ class Frobby(Executable):
|
|
24
25
|
|
25
26
|
sage: from sage.features.frobby import Frobby
|
26
27
|
sage: Frobby().is_present() # optional - frobby
|
27
|
-
FeatureTestResult('
|
28
|
+
FeatureTestResult('frobby_executable', True)
|
28
29
|
"""
|
29
30
|
def __init__(self):
|
30
31
|
r"""
|
@@ -34,9 +35,12 @@ class Frobby(Executable):
|
|
34
35
|
sage: isinstance(Frobby(), Frobby)
|
35
36
|
True
|
36
37
|
"""
|
37
|
-
Executable.__init__(self, "
|
38
|
+
Executable.__init__(self, "frobby_executable", executable='frobby',
|
38
39
|
spkg='frobby')
|
39
40
|
|
40
41
|
|
41
42
|
def all_features():
|
42
|
-
return [
|
43
|
+
return [JoinFeature("frobby",
|
44
|
+
(Frobby(),
|
45
|
+
PythonModule('sage.interfaces.frobby')),
|
46
|
+
spkg='sagemath_frobby')]
|
@@ -12,7 +12,8 @@ Features for testing the presence of ``gfan``
|
|
12
12
|
# https://www.gnu.org/licenses/
|
13
13
|
# *****************************************************************************
|
14
14
|
|
15
|
-
from . import Executable
|
15
|
+
from . import Executable, PythonModule
|
16
|
+
from .join_feature import JoinFeature
|
16
17
|
|
17
18
|
|
18
19
|
class GfanExecutable(Executable):
|
@@ -28,11 +29,15 @@ class GfanExecutable(Executable):
|
|
28
29
|
True
|
29
30
|
"""
|
30
31
|
if cmd is None:
|
31
|
-
name = "
|
32
|
+
name = "gfan_executable"
|
33
|
+
executable = "gfan"
|
32
34
|
else:
|
33
|
-
name = f"gfan_{cmd}"
|
34
|
-
Executable.__init__(self, name, executable=
|
35
|
+
executable = name = f"gfan_{cmd}"
|
36
|
+
Executable.__init__(self, name, executable=executable, spkg='gfan', type='standard')
|
35
37
|
|
36
38
|
|
37
39
|
def all_features():
|
38
|
-
return [
|
40
|
+
return [JoinFeature("gfan",
|
41
|
+
(GfanExecutable(),
|
42
|
+
PythonModule('sage.interfaces.gfan')),
|
43
|
+
spkg='sagemath_gfan', type='standard')]
|
@@ -3,7 +3,9 @@ r"""
|
|
3
3
|
Feature for testing the presence of ``giac``
|
4
4
|
"""
|
5
5
|
|
6
|
-
from . import Executable, FeatureTestResult
|
6
|
+
from . import Executable, FeatureTestResult, PythonModule
|
7
|
+
from .join_feature import JoinFeature
|
8
|
+
|
7
9
|
|
8
10
|
class Giac(Executable):
|
9
11
|
r"""
|
@@ -13,7 +15,7 @@ class Giac(Executable):
|
|
13
15
|
|
14
16
|
sage: from sage.features.giac import Giac
|
15
17
|
sage: Giac().is_present() # needs giac
|
16
|
-
FeatureTestResult('
|
18
|
+
FeatureTestResult('giac_executable', True)
|
17
19
|
"""
|
18
20
|
def __init__(self):
|
19
21
|
r"""
|
@@ -23,8 +25,11 @@ class Giac(Executable):
|
|
23
25
|
sage: isinstance(Giac(), Giac)
|
24
26
|
True
|
25
27
|
"""
|
26
|
-
Executable.__init__(self, '
|
28
|
+
Executable.__init__(self, 'giac_executable', executable='giac',
|
27
29
|
spkg='giac', type='standard')
|
28
30
|
|
29
31
|
def all_features():
|
30
|
-
return [
|
32
|
+
return [JoinFeature("giac",
|
33
|
+
(Giac(),
|
34
|
+
PythonModule('sage.interfaces.giac')),
|
35
|
+
spkg='sagemath_giac', type='standard')]
|