{"id":24603,"library":"snappy-manifolds","title":"Snappy Manifolds Database","description":"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.","status":"active","version":"1.4","language":"python","source_language":"en","source_url":"https://github.com/3-manifolds/snappy_manifolds","tags":["snappy","manifolds","census","topology","3-manifolds"],"install":[{"cmd":"pip install snappy-manifolds","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Runtime dependency; snappy-manifolds provides data tables for SnapPy.","package":"snappy","optional":false}],"imports":[{"note":"Common mistake: importing the module directly instead of from the package.","wrong":"import orientable_cusped_census","symbol":"orientable_cusped_census","correct":"from snappy_manifolds import orientable_cusped_census"},{"note":"HTLinkExteriors is a submodule; direct import from top-level fails.","wrong":"from snappy_manifolds import HTLinkExteriors","symbol":"HTLinkExteriors","correct":"from snappy_manifolds.link_exteriors import HTLinkExteriors"}],"quickstart":{"code":"import snappy\nfrom snappy_manifolds import orientable_cusped_census\n\n# Load a manifold from the census\nM = orientable_cusped_census[0]\nprint(M.name(), M.volume())","lang":"python","description":"Load the first manifold from the orientable cusped census and print its name and volume."},"warnings":[{"fix":"If your code depends on specific indices (e.g., orientable_cusped_census[100]), verify the new ordering and update accordingly.","message":"In version 1.4, OrientableCuspedCensus and CensusKnots expanded to include all 10-tetrahedra manifolds. This may change numeric indices and increase memory usage.","severity":"breaking","affected_versions":">=1.4"},{"fix":"Use the current census names as listed in the documentation.","message":"Some older census names may be deprecated in future releases; check documentation for aliases.","severity":"deprecated","affected_versions":">=1.0"},{"fix":"Use e.g. 'from snappy_manifolds.link_exteriors import LinkExteriors' instead of relying on the top-level package.","message":"snappy-manifolds does not automatically load all submodules on import. You must import specific submodules explicitly.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install snappy-manifolds' in the appropriate Python environment.","cause":"snappy-manifolds not installed or not importable from current environment.","error":"ModuleNotFoundError: No module named 'snappy_manifolds'"},{"fix":"Use 'from snappy_manifolds import orientable_cusped_census' instead of 'import snappy_manifolds; snappy_manifolds.orientable_cusped_census'.","cause":"The submodule orientable_cusped_census was not imported explicitly.","error":"AttributeError: module 'snappy_manifolds' has no attribute 'orientable_cusped_census'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}