diff --git a/build/pkgs/database_knotinfo/checksums.ini b/build/pkgs/database_knotinfo/checksums.ini
index dfdb379d56a..89255902359 100644
--- a/build/pkgs/database_knotinfo/checksums.ini
+++ b/build/pkgs/database_knotinfo/checksums.ini
@@ -1,4 +1,4 @@
tarball=database_knotinfo-VERSION.tar.gz
-sha1=d94335a4839946e73458064d6ad1def9595101c7
-sha256=9065ec00e22bd1e43716b3e0c2d1bb9e2c32e504a24f11d81ab556428bb4aa7f
+sha1=5d9d19ead2d50e7ab6d48fddadb0a7635a9c7ca6
+sha256=5c005386d6f3ffdca3310a1721e377f570272f702a6c81f7d7215fe3935baaf7
upstream_url=https://files.pythonhosted.org/packages/source/d/database_knotinfo/database_knotinfo-VERSION.tar.gz
diff --git a/build/pkgs/database_knotinfo/package-version.txt b/build/pkgs/database_knotinfo/package-version.txt
index 142bb53d9d5..ac9016c8b7b 100644
--- a/build/pkgs/database_knotinfo/package-version.txt
+++ b/build/pkgs/database_knotinfo/package-version.txt
@@ -1 +1 @@
-2024.10.1
+2025.8.7
diff --git a/src/sage/databases/cubic_hecke_db.py b/src/sage/databases/cubic_hecke_db.py
index 1bf6e6a729c..8a4b35111ca 100644
--- a/src/sage/databases/cubic_hecke_db.py
+++ b/src/sage/databases/cubic_hecke_db.py
@@ -455,7 +455,7 @@ def description(self):
Return a description of the link corresponding to this basis element.
In the case of knots it refers to the naming according to
- `KnotInfo `__.
+ `KnotInfo `__.
EXAMPLES::
diff --git a/src/sage/databases/knotinfo_db.py b/src/sage/databases/knotinfo_db.py
index 6ab0baf81ba..546897e76b7 100644
--- a/src/sage/databases/knotinfo_db.py
+++ b/src/sage/databases/knotinfo_db.py
@@ -3,8 +3,8 @@
This module contains the class :class:`KnotInfoDataBase` and auxiliary classes
for it, which serves as an interface to the lists of named knots and links provided
-at the web-pages `KnotInfo `__ and
-`LinkInfo `__.
+at the web-pages `KnotInfo `__ and
+`LinkInfo `__.
To use the database, you need to install the optional :ref:`database_knotinfo
` package by the Sage command ::
@@ -48,8 +48,8 @@
class KnotInfoColumnTypes(Enum):
r"""
Enum class to specify if a column from the table of knots and links provided
- at the web-pages `KnotInfo `__ and
- `LinkInfo `__. is used for knots only,
+ at the web-pages `KnotInfo `__ and
+ `LinkInfo `__. is used for knots only,
links only or both.
EXAMPLES::
@@ -68,8 +68,8 @@ class KnotInfoColumnTypes(Enum):
class KnotInfoColumns(Enum):
r"""
Enum class to select a column from the table of knots and links provided
- at the web-pages `KnotInfo `__ and
- `LinkInfo `__.
+ at the web-pages `KnotInfo `__ and
+ `LinkInfo `__.
EXAMPLES::
@@ -199,7 +199,7 @@ def url(self):
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.knots.url()
- 'https://knotinfo.math.indiana.edu/'
+ 'https://knotinfo.org/'
"""
if self == KnotInfoFilename.knots:
return self.value[0]
@@ -304,7 +304,7 @@ def description_url(self, column):
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.knots.description_url(ki_db.columns().braid_notation)
- 'https://knotinfo.math.indiana.edu/descriptions/braid_notation.html'
+ 'https://knotinfo.org/descriptions/braid_notation.html'
"""
return '%sdescriptions/%s.html' % (self.url(), column.name)
@@ -317,17 +317,17 @@ def diagram_url(self, fname, single=False):
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.knots.diagram_url('3_1-50.png')
- 'https://knotinfo.math.indiana.edu/diagram_display.php?3_1-50.png'
+ 'https://knotinfo.org/diagram_display.php?3_1-50.png'
sage: ki_db.filename.knots.diagram_url('3_1', single=True)
- 'https://knotinfo.math.indiana.edu/diagrams/3_1'
+ 'https://knotinfo.org/diagrams/3_1'
"""
if single:
return '%sdiagrams/%s' % (self.url(), fname)
else:
return '%sdiagram_display.php?%s' % (self.url(), fname)
- knots = ['https://knotinfo.math.indiana.edu/', 'knotinfo_data_complete']
- links = ['https://linkinfo.sitehost.iu.edu/', 'linkinfo_data_complete']
+ knots = ['https://knotinfo.org/', 'knotinfo_data_complete']
+ links = ['https://link-info-repo.onrender.com/', 'linkinfo_data_complete']
#----------------------------------------------------------------------------------------------------------------------------
@@ -347,7 +347,7 @@ class KnotInfoDataBase(SageObject, UniqueRepresentation):
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.knots
-
"""
@@ -362,7 +362,7 @@ def __init__(self, install=False):
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.links
-
"""
# some constants
diff --git a/src/sage/features/databases.py b/src/sage/features/databases.py
index 2054f70376c..492462d3e26 100644
--- a/src/sage/features/databases.py
+++ b/src/sage/features/databases.py
@@ -180,8 +180,8 @@ class DatabaseKnotInfo(PythonModule):
:ref:`package providing the KnotInfo and LinkInfo databases `.
The homes of these databases are the
- web-pages `KnotInfo `__ and
- `LinkInfo `__.
+ web-pages `KnotInfo `__ and
+ `LinkInfo `__.
EXAMPLES::
diff --git a/src/sage/knots/free_knotinfo_monoid.py b/src/sage/knots/free_knotinfo_monoid.py
index 998c0dbf03b..0cb3e0ebb0d 100644
--- a/src/sage/knots/free_knotinfo_monoid.py
+++ b/src/sage/knots/free_knotinfo_monoid.py
@@ -4,7 +4,7 @@
:class:`~sage.knots.knotinfo.KnotInfoBase` class.
A generator of this free abelian monoid is a prime knot according to
-the list at `KnotInfo `__. A fully
+the list at `KnotInfo `__. A fully
amphicheiral prime knot is represented by exactly one generator with
the corresponding name. For non-chiral prime knots, there are
additionally one or three generators with the suffixes ``m``, ``r``
diff --git a/src/sage/knots/knotinfo.py b/src/sage/knots/knotinfo.py
index d3961d9c4f8..0e1c5a412bd 100644
--- a/src/sage/knots/knotinfo.py
+++ b/src/sage/knots/knotinfo.py
@@ -4,8 +4,8 @@
This module contains the class :class:`KnotInfoBase` which is derived from
:class:`Enum` and provides knots and links listed in the databases at the
-web-pages `KnotInfo `__
-and `LinkInfo `__ as its items.
+web-pages `KnotInfo `__
+and `LinkInfo `__ as its items.
This interface contains a set of about twenty knots and links statically as
demonstration cases. The complete database can be installed as an optional Sage
@@ -209,8 +209,8 @@
REFERENCES:
-- `KnotInfo `__
-- `LinkInfo `__
+- `KnotInfo `__
+- `LinkInfo `__
AUTHORS:
@@ -469,7 +469,7 @@ def is_minimal(self, link) -> bool:
class KnotInfoBase(Enum):
r"""
Enum class to select the knots and links listed in the databases at the web-pages
- `KnotInfo `__ and `LinkInfo `__.
+ `KnotInfo `__ and `LinkInfo `__.
EXAMPLES::
@@ -1323,7 +1323,7 @@ def cosmetic_crossing_conjecture_verified(self):
Return whether the Cosmetic Crossing Conjecture has been verified
for ``self``.
- From the KnotInfo `description page `__:
+ From the KnotInfo `description page `__:
A crossing change in a diagram of a knot ``K`` is called cosmetic if
the resulting diagram also represents ``K``. The cosmetic crossing
@@ -1359,7 +1359,7 @@ def homfly_polynomial(self, var1='v', var2='z', original=False):
The HOMFLY-PT polynomial `P(L)` of a link `L` satisfies the following skein
relation (see the corresponding `KnotInfo description page
- `__):
+ `__):
.. MATH::
@@ -1460,7 +1460,7 @@ def kauffman_polynomial(self, var1='a', var2='z', original=False):
under regular isotopy `\Delta (L) = a^{w(L)} F(L)` where `w(L)` is the
writhe of the link `L` satisfies the following skein relation
(see the corresponding `KnotInfo description page
- `__):
+ `__):
.. MATH::
@@ -1547,7 +1547,7 @@ def jones_polynomial(self, variab=None, skein_normalization=False, puiseux=False
The Jones polynomial `V(L)` of a link `L` satisfies the following skein
relation (see the corresponding `KnotInfo description page
- `__):
+ `__):
.. MATH::
@@ -2005,7 +2005,7 @@ def khovanov_polynomial(self, var1='q', var2='t', torsion='T', ring=None, origin
- :wikipedia:`Khovanov_homology`
- :wikipedia:`Reduced_homology`
- [ORS2013]_
- - `KnotInfo `__
+ - `KnotInfo `__
"""
if not ring:
if self.is_knot():
diff --git a/src/sage/knots/link.py b/src/sage/knots/link.py
index 78d8d8a7ce4..3366c1f02a0 100644
--- a/src/sage/knots/link.py
+++ b/src/sage/knots/link.py
@@ -28,8 +28,8 @@
.. SEEALSO::
There are also tables of link and knot invariants at web-pages
- `KnotInfo `__ and
- `LinkInfo `__. These can be
+ `KnotInfo `__ and
+ `LinkInfo `__. These can be
used inside Sage after installing the optional package
``database_knotinfo`` (type ``sage -i database_knotinfo`` in a command shell,
see :mod:`~sage.knots.knotinfo`).
@@ -2071,7 +2071,7 @@ def khovanov_polynomial(self, var1='q', var2='t', torsion='T', ring=ZZ, base_rin
be transferred to :meth:`khovanov_homology`
Here we follow the conventions used in
- `KnotInfo `__
+ `KnotInfo `__
OUTPUT:
@@ -3004,7 +3004,7 @@ def homfly_polynomial(self, var1=None, var2=None, normalization='lm'):
in [KnotAtlas]_
Use the ``'vz'`` normalization to agree with the data
- `KnotInfo `__.
+ `KnotInfo `__.
EXAMPLES: