From 0f14234fa3318889ef441dc996d2160f4dcf658a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 5 Jun 2023 13:45:43 -0700 Subject: [PATCH 01/14] src/doc/bootstrap: In reference manual show modularized sagelib packages separately --- build/bin/sage-spkg-info | 2 +- src/doc/bootstrap | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/build/bin/sage-spkg-info b/build/bin/sage-spkg-info index 4e53139fa7e..d02b3ac347f 100755 --- a/build/bin/sage-spkg-info +++ b/build/bin/sage-spkg-info @@ -9,7 +9,7 @@ PKG_SCRIPTS="$SAGE_ROOT/build/pkgs/$PKG_BASE" for ext in rst txt; do SPKG_FILE="$PKG_SCRIPTS/SPKG.$ext" if [ -f "$SPKG_FILE" ]; then - cat "$SPKG_FILE" + sed "1,3s/^ *Sage: Open Source Mathematics Software:/$PKG_BASE:/" "$SPKG_FILE" break fi done diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 6dd50fd5cec..f049f62599d 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -100,7 +100,16 @@ Sage depends. It installs them automatically if it does not find equivalent system packages. EOF -for PKG_BASE in $(sage-package list --has-file SPKG.rst :standard: | sort); do +for PKG_BASE in $(sage-package list --has-file SPKG.rst :standard: | grep -v '^sagemath_' | sort); do + echo "* :ref:\`spkg_$PKG_BASE\`" +done >> "$OUTPUT_INDEX" +cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" < "$OUTPUT_DIR"/$PKG_BASE.rst echo >> "$OUTPUT_INDEX" " $PKG_BASE" done +cat >> "$OUTPUT_INDEX" < Date: Fri, 9 Jun 2023 13:32:06 -0700 Subject: [PATCH 02/14] src/doc/en/reference: Move 'Features' from misc to spkg --- src/doc/bootstrap | 38 +++++++++++++++++++++++++++++ src/doc/en/reference/misc/index.rst | 38 ----------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index f049f62599d..215ac1c51ed 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -147,6 +147,44 @@ All External Packages index_alph + +Runtime-Detectable Features and Conditional Doctests +---------------------------------------------------- + +.. toctree:: + :maxdepth: 1 + + sage/features + sage/features/sagemath + sage/features/pkg_systems + sage/features/bliss + sage/features/csdp + sage/features/databases + sage/features/dvipng + sage/features/ffmpeg + sage/features/four_ti_2 + sage/features/gap + sage/features/graph_generators + sage/features/graphviz + sage/features/imagemagick + sage/features/interfaces + sage/features/internet + sage/features/kenzo + sage/features/latex + sage/features/latte + sage/features/lrs + sage/features/mcqd + sage/features/meataxe + sage/features/mip_backends + sage/features/normaliz + sage/features/pandoc + sage/features/pdf2svg + sage/features/polymake + sage/features/rubiks + sage/features/tdlib + sage/features/join_feature + sage/features/all + EOF OUTPUT_INDEX="$OUTPUT_DIR"/index_alph.rst diff --git a/src/doc/en/reference/misc/index.rst b/src/doc/en/reference/misc/index.rst index 8a26fcb9a00..e9b082794b9 100644 --- a/src/doc/en/reference/misc/index.rst +++ b/src/doc/en/reference/misc/index.rst @@ -141,44 +141,6 @@ Fast Expression Evaluation .. sage/ext/interpreters/wrapper_rdf .. sage/ext/interpreters/wrapper_rr -Features -~~~~~~~~ - -.. toctree:: - :maxdepth: 1 - - sage/features - sage/features/join_feature - sage/features/all - sage/features/sagemath - sage/features/pkg_systems - sage/features/bliss - sage/features/csdp - sage/features/databases - sage/features/dvipng - sage/features/ffmpeg - sage/features/four_ti_2 - sage/features/gap - sage/features/graph_generators - sage/features/graphviz - sage/features/imagemagick - sage/features/interfaces - sage/features/internet - sage/features/kenzo - sage/features/latex - sage/features/latte - sage/features/lrs - sage/features/mcqd - sage/features/meataxe - sage/features/mip_backends - sage/features/normaliz - sage/features/pandoc - sage/features/pdf2svg - sage/features/polymake - sage/features/rubiks - sage/features/tdlib - - Code Evaluation --------------- From 7630b03a38497dd6b711acb046e1b3d33f885455 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 9 Jun 2023 16:28:50 -0700 Subject: [PATCH 03/14] Fix markup --- src/doc/bootstrap | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 215ac1c51ed..3161b78de17 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -194,11 +194,11 @@ Details of external packages Packages are in alphabetical order. +.. default-role:: code + .. toctree:: :maxdepth: 1 -.. default-role:: code - EOF for PKG_BASE in $(sage-package list --has-file SPKG.rst | sort); do PKG_SCRIPTS=build/pkgs/$PKG_BASE @@ -210,6 +210,7 @@ for PKG_BASE in $(sage-package list --has-file SPKG.rst | sort); do echo >> "$OUTPUT_INDEX" " $PKG_BASE" done cat >> "$OUTPUT_INDEX" < Date: Fri, 9 Jun 2023 19:52:49 -0700 Subject: [PATCH 04/14] sage.features: Add links to spkgs --- src/doc/bootstrap | 22 +++++++++---------- src/sage/features/bliss.py | 2 +- src/sage/features/cddlib.py | 2 +- src/sage/features/csdp.py | 2 +- src/sage/features/databases.py | 31 +++++++++++++++++---------- src/sage/features/dvipng.py | 2 +- src/sage/features/ffmpeg.py | 2 +- src/sage/features/four_ti_2.py | 4 ++-- src/sage/features/gap.py | 4 ++-- src/sage/features/gfan.py | 2 +- src/sage/features/graph_generators.py | 8 +++---- src/sage/features/graphviz.py | 16 +++++++------- src/sage/features/igraph.py | 2 +- src/sage/features/imagemagick.py | 9 ++++---- src/sage/features/interfaces.py | 2 +- src/sage/features/kenzo.py | 2 +- src/sage/features/latte.py | 7 +++--- src/sage/features/lrs.py | 2 +- src/sage/features/mcqd.py | 3 ++- src/sage/features/meataxe.py | 3 ++- src/sage/features/msolve.py | 10 ++++----- src/sage/features/nauty.py | 4 ++-- src/sage/features/normaliz.py | 2 +- src/sage/features/palp.py | 6 +++--- src/sage/features/pandoc.py | 2 +- src/sage/features/pdf2svg.py | 2 +- src/sage/features/phitigra.py | 4 ++-- src/sage/features/pkg_systems.py | 2 +- src/sage/features/polymake.py | 6 +++--- src/sage/features/rubiks.py | 18 ++++++++-------- src/sage/features/singular.py | 4 ++-- src/sage/features/sphinx.py | 4 ++-- src/sage/features/tdlib.py | 2 +- 33 files changed, 102 insertions(+), 91 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 3161b78de17..11bbc5510a5 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -89,8 +89,8 @@ fi OUTPUT_INDEX="$OUTPUT_DIR"/index.rst cat > "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" <` is present and functional. EXAMPLES:: diff --git a/src/sage/features/cddlib.py b/src/sage/features/cddlib.py index 5badbd251c0..b37f0304948 100644 --- a/src/sage/features/cddlib.py +++ b/src/sage/features/cddlib.py @@ -17,7 +17,7 @@ class CddExecutable(Executable): r""" A :class:`~sage.features.Feature` describing the presence of an executable - which comes as a part of ``cddlib``. + which comes as a part of :ref:`cddlib `. EXAMPLES:: diff --git a/src/sage/features/csdp.py b/src/sage/features/csdp.py index 9c04779558c..b1e253b237c 100644 --- a/src/sage/features/csdp.py +++ b/src/sage/features/csdp.py @@ -25,7 +25,7 @@ class CSDP(Executable): r""" A :class:`~sage.features.Feature` which checks for the ``theta`` binary - of CSDP. + of :ref:`CSDP `. EXAMPLES:: diff --git a/src/sage/features/databases.py b/src/sage/features/databases.py index 7fa05ca099a..37ee2852113 100644 --- a/src/sage/features/databases.py +++ b/src/sage/features/databases.py @@ -26,8 +26,8 @@ class DatabaseConwayPolynomials(StaticFile): r""" - A :class:`~sage.features.Feature` which describes the presence of Frank Luebeck's - database of Conway polynomials. + A :class:`~sage.features.Feature` which describes the presence of :ref:`Frank Luebeck's + database of Conway polynomials `. EXAMPLES:: @@ -60,8 +60,9 @@ def __init__(self): class DatabaseCremona(StaticFile): r""" - A :class:`~sage.features.Feature` which describes the presence of John Cremona's - database of elliptic curves. + A :class:`~sage.features.Feature` which describes the presence of :ref:`John Cremona's + database of elliptic curves ` + (or its :ref:`small version `. INPUT: @@ -94,7 +95,8 @@ def __init__(self, name="cremona", spkg="database_cremona_ellcurve"): class DatabaseJones(StaticFile): r""" - A :class:`~sage.features.Feature` which describes the presence of John Jones's tables of number fields. + A :class:`~sage.features.Feature` which describes the presence of + :ref:`John Jones's tables of number fields `. EXAMPLES:: @@ -118,12 +120,13 @@ def __init__(self): class DatabaseKnotInfo(PythonModule): r""" - A :class:`~sage.features.Feature` which describes the presence of the databases at the + A :class:`~sage.features.Feature` which describes the presence of the + :ref:`package providing the KnotInfo and LinkInfo databases `. + + The homes of these databases are the web-pages `KnotInfo `__ and `LinkInfo `__. - - EXAMPLES:: sage: from sage.features.databases import DatabaseKnotInfo @@ -140,9 +143,13 @@ def __init__(self): """ PythonModule.__init__(self, 'database_knotinfo', spkg='database_knotinfo') + class DatabaseCubicHecke(PythonModule): r""" - A :class:`~sage.features.Feature` which describes the presence of the databases at the + A :class:`~sage.features.Feature` which describes the presence of the + :ref:`Cubic Hecke algebra database package `. + + The home of this database is the web-page `Cubic Hecke algebra on 4 strands `__ of Ivan Marin. @@ -162,10 +169,12 @@ def __init__(self): """ PythonModule.__init__(self, 'database_cubic_hecke', spkg='database_cubic_hecke') + class DatabaseReflexivePolytopes(StaticFile): r""" - A :class:`~sage.features.Feature` which describes the presence of the PALP database - of reflexive lattice polytopes. + A :class:`~sage.features.Feature` which describes the presence of the + :ref:`PALP databases of reflexive three-dimensional ` + and :ref:`four-dimensional lattice polytopes `. EXAMPLES:: diff --git a/src/sage/features/dvipng.py b/src/sage/features/dvipng.py index 281084a6e72..270c1b8ede9 100644 --- a/src/sage/features/dvipng.py +++ b/src/sage/features/dvipng.py @@ -15,7 +15,7 @@ class dvipng(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``dvipng`` + A :class:`~sage.features.Feature` describing the presence of :ref:`dvipng `. EXAMPLES:: diff --git a/src/sage/features/ffmpeg.py b/src/sage/features/ffmpeg.py index 681af26494c..36a23594162 100644 --- a/src/sage/features/ffmpeg.py +++ b/src/sage/features/ffmpeg.py @@ -15,7 +15,7 @@ class FFmpeg(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``ffmpeg`` + A :class:`~sage.features.Feature` describing the presence of :ref:`ffmpeg `. EXAMPLES:: diff --git a/src/sage/features/four_ti_2.py b/src/sage/features/four_ti_2.py index e898f601599..2af1c1e25d2 100644 --- a/src/sage/features/four_ti_2.py +++ b/src/sage/features/four_ti_2.py @@ -8,7 +8,7 @@ class FourTi2Executable(Executable): r""" - A :class:`~sage.features.Feature` for the 4ti2 executables. + A :class:`~sage.features.Feature` for the :ref:`4ti2 ` executables. """ def __init__(self, name): r""" @@ -27,7 +27,7 @@ def __init__(self, name): class FourTi2(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of the ``4ti2`` executables. + A :class:`~sage.features.Feature` describing the presence of all :ref:`4ti2 ` executables. EXAMPLES:: diff --git a/src/sage/features/gap.py b/src/sage/features/gap.py index 67c905a35c3..dad0e975804 100644 --- a/src/sage/features/gap.py +++ b/src/sage/features/gap.py @@ -1,5 +1,5 @@ r""" -Features for testing the presence of GAP packages +Features for testing the presence of the SageMath interfaces to ``gap`` and of GAP packages """ # ***************************************************************************** # Copyright (C) 2016 Julian RĂ¼th @@ -62,7 +62,7 @@ def _is_present(self): class sage__libs__gap(JoinFeature): r""" A :class:`sage.features.Feature` describing the presence of :mod:`sage.libs.gap` - (the library interface to GAP) and :mod:`sage.interfaces.gap` (the pexpect + (the library interface to :ref:`GAP `) and :mod:`sage.interfaces.gap` (the pexpect interface to GAP). By design, we do not distinguish between these two, in order to facilitate the conversion of code from the pexpect interface to the library interface. diff --git a/src/sage/features/gfan.py b/src/sage/features/gfan.py index d9a74db9e1b..040ea64ec5d 100644 --- a/src/sage/features/gfan.py +++ b/src/sage/features/gfan.py @@ -16,7 +16,7 @@ class GfanExecutable(Executable): r""" - A :class:`~sage.features.Feature` for the gfan executables. + A :class:`~sage.features.Feature` for the :ref:`gfan ` executables. """ def __init__(self, cmd=None): r""" diff --git a/src/sage/features/graph_generators.py b/src/sage/features/graph_generators.py index 3d484c59f6b..47c4557241c 100644 --- a/src/sage/features/graph_generators.py +++ b/src/sage/features/graph_generators.py @@ -1,5 +1,5 @@ r""" -Features for testing the presence of various graph generator programs +Features for testing the presence of graph generator programs ``benzene``, ``buckygen``, ``plantri`` """ # ***************************************************************************** @@ -23,7 +23,7 @@ class Plantri(Executable): r""" - A :class:`~sage.features.Feature` which checks for the ``plantri`` binary. + A :class:`~sage.features.Feature` which checks for the :ref:`plantri ` binary. EXAMPLES:: @@ -70,7 +70,7 @@ def is_functional(self): class Buckygen(Executable): r""" - A :class:`~sage.features.Feature` which checks for the ``buckygen`` binary. + A :class:`~sage.features.Feature` which checks for the :ref:`buckygen ` binary. EXAMPLES:: @@ -117,7 +117,7 @@ def is_functional(self): class Benzene(Executable): r""" - A :class:`~sage.features.Feature` which checks for the ``benzene`` + A :class:`~sage.features.Feature` which checks for the :ref:`benzene ` binary. EXAMPLES:: diff --git a/src/sage/features/graphviz.py b/src/sage/features/graphviz.py index 2105eda9d8c..abf9b7615fa 100644 --- a/src/sage/features/graphviz.py +++ b/src/sage/features/graphviz.py @@ -19,9 +19,9 @@ class dot(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``dot`` + A :class:`~sage.features.Feature` describing the presence of ``dot``. - EXAMPLES:: + TESTS:: sage: from sage.features.graphviz import dot sage: dot().is_present() # optional - graphviz @@ -42,9 +42,9 @@ def __init__(self): class neato(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``neato`` + A :class:`~sage.features.Feature` describing the presence of ``neato``. - EXAMPLES:: + TESTS: sage: from sage.features.graphviz import neato sage: neato().is_present() # optional - graphviz @@ -65,9 +65,9 @@ def __init__(self): class twopi(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``twopi`` + A :class:`~sage.features.Feature` describing the presence of ``twopi``. - EXAMPLES:: + TESTS:: sage: from sage.features.graphviz import twopi sage: twopi().is_present() # optional - graphviz @@ -89,8 +89,8 @@ def __init__(self): class Graphviz(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of - the ``dot``, ``neato``, and ``twopi`` executables from the - ``graphviz`` package. + the :class:`dot`, :class:`neato`, and :class:`twopi` executables from the + :ref:`graphviz ` package. EXAMPLES:: diff --git a/src/sage/features/igraph.py b/src/sage/features/igraph.py index 6bb83294a95..bcf81f9cec7 100644 --- a/src/sage/features/igraph.py +++ b/src/sage/features/igraph.py @@ -19,7 +19,7 @@ class python_igraph(JoinFeature): r""" A :class:`sage.features.Feature` describing the presence of the - Python package ``igraph``. + Python package :ref:`igraph `. EXAMPLES:: diff --git a/src/sage/features/imagemagick.py b/src/sage/features/imagemagick.py index b7aa3aeb9a2..499d29d6f52 100644 --- a/src/sage/features/imagemagick.py +++ b/src/sage/features/imagemagick.py @@ -1,7 +1,7 @@ r""" Feature for testing the presence of ``imagemagick`` -Currently we only check for the presence of ``convert``. When needed other +Currently we only check for the presence of ``convert``. When needed, other commands like ``magick``, ``magick-script``, ``convert``, ``mogrify``, ``identify``, ``composite``, ``montage``, ``compare``, etc. could be also checked in this module. @@ -22,7 +22,7 @@ class Convert(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``convert`` + A :class:`~sage.features.Feature` describing the presence of ``convert``. EXAMPLES:: @@ -103,12 +103,13 @@ def is_functional(self): # The command seems functional return FeatureTestResult(self, True) + class ImageMagick(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of - ``ImageMagick`` + :ref:`ImageMagick _` - Currently, only the availability of ``convert`` is checked. + Currently, only the availability of the :class:`convert` program is checked. EXAMPLES:: diff --git a/src/sage/features/interfaces.py b/src/sage/features/interfaces.py index e31e7b72d61..ddfc3b9b7ee 100644 --- a/src/sage/features/interfaces.py +++ b/src/sage/features/interfaces.py @@ -1,5 +1,5 @@ r""" -Features for testing whether interpreter interfaces are functional +Features for testing whether interpreter interfaces to ``magma``, ``maple``, ``mathematica`` etc. are functional """ # **************************************************************************** diff --git a/src/sage/features/kenzo.py b/src/sage/features/kenzo.py index 655602427b8..b9ccd8537fe 100644 --- a/src/sage/features/kenzo.py +++ b/src/sage/features/kenzo.py @@ -19,7 +19,7 @@ class Kenzo(Feature): r""" - A :class:`~sage.features.Feature` describing the presence of ``Kenzo``. + A :class:`~sage.features.Feature` describing the presence of :class:`Kenzo `. EXAMPLES:: diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py index e88752bd561..9c043d8d016 100644 --- a/src/sage/features/latte.py +++ b/src/sage/features/latte.py @@ -24,7 +24,7 @@ class Latte_count(Executable): r""" - Feature for the executable ``count`` from the LattE suite. + Feature for the executable ``count`` from :ref:`LattE integrale `. """ def __init__(self): r""" @@ -41,7 +41,7 @@ def __init__(self): class Latte_integrate(Executable): r""" - Feature for the executable ``integrate`` from the LattE suite. + Feature for the executable ``integrate`` from :ref:`LattE integrale `. """ def __init__(self): r""" @@ -58,8 +58,7 @@ def __init__(self): class Latte(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of the ``LattE`` - binaries which comes as a part of ``latte_int``. + A :class:`~sage.features.Feature` describing the presence of excecutables from :ref:`LattE integrale `. EXAMPLES:: diff --git a/src/sage/features/lrs.py b/src/sage/features/lrs.py index 501d1d371e7..6eb0a11b642 100644 --- a/src/sage/features/lrs.py +++ b/src/sage/features/lrs.py @@ -140,7 +140,7 @@ def is_functional(self): class Lrslib(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of the executables - which comes as a part of ``lrslib``. + :class:`lrs ` and :class:`lrsnash ` provided by the :ref:`lrslib ` package. EXAMPLES:: diff --git a/src/sage/features/mcqd.py b/src/sage/features/mcqd.py index faf7ace441d..036e8fc727b 100644 --- a/src/sage/features/mcqd.py +++ b/src/sage/features/mcqd.py @@ -17,7 +17,8 @@ class Mcqd(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of :mod:`~sage.graphs.mcqd` + A :class:`~sage.features.Feature` describing the presence of the :mod:`~sage.graphs.mcqd` module, + which is the SageMath interface to the :ref:`mcqd ` library EXAMPLES:: diff --git a/src/sage/features/meataxe.py b/src/sage/features/meataxe.py index 78de1bdfe03..cc2a69cfeff 100644 --- a/src/sage/features/meataxe.py +++ b/src/sage/features/meataxe.py @@ -19,7 +19,8 @@ class Meataxe(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of ``meataxe``. + A :class:`~sage.features.Feature` describing the presence of the Sage modules + that depend on the :ref:`meataxe ` library. EXAMPLES:: diff --git a/src/sage/features/msolve.py b/src/sage/features/msolve.py index 557632ff500..31cc42e6176 100644 --- a/src/sage/features/msolve.py +++ b/src/sage/features/msolve.py @@ -24,12 +24,12 @@ class msolve(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of msolve + A :class:`~sage.features.Feature` describing the presence of :ref:`msolve `. EXAMPLES:: sage: from sage.features.msolve import msolve - sage: msolve().is_present() # optional - msolve + sage: msolve().is_present() # optional - msolve FeatureTestResult('msolve', True) """ def __init__(self): @@ -45,12 +45,12 @@ def __init__(self): def is_functional(self): r""" - Test if our installation of msolve is working + Test if our installation of msolve is working. - EXAMPLES:: + TESTS:: sage: from sage.features.msolve import msolve - sage: msolve().is_functional() # optional - msolve + sage: msolve().is_functional() # optional - msolve FeatureTestResult('msolve', True) """ msolve_out = subprocess.run(["msolve", "-h"], capture_output=True) diff --git a/src/sage/features/nauty.py b/src/sage/features/nauty.py index f3df59f4a9c..f57b5de2363 100644 --- a/src/sage/features/nauty.py +++ b/src/sage/features/nauty.py @@ -19,7 +19,7 @@ class NautyExecutable(Executable): r""" - A :class:`~sage.features.Feature` which checks for nauty executables. + A :class:`~sage.features.Feature` which checks for executables from the :ref:`nauty ` package. EXAMPLES:: @@ -43,7 +43,7 @@ def __init__(self, name): class Nauty(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of the executables - which comes as a part of ``nauty``. + which comes as a part of :ref:`nauty `. EXAMPLES:: diff --git a/src/sage/features/normaliz.py b/src/sage/features/normaliz.py index acf8c9242c1..80b3891daf3 100644 --- a/src/sage/features/normaliz.py +++ b/src/sage/features/normaliz.py @@ -18,7 +18,7 @@ class PyNormaliz(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of the - Python package ``PyNormaliz``. + Python package :ref:`PyNormaliz `. EXAMPLES:: diff --git a/src/sage/features/palp.py b/src/sage/features/palp.py index e9936f705ce..35758a0ecc7 100644 --- a/src/sage/features/palp.py +++ b/src/sage/features/palp.py @@ -17,11 +17,11 @@ class PalpExecutable(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of a PALP executable. + A :class:`~sage.features.Feature` describing the presence of a :ref:`PALP ` executable. INPUT: - - ``palpprog`` -- string, one of "poly", "class", "nef", "cws". + - ``palpprog`` -- string, one of ``"poly"``, ``"class"``, ``"nef"``, ``"cws"``. - ``suff`` -- string or ``None``. """ @@ -44,7 +44,7 @@ def __init__(self, palpprog, suff=None): class Palp(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of ``PALP``. + A :class:`~sage.features.Feature` describing the presence of :ref:`PALP `. """ def __init__(self): r""" diff --git a/src/sage/features/pandoc.py b/src/sage/features/pandoc.py index a00a2b6f8e4..00ee6055024 100644 --- a/src/sage/features/pandoc.py +++ b/src/sage/features/pandoc.py @@ -18,7 +18,7 @@ class Pandoc(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``pandoc`` + A :class:`~sage.features.Feature` describing the presence of :ref:`pandoc `. EXAMPLES:: diff --git a/src/sage/features/pdf2svg.py b/src/sage/features/pdf2svg.py index 2b60574fe85..98578ecb6a1 100644 --- a/src/sage/features/pdf2svg.py +++ b/src/sage/features/pdf2svg.py @@ -15,7 +15,7 @@ class pdf2svg(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``pdf2svg`` + A :class:`~sage.features.Feature` describing the presence of :ref:`pdf2svg `. EXAMPLES:: diff --git a/src/sage/features/phitigra.py b/src/sage/features/phitigra.py index 60ef8f46dde..6c1896bd8df 100644 --- a/src/sage/features/phitigra.py +++ b/src/sage/features/phitigra.py @@ -1,5 +1,5 @@ r""" -Check for phitigra +Check for ``phitigra`` """ # ***************************************************************************** @@ -16,7 +16,7 @@ class Phitigra(PythonModule): r""" - A :class:`sage.features.Feature` describing the presence of phitigra. + A :class:`sage.features.Feature` describing the presence of :ref:`phitigra `. Phitigra is provided by an optional package in the Sage distribution. diff --git a/src/sage/features/pkg_systems.py b/src/sage/features/pkg_systems.py index 334f8378050..8485fab0c7d 100644 --- a/src/sage/features/pkg_systems.py +++ b/src/sage/features/pkg_systems.py @@ -1,5 +1,5 @@ r""" -Features for testing the presence of package systems +Features for testing the presence of package systems ``sage_spkg``, ``conda``, ``pip``, ``debian``, ``fedora`` etc. """ # ***************************************************************************** diff --git a/src/sage/features/polymake.py b/src/sage/features/polymake.py index 6168c6c9978..d2b433b1c7f 100644 --- a/src/sage/features/polymake.py +++ b/src/sage/features/polymake.py @@ -1,5 +1,5 @@ r""" -Feature for testing the presence of the Python interface to polymake +Feature for testing the presence of ``jupymake``, the Python interface to polymake """ # ***************************************************************************** @@ -17,8 +17,8 @@ class JuPyMake(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of the :mod:`JuPyMake` - module, a Python interface to the polymake library. + A :class:`~sage.features.Feature` describing the presence of the :ref:`JuPyMake ` + module, a Python interface to the :ref:`polymake ` library. EXAMPLES:: diff --git a/src/sage/features/rubiks.py b/src/sage/features/rubiks.py index b9bd2f126f7..07250532cb6 100644 --- a/src/sage/features/rubiks.py +++ b/src/sage/features/rubiks.py @@ -20,7 +20,7 @@ class cu2(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``cu2`` + A :class:`~sage.features.Feature` describing the presence of ``cu2``. EXAMPLES:: @@ -42,7 +42,7 @@ def __init__(self): class size222(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``size222`` + A :class:`~sage.features.Feature` describing the presence of ``size222``. EXAMPLES:: @@ -64,7 +64,7 @@ def __init__(self): class optimal(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``optimal`` + A :class:`~sage.features.Feature` describing the presence of ``optimal``. EXAMPLES:: @@ -86,7 +86,7 @@ def __init__(self): class mcube(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``mcube`` + A :class:`~sage.features.Feature` describing the presence of ``mcube``. EXAMPLES:: @@ -108,7 +108,7 @@ def __init__(self): class dikcube(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``dikcube`` + A :class:`~sage.features.Feature` describing the presence of ``dikcube``. EXAMPLES:: @@ -130,7 +130,7 @@ def __init__(self): class cubex(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of ``cubex`` + A :class:`~sage.features.Feature` describing the presence of ``cubex``. EXAMPLES:: @@ -152,9 +152,9 @@ def __init__(self): class Rubiks(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of - ``cu2``, ``cubex``, ``dikcube``, ``mcube``, ``optimal``, and - ``size222``. + A :class:`~sage.features.Feature` describing the presence of the + :class:`cu2`, :class:`cubex`, :class:`dikcube`, :class:`mcube`, :class:`optimal`, and + :class:`size222` programs from the :ref:`rubiks ` package. EXAMPLES:: diff --git a/src/sage/features/singular.py b/src/sage/features/singular.py index c3bd3b6be03..5c83ff8a099 100644 --- a/src/sage/features/singular.py +++ b/src/sage/features/singular.py @@ -1,5 +1,5 @@ r""" -Features for testing the presence of Singular +Features for testing the presence of ``singular`` and the SageMath interfaces to it """ # ***************************************************************************** @@ -18,7 +18,7 @@ class Singular(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of the Singular executable. + A :class:`~sage.features.Feature` describing the presence of the :ref:`singular ` executable. EXAMPLES:: diff --git a/src/sage/features/sphinx.py b/src/sage/features/sphinx.py index 44283765fd1..c83370cf28a 100644 --- a/src/sage/features/sphinx.py +++ b/src/sage/features/sphinx.py @@ -1,5 +1,5 @@ r""" -Check for Sphinx +Features for testing the presence of ``sphinx`` """ # ***************************************************************************** @@ -16,7 +16,7 @@ class Sphinx(PythonModule): r""" - A :class:`sage.features.Feature` describing the presence of Sphinx. + A :class:`sage.features.Feature` describing the presence of :ref:`Sphinx `. Sphinx is provided by a standard package in the Sage distribution, but it can be disabled by ``configure --disable-doc``. diff --git a/src/sage/features/tdlib.py b/src/sage/features/tdlib.py index afde40f7de7..128c056a49c 100644 --- a/src/sage/features/tdlib.py +++ b/src/sage/features/tdlib.py @@ -18,7 +18,7 @@ class Tdlib(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of the ``tdlib``. + A :class:`~sage.features.Feature` describing the presence of the SageMath interface to the :ref:`tdlib ` library. """ def __init__(self): r""" From f50376209c5ef888f2721aa1a7e1db65a519649a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 9 Jun 2023 21:42:38 -0700 Subject: [PATCH 05/14] Fix markup --- src/sage/features/csdp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/features/csdp.py b/src/sage/features/csdp.py index b1e253b237c..e8aa55e50ea 100644 --- a/src/sage/features/csdp.py +++ b/src/sage/features/csdp.py @@ -25,7 +25,7 @@ class CSDP(Executable): r""" A :class:`~sage.features.Feature` which checks for the ``theta`` binary - of :ref:`CSDP `. + of :ref:`CSDP `. EXAMPLES:: From a1a211fdb3a93095bfdbed5b8088bbf1aacb2af0 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 9 Jun 2023 23:28:43 -0700 Subject: [PATCH 06/14] Fix up ref --- src/sage/features/databases.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/features/databases.py b/src/sage/features/databases.py index 37ee2852113..1447c5beb14 100644 --- a/src/sage/features/databases.py +++ b/src/sage/features/databases.py @@ -62,7 +62,7 @@ class DatabaseCremona(StaticFile): r""" A :class:`~sage.features.Feature` which describes the presence of :ref:`John Cremona's database of elliptic curves ` - (or its :ref:`small version `. + (or its :ref:`small version `. INPUT: From c4a1e418a281d163eef2d9c7e2794f49fdc096d8 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 10 Jun 2023 12:17:45 -0700 Subject: [PATCH 07/14] sage.features: Fix some spkg references --- src/sage/features/databases.py | 5 ++--- src/sage/features/dvipng.py | 2 +- src/sage/features/imagemagick.py | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/sage/features/databases.py b/src/sage/features/databases.py index 1447c5beb14..216dbb04af3 100644 --- a/src/sage/features/databases.py +++ b/src/sage/features/databases.py @@ -61,8 +61,7 @@ def __init__(self): class DatabaseCremona(StaticFile): r""" A :class:`~sage.features.Feature` which describes the presence of :ref:`John Cremona's - database of elliptic curves ` - (or its :ref:`small version `. + database of elliptic curves `. INPUT: @@ -74,7 +73,7 @@ class DatabaseCremona(StaticFile): sage: from sage.features.databases import DatabaseCremona sage: DatabaseCremona('cremona_mini').is_present() FeatureTestResult('database_cremona_mini_ellcurve', True) - sage: DatabaseCremona().is_present() # optional - database_cremona_ellcurve + sage: DatabaseCremona().is_present() # optional - database_cremona_ellcurve FeatureTestResult('database_cremona_ellcurve', True) """ def __init__(self, name="cremona", spkg="database_cremona_ellcurve"): diff --git a/src/sage/features/dvipng.py b/src/sage/features/dvipng.py index 270c1b8ede9..281084a6e72 100644 --- a/src/sage/features/dvipng.py +++ b/src/sage/features/dvipng.py @@ -15,7 +15,7 @@ class dvipng(Executable): r""" - A :class:`~sage.features.Feature` describing the presence of :ref:`dvipng `. + A :class:`~sage.features.Feature` describing the presence of ``dvipng`` EXAMPLES:: diff --git a/src/sage/features/imagemagick.py b/src/sage/features/imagemagick.py index 499d29d6f52..fceeed8b727 100644 --- a/src/sage/features/imagemagick.py +++ b/src/sage/features/imagemagick.py @@ -107,7 +107,7 @@ def is_functional(self): class ImageMagick(JoinFeature): r""" A :class:`~sage.features.Feature` describing the presence of - :ref:`ImageMagick _` + :ref:`ImageMagick ` Currently, only the availability of the :class:`convert` program is checked. From 3395892c6c5e279ba71f700f65c35ae66871f9cf Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 16 Jun 2023 23:16:59 -0700 Subject: [PATCH 08/14] Markup fixes --- src/sage/features/kenzo.py | 2 +- src/sage/features/latte.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sage/features/kenzo.py b/src/sage/features/kenzo.py index b9ccd8537fe..0060e6deb03 100644 --- a/src/sage/features/kenzo.py +++ b/src/sage/features/kenzo.py @@ -19,7 +19,7 @@ class Kenzo(Feature): r""" - A :class:`~sage.features.Feature` describing the presence of :class:`Kenzo `. + A :class:`~sage.features.Feature` describing the presence of :ref:`Kenzo `. EXAMPLES:: diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py index 9c043d8d016..4df8b1cd586 100644 --- a/src/sage/features/latte.py +++ b/src/sage/features/latte.py @@ -58,7 +58,8 @@ def __init__(self): class Latte(JoinFeature): r""" - A :class:`~sage.features.Feature` describing the presence of excecutables from :ref:`LattE integrale `. + A :class:`~sage.features.Feature` describing the presence of excecutables + from :ref:`LattE integrale `. EXAMPLES:: From 99739d3bbe1c892abb4b6082347f250b67ed7d39 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 16 Jun 2023 23:25:45 -0700 Subject: [PATCH 09/14] bootstrap: Use 'distribution packages' --- src/doc/bootstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 11bbc5510a5..a700428f135 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -105,8 +105,8 @@ for PKG_BASE in $(sage-package list --has-file SPKG.rst :standard: | grep -v '^s done >> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" < Date: Fri, 16 Jun 2023 23:33:50 -0700 Subject: [PATCH 10/14] bootstrap: Shorten section title --- src/doc/bootstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index a700428f135..8b4c3477cca 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -139,8 +139,8 @@ for PKG_BASE in $(sage-package list --has-file SPKG.rst :experimental: | grep -v done >> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" < Date: Fri, 16 Jun 2023 23:35:31 -0700 Subject: [PATCH 11/14] Move join_feature, all back to the front --- src/doc/bootstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 8b4c3477cca..121b450e7cb 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -146,6 +146,8 @@ Features :maxdepth: 1 sage/features + sage/features/join_feature + sage/features/all sage/features/sagemath sage/features/pkg_systems sage/features/bliss @@ -173,8 +175,6 @@ Features sage/features/polymake sage/features/rubiks sage/features/tdlib - sage/features/join_feature - sage/features/all All External Packages --------------------- From 3995d71c79013e7d51f05f458e06d22c9c35f339 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 16 Jun 2023 23:45:41 -0700 Subject: [PATCH 12/14] Shorten section title, move experimental packages to the end --- src/doc/bootstrap | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 121b450e7cb..7aa458c336b 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -89,8 +89,8 @@ fi OUTPUT_INDEX="$OUTPUT_DIR"/index.rst cat > "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" -cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" OUTPUT_INDEX="$OUTPUT_DIR"/index_alph.rst cat >> "$OUTPUT_INDEX" < Date: Fri, 16 Jun 2023 23:46:46 -0700 Subject: [PATCH 13/14] Move distributions after optional packages --- src/doc/bootstrap | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 7aa458c336b..9e680ce85d2 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -105,15 +105,6 @@ for PKG_BASE in $(sage-package list --has-file SPKG.rst :standard: | grep -v '^s done >> "$OUTPUT_INDEX" cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" -cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" +cat >> "$OUTPUT_INDEX" < Date: Sat, 17 Jun 2023 05:55:20 -0700 Subject: [PATCH 14/14] src/doc/bootstrap: Fixup --- src/doc/bootstrap | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/doc/bootstrap b/src/doc/bootstrap index 9e680ce85d2..be2168af064 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -153,15 +153,6 @@ Features sage/features/polymake sage/features/rubiks sage/features/tdlib - -All External Packages ---------------------- - -.. toctree:: - :maxdepth: 1 - - index_alph - EOF cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" +cat >> "$OUTPUT_INDEX" <> "$OUTPUT_INDEX" <