Snappy Manifolds Database
raw JSON → 1.4 verified Fri May 01 auth: no python
A database of snappy manifolds for use with the SnapPy library. Current version 1.4 expands OrientableCuspedCensus and CensusKnots to include all 10-tetrahedra manifolds and adds the RibbonLinks census. Maintained by the 3-manifolds community.
pip install snappy-manifolds Common errors
error ModuleNotFoundError: No module named 'snappy_manifolds' ↓
cause snappy-manifolds not installed or not importable from current environment.
fix
Run 'pip install snappy-manifolds' in the appropriate Python environment.
error AttributeError: module 'snappy_manifolds' has no attribute 'orientable_cusped_census' ↓
cause The submodule orientable_cusped_census was not imported explicitly.
fix
Use 'from snappy_manifolds import orientable_cusped_census' instead of 'import snappy_manifolds; snappy_manifolds.orientable_cusped_census'.
Warnings
breaking In version 1.4, OrientableCuspedCensus and CensusKnots expanded to include all 10-tetrahedra manifolds. This may change numeric indices and increase memory usage. ↓
fix If your code depends on specific indices (e.g., orientable_cusped_census[100]), verify the new ordering and update accordingly.
deprecated Some older census names may be deprecated in future releases; check documentation for aliases. ↓
fix Use the current census names as listed in the documentation.
gotcha snappy-manifolds does not automatically load all submodules on import. You must import specific submodules explicitly. ↓
fix Use e.g. 'from snappy_manifolds.link_exteriors import LinkExteriors' instead of relying on the top-level package.
Imports
- orientable_cusped_census wrong
import orientable_cusped_censuscorrectfrom snappy_manifolds import orientable_cusped_census - HTLinkExteriors wrong
from snappy_manifolds import HTLinkExteriorscorrectfrom snappy_manifolds.link_exteriors import HTLinkExteriors
Quickstart
import snappy
from snappy_manifolds import orientable_cusped_census
# Load a manifold from the census
M = orientable_cusped_census[0]
print(M.name(), M.volume())