Skip to content

Commit a1c97da

Browse files
author
Release Manager
committed
sagemathgh-40553: Fix broken KnotInfo URL <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The URL for KnotInfo currently specified in the Sage documentation (and used by some methods to launch description and image websites, such as `KnotInfo.K6_2.diagram()`) has been disabled. It doesn't even redirect to the [new page](https://knotinfo.org) on [render.com](https://render.com/). This PR implements the URL replacement and points Sage to the current [release 2025.8.7](https://github.com/soehms/database_knotinfo/releases/ tag/2025.8.7) of the Python wrapper. It would be great if this would be merged into 10.7! ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [x] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40553 Reported by: Sebastian Oehms Reviewer(s): David Coudert, Sebastian Oehms
2 parents a7d22e6 + 1c469d8 commit a1c97da

File tree

8 files changed

+35
-35
lines changed

8 files changed

+35
-35
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=database_knotinfo-VERSION.tar.gz
2-
sha1=d94335a4839946e73458064d6ad1def9595101c7
3-
sha256=9065ec00e22bd1e43716b3e0c2d1bb9e2c32e504a24f11d81ab556428bb4aa7f
2+
sha1=5d9d19ead2d50e7ab6d48fddadb0a7635a9c7ca6
3+
sha256=5c005386d6f3ffdca3310a1721e377f570272f702a6c81f7d7215fe3935baaf7
44
upstream_url=https://files.pythonhosted.org/packages/source/d/database_knotinfo/database_knotinfo-VERSION.tar.gz
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024.10.1
1+
2025.8.7

src/sage/databases/cubic_hecke_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ def description(self):
455455
Return a description of the link corresponding to this basis element.
456456
457457
In the case of knots it refers to the naming according to
458-
`KnotInfo <https://knotinfo.math.indiana.edu/>`__.
458+
`KnotInfo <https://knotinfo.org/>`__.
459459
460460
EXAMPLES::
461461

src/sage/databases/knotinfo_db.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
44
This module contains the class :class:`KnotInfoDataBase` and auxiliary classes
55
for it, which serves as an interface to the lists of named knots and links provided
6-
at the web-pages `KnotInfo <https://knotinfo.math.indiana.edu/>`__ and
7-
`LinkInfo <https://linkinfo.sitehost.iu.edu>`__.
6+
at the web-pages `KnotInfo <https://knotinfo.org/>`__ and
7+
`LinkInfo <https://link-info-repo.onrender.com/>`__.
88
99
To use the database, you need to install the optional :ref:`database_knotinfo
1010
<spkg_database_knotinfo>` package by the Sage command ::
@@ -48,8 +48,8 @@
4848
class KnotInfoColumnTypes(Enum):
4949
r"""
5050
Enum class to specify if a column from the table of knots and links provided
51-
at the web-pages `KnotInfo <https://knotinfo.math.indiana.edu/>`__ and
52-
`LinkInfo <https://linkinfo.sitehost.iu.edu>`__. is used for knots only,
51+
at the web-pages `KnotInfo <https://knotinfo.org/>`__ and
52+
`LinkInfo <https://link-info-repo.onrender.com/>`__. is used for knots only,
5353
links only or both.
5454
5555
EXAMPLES::
@@ -68,8 +68,8 @@ class KnotInfoColumnTypes(Enum):
6868
class KnotInfoColumns(Enum):
6969
r"""
7070
Enum class to select a column from the table of knots and links provided
71-
at the web-pages `KnotInfo <https://knotinfo.math.indiana.edu/>`__ and
72-
`LinkInfo <https://linkinfo.sitehost.iu.edu>`__.
71+
at the web-pages `KnotInfo <https://knotinfo.org/>`__ and
72+
`LinkInfo <https://link-info-repo.onrender.com/>`__.
7373
7474
EXAMPLES::
7575
@@ -199,7 +199,7 @@ def url(self):
199199
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
200200
sage: ki_db = KnotInfoDataBase()
201201
sage: ki_db.filename.knots.url()
202-
'https://knotinfo.math.indiana.edu/'
202+
'https://knotinfo.org/'
203203
"""
204204
if self == KnotInfoFilename.knots:
205205
return self.value[0]
@@ -304,7 +304,7 @@ def description_url(self, column):
304304
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
305305
sage: ki_db = KnotInfoDataBase()
306306
sage: ki_db.filename.knots.description_url(ki_db.columns().braid_notation)
307-
'https://knotinfo.math.indiana.edu/descriptions/braid_notation.html'
307+
'https://knotinfo.org/descriptions/braid_notation.html'
308308
"""
309309
return '%sdescriptions/%s.html' % (self.url(), column.name)
310310

