Skip to main content

The KnotInfo and LinkInfo databases as lists of dictionaries

Project description

Database KnotInfo

This repository contains a snapshot of the complete content of the KnotInfo and LinkInfo databases. Each database is provided as a Python list of Python dictionaries. The data are from the corresponding Excel spreadsheets available on the KnotInfo and LinkInfo homepages on the date of release.

Please note that the databases contain columns that are not visible on the web pages (see also the Release Notes 2023.4.8). The validity of the information in such columns cannot be guaranteed. Also, there are plans to remove them in the future.

This repository was created as a part of the SageMath interface to these databases (see the corresponding section of the SageMath reference manual or this tutorial) but can also be used independently.

In Python, it can be used as follows:

>>> from database_knotinfo import link_list
>>> k = link_list()
>>> len(k)
2979
>>> names_k = k[0]
>>> type(names_k)
<type 'dict'>
>>> names_k['braid_index']
'Braid Index'
>>> k2 = k[2]
>>> k2['name']
'3_1'
>>> k2['braid_index']
'2'
>>> k2['homfly_polynomial']
'(2*v^2-v^4)+(v^2)*z^2'

>>> l = link_list(proper_links=True)
>>> len(l)
4189
>>> names_l = l[0]
>>> type(names_l)
<type 'dict'>
>>> names_l['braid_notation']
'Braid Notation'
>>> l2 = l[2]
>>> l2['name']
'L2a1{1}'
>>> l2['homflypt_polynomial']
'v/z-v^3/z + v*z'

To build a new release, the CSV files can be upgraded with the create_knotinfo_csv.py script. A cronjob executes it on the first day of every month and creates a new release if differences are detected.

Installation

Python

pip install database_knotinfo

or

pip install database_knotinfo==2021.9.1

if you want to install a former version.

SageMath

Since Release 9.4, the database can be installed in Sage by:

sage -i database_knotinfo

This will contain integration with the knot and link functionality of Sage. Sage 9.4 ships the PyPI release 0.7 of the database. To use a more recent one you have to execute

sage -package update database_knotinfo <version>

before the installation command above, for example:

sage -package update database_knotinfo 2021.9.1

This procedure can be used to upgrade to the next version, as well. But note that there is a bug in 9.4 concerning such upgrades which will be fixed in SageMath 9.5 (see Trac ticket #32099). A workaround for 9.4 can be perfomed in a Sage session as follows:

sage: from sage.databases.knotinfo_db import KnotInfoDataBase
sage: KnotInfoDataBase().reset_filecache()

If you upgrade to a version of the database which is ahead of the version the SageMath release is build on, you should keep in mind, that the examples shown in the Sage reference manual may be outdated.

In case the installation via sage -i is failing on your system you can try:

sage -pip install database_knotinfo

or

sage -pip install database_knotinfo==0.7

for the version compatible the the current Sage release.

Open in Gitpod

Versioning

Version numbers are automatically generated every month if differences to the original databases are detected. They follow the scheme

<year>.<month>.<day>

Help

If you note a divergence between this repository and the original data in case the current release is older than a month please create an issue about that.

Credits

Many thanks to Chuck Livingston and Allison Moore for making the data available. For further acknowledgments see the corresponding homepages.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

database_knotinfo-2026.2.1.tar.gz (16.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

database_knotinfo-2026.2.1-py3-none-any.whl (17.3 MB view details)

Uploaded Python 3

File details

Details for the file database_knotinfo-2026.2.1.tar.gz.

File metadata

  • Download URL: database_knotinfo-2026.2.1.tar.gz
  • Upload date:
  • Size: 16.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for database_knotinfo-2026.2.1.tar.gz
Algorithm Hash digest
SHA256 2e4ea598531f280cc42a729d0ec10b2515f51322a402574c26604f7d16b21450
MD5 dabc364c1f670e0586a60e5ea27b3f10
BLAKE2b-256 2fa3e5c1c57fbb0ee6d4bb4cd44bff35c44d22f75c3261571ba5daf15b8e1525

See more details on using hashes here.

File details

Details for the file database_knotinfo-2026.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for database_knotinfo-2026.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9eefd56a69ed5581f1f185571a38032ca0efd08d070eb68f27844bcda3d6ea8d
MD5 ab7d9121f45a61c26497aa22a876befa
BLAKE2b-256 ce523d67db8e6746b626bddd5b95a912e746d8b6880e7fd4cb4ed7d8b08166e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page