{"id":27227,"library":"passagemath-libbraiding","title":"passagemath-libbraiding","description":"passagemath-libbraiding provides Python bindings to libbraiding for braid group computations (word reductions, conjugacy tests, etc.). It is part of the passagemath ecosystem. Current version: 10.8.4. Release cadence: follows passagemath releases, typically a few per year.","status":"active","version":"10.8.4","language":"python","source_language":"en","source_url":"https://github.com/passagemath/passagemath","tags":["braid","groups","libbraiding","computation","sage"],"install":[{"cmd":"pip install passagemath-libbraiding","lang":"bash","label":"Standard pip install"},{"cmd":"conda install -c conda-forge passagemath-libbraiding","lang":"bash","label":"Conda install"}],"dependencies":[{"reason":"Provides base SageMath categories and objects.","package":"passagemath-sage-objects","optional":false},{"reason":"Signal handling for interrupts in Cython code.","package":"cysignals","optional":false},{"reason":"Data files required for libbraiding computations.","package":"passagemath-libbraiding-data","optional":true}],"imports":[{"note":"passagemath reorganized imports; the old sage.* path is no longer available.","wrong":"from sage.groups.braid import BraidGroup","symbol":"BraidGroup","correct":"from passagemath.braid import BraidGroup"},{"note":"Correct import path.","wrong":"","symbol":"Braid","correct":"from passagemath.braid import Braid"}],"quickstart":{"code":"from passagemath.braid import BraidGroup\nB = BraidGroup(4)\nbraid = B([1, -2, 3])\nprint(braid)\nprint(braid.is_conjugate(B([2, -1, 3])))","lang":"python","description":"Create a braid group on 4 strands, make a braid, and check conjugacy."},"warnings":[{"fix":"Replace 'sage.groups.braid' with 'passagemath.braid'.","message":"In passagemath 10.x, all imports moved from sage.* to passagemath.*. Old code using 'from sage.groups.braid import BraidGroup' will break.","severity":"breaking","affected_versions":">=10.0"},{"fix":"Upgrade to passagemath-libbraiding >=11.0 when available for Python 3.12+ support.","message":"passagemath-libbraiding 10.8.x is the last release supporting Python 3.11; Python 3.12+ requires version 11+.","severity":"deprecated","affected_versions":"10.x"},{"fix":"Install libbraiding via system package manager (e.g., 'apt install libbraiding-dev') or use conda (includes it).","message":"The libbraiding C library must be installed separately; passagemath-libbraiding only provides the Python bindings.","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":"Use 'from passagemath.braid import BraidGroup' instead.","cause":"Old import path used before passagemath rename.","error":"ImportError: cannot import name 'BraidGroup' from 'sage.groups.braid'"},{"fix":"Run 'pip install passagemath-libbraiding' in the correct environment.","cause":"passagemath-libbraiding is not installed or the Python environment is incorrect.","error":"ModuleNotFoundError: No module named 'passagemath.braid'"},{"fix":"Install libbraiding system-wide (e.g., 'apt install libbraiding-dev' on Debian/Ubuntu) or use conda.","cause":"The underlying libbraiding C library is missing.","error":"libbraiding.so: cannot open shared object file: No such file or directory"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}