@@ -317,17 +317,17 @@ def diagram_url(self, fname, single=False):
317317
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
318318
sage: ki_db = KnotInfoDataBase()
319319
sage: ki_db.filename.knots.diagram_url('3_1-50.png')
320-
'https://knotinfo.math.indiana.edu/diagram_display.php?3_1-50.png'
320+
'https://knotinfo.org/diagram_display.php?3_1-50.png'
321321
sage: ki_db.filename.knots.diagram_url('3_1', single=True)
322-
'https://knotinfo.math.indiana.edu/diagrams/3_1'
322+
'https://knotinfo.org/diagrams/3_1'
323323
"""
324324
if single:
325325
return '%sdiagrams/%s' % (self.url(), fname)
326326
else:
327327
return '%sdiagram_display.php?%s' % (self.url(), fname)
328328

329-
knots = ['https://knotinfo.math.indiana.edu/', 'knotinfo_data_complete']
330-
links = ['https://linkinfo.sitehost.iu.edu/', 'linkinfo_data_complete']
329+
knots = ['https://knotinfo.org/', 'knotinfo_data_complete']
330+
links = ['https://link-info-repo.onrender.com/', 'linkinfo_data_complete']
331331

332332

333333
#----------------------------------------------------------------------------------------------------------------------------
@@ -347,7 +347,7 @@ class KnotInfoDataBase(SageObject, UniqueRepresentation):
347347
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
348348
sage: ki_db = KnotInfoDataBase()
349349
sage: ki_db.filename.knots
350-
<KnotInfoFilename.knots: ['https://knotinfo.math.indiana.edu/',
350+
<KnotInfoFilename.knots: ['https://knotinfo.org/',
351351
'knotinfo_data_complete']>
352352
"""
353353

@@ -362,7 +362,7 @@ def __init__(self, install=False):
362362
sage: from sage.databases.knotinfo_db import KnotInfoDataBase
363363
sage: ki_db = KnotInfoDataBase()
364364
sage: ki_db.filename.links
365-
<KnotInfoFilename.links: ['https://linkinfo.sitehost.iu.edu/',
365+
<KnotInfoFilename.links: ['https://link-info-repo.onrender.com/',
366366
'linkinfo_data_complete']>
367367
"""
368368
# some constants

src/sage/features/databases.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ class DatabaseKnotInfo(PythonModule):
180180
:ref:`package providing the KnotInfo and LinkInfo databases <spkg_database_knotinfo>`.
181181
182182
The homes of these databases are the
183-
web-pages `KnotInfo <https://knotinfo.math.indiana.edu/>`__ and
184-
`LinkInfo <https://linkinfo.sitehost.iu.edu>`__.
183+
web-pages `KnotInfo <https://knotinfo.org/>`__ and
184+
`LinkInfo <https://link-info-repo.onrender.com/>`__.
185185
186186
EXAMPLES::
187187

src/sage/knots/free_knotinfo_monoid.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
:class:`~sage.knots.knotinfo.KnotInfoBase` class.
55
66
A generator of this free abelian monoid is a prime knot according to
7-
the list at `KnotInfo <https://knotinfo.math.indiana.edu/>`__. A fully
7+
the list at `KnotInfo <https://knotinfo.org/>`__. A fully
88
amphicheiral prime knot is represented by exactly one generator with
99
the corresponding name. For non-chiral prime knots, there are
1010
additionally one or three generators with the suffixes ``m``, ``r``

src/sage/knots/knotinfo.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
55
This module contains the class :class:`KnotInfoBase` which is derived from
66
:class:`Enum` and provides knots and links listed in the databases at the
7-
web-pages `KnotInfo <https://knotinfo.math.indiana.edu/>`__
8-
and `LinkInfo <https://linkinfo.sitehost.iu.edu/>`__ as its items.
7+
web-pages `KnotInfo <https://knotinfo.org/>`__
8+
and `LinkInfo <https://link-info-repo.onrender.com/>`__ as its items.
99
1010
This interface contains a set of about twenty knots and links statically as
1111
demonstration cases. The complete database can be installed as an optional Sage
@@ -209,8 +209,8 @@
209209
210210
REFERENCES:
211211
212-
- `KnotInfo <https://knotinfo.math.indiana.edu/>`__
213-
- `LinkInfo <https://linkinfo.sitehost.iu.edu/>`__
212+
- `KnotInfo <https://knotinfo.org/>`__
213+
- `LinkInfo <https://link-info-repo.onrender.com/>`__
214214
215215
216216
AUTHORS:
@@ -469,7 +469,7 @@ def is_minimal(self, link) -> bool:
469469
class KnotInfoBase(Enum):
470470
r"""
471471
Enum class to select the knots and links listed in the databases at the web-pages
472-
`KnotInfo <https://knotinfo.math.indiana.edu/>`__ and `LinkInfo <https://linkinfo.sitehost.iu.edu/>`__.
472+
`KnotInfo <https://knotinfo.org/>`__ and `LinkInfo <https://link-info-repo.onrender.com/>`__.
473473
474474
EXAMPLES::
475475
@@ -1323,7 +1323,7 @@ def cosmetic_crossing_conjecture_verified(self):
13231323
Return whether the Cosmetic Crossing Conjecture has been verified
13241324
for ``self``.
13251325
1326-
From the KnotInfo `description page <https://knotinfo.math.indiana.edu/descriptions/cosmetic_crossing.html>`__:
1326+
From the KnotInfo `description page <https://knotinfo.org/descriptions/cosmetic_crossing.html>`__:
13271327
13281328
A crossing change in a diagram of a knot ``K`` is called cosmetic if
13291329
the resulting diagram also represents ``K``. The cosmetic crossing
@@ -1359,7 +1359,7 @@ def homfly_polynomial(self, var1='v', var2='z', original=False):
13591359
13601360
The HOMFLY-PT polynomial `P(L)` of a link `L` satisfies the following skein
13611361
relation (see the corresponding `KnotInfo description page
1362-
<https://knotinfo.math.indiana.edu/descriptions/jones_homfly_kauffman_description/polynomial_defn.html)>`__):
1362+
<https://knotinfo.org/descriptions/jones_homfly_kauffman_description/polynomial_defn.html>`__):
13631363
13641364
.. MATH::
13651365
@@ -1460,7 +1460,7 @@ def kauffman_polynomial(self, var1='a', var2='z', original=False):
14601460
under regular isotopy `\Delta (L) = a^{w(L)} F(L)` where `w(L)` is the
14611461
writhe of the link `L` satisfies the following skein relation
14621462
(see the corresponding `KnotInfo description page
1463-
<https://knotinfo.math.indiana.edu/descriptions/jones_homfly_kauffman_description/polynomial_defn.html)>`__):
1463+
<https://knotinfo.org/descriptions/jones_homfly_kauffman_description/polynomial_defn.html>`__):
14641464
14651465
.. MATH::
14661466
@@ -1547,7 +1547,7 @@ def jones_polynomial(self, variab=None, skein_normalization=False, puiseux=False
15471547
15481548
The Jones polynomial `V(L)` of a link `L` satisfies the following skein
15491549
relation (see the corresponding `KnotInfo description page
1550-
<https://knotinfo.math.indiana.edu/descriptions/jones_homfly_kauffman_description/polynomial_defn.html)>`__):
1550+
<https://knotinfo.org/descriptions/jones_homfly_kauffman_description/polynomial_defn.html>`__):
15511551
15521552
.. MATH::
15531553
@@ -2005,7 +2005,7 @@ def khovanov_polynomial(self, var1='q', var2='t', torsion='T', ring=None, origin
20052005
- :wikipedia:`Khovanov_homology`
20062006
- :wikipedia:`Reduced_homology`
20072007
- [ORS2013]_
2008-
- `KnotInfo <https://knotinfo.math.indiana.edu/descriptions/khovanov_unreduced_integral_polynomial.html>`__
2008+
- `KnotInfo <https://knotinfo.org/descriptions/khovanov_unreduced_integral_polynomial.html>`__
20092009
"""
20102010
if not ring:
20112011
if self.is_knot():

src/sage/knots/link.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
.. SEEALSO::
2929
3030
There are also tables of link and knot invariants at web-pages
31-
`KnotInfo <https://knotinfo.math.indiana.edu/>`__ and
32-
`LinkInfo <https://linkinfo.sitehost.iu.edu>`__. These can be
31+
`KnotInfo <https://knotinfo.org/>`__ and
32+
`LinkInfo <https://link-info-repo.onrender.com>`__. These can be
3333
used inside Sage after installing the optional package
3434
``database_knotinfo`` (type ``sage -i database_knotinfo`` in a command shell,
3535
see :mod:`~sage.knots.knotinfo`).
@@ -2071,7 +2071,7 @@ def khovanov_polynomial(self, var1='q', var2='t', torsion='T', ring=ZZ, base_rin
20712071
be transferred to :meth:`khovanov_homology`
20722072
20732073
Here we follow the conventions used in
2074-
`KnotInfo <https://knotinfo.math.indiana.edu/descriptions/khovanov_unreduced_integral_polynomial.html>`__
2074+
`KnotInfo <https://knotinfo.org/descriptions/khovanov_unreduced_integral_polynomial.html>`__
20752075
20762076
OUTPUT:
20772077
@@ -3004,7 +3004,7 @@ def homfly_polynomial(self, var1=None, var2=None, normalization='lm'):
30043004
in [KnotAtlas]_
30053005
30063006
Use the ``'vz'`` normalization to agree with the data
3007-
`KnotInfo <http://www.indiana.edu/~knotinfo/>`__.
3007+
`KnotInfo <https://knotinfo.org/>`__.
30083008
30093009
EXAMPLES:
30103010

0 commit comments

Comments
 (0)