{"id":23399,"library":"cbcbox","title":"CBC MILP Solver","description":"Binary distribution of the COIN-OR Branch and Cut (CBC) MILP solver for Python. Provides a precompiled CBC binary via Python package, enabling mixed-integer linear programming. Current version 2.929. Release cadence is irregular; follows upstream CBC releases.","status":"active","version":"2.929","language":"python","source_language":"en","source_url":"https://github.com/h-g-s/cbcbox","tags":["solver","MILP","linear programming","optimization","CBC"],"install":[{"cmd":"pip install cbcbox","lang":"bash","label":"Install cbcbox"}],"dependencies":[{"reason":"cbcbox is often used with or-tools' CBC interface, but it can also be used standalone","package":"ortools","optional":true},{"reason":"PuLP can use cbcbox as a solver backend","package":"pulp","optional":true}],"imports":[{"note":"cbcbox is a module that provides the CBC binary path; no classes typically imported.","wrong":"","symbol":"cbcbox","correct":"import cbcbox"}],"quickstart":{"code":"import cbcbox\nfrom pathlib import Path\ncbc_path = Path(cbcbox.__file__).parent / 'cbc'\nprint('CBC executable found at:', cbc_path.exists())","lang":"python","description":"Verifies that the CBC binary shipped with cbcbox exists. Then use with PuLP or or-tools by specifying the solver path."},"warnings":[{"fix":"Use the conda-forge version of CBC or compile from source if your platform lacks a wheel.","message":"Some OS-specific wheels are not updated; Linux x86_64 and macOS x86_64 are supported, but ARM macOS may see delays.","severity":"deprecated","affected_versions":"<=2.929"},{"fix":"Run: import subprocess; subprocess.run(['chmod', '+x', cbc_path])","message":"The binary may not have execute permissions after installation on some systems; you may need to chmod +x.","severity":"gotcha","affected_versions":"all"},{"fix":"Check for the existence of the binary rather than pinning a specific version.","message":"Version numbering changed between major releases; do not rely on version comparisons.","severity":"breaking","affected_versions":">=2.0"},{"fix":"Install a modeling library like PuLP: `pip install pulp` and then set solver path to cbcbox's CBC binary.","message":"cbcbox does not expose a Python API; it only bundles the binary. Use PuLP or or-tools to actually solve models.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `pip install cbcbox` in the correct Python environment.","cause":"Package not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'cbcbox'"},{"fix":"Ensure you are on a supported platform (Linux x86_64, macOS x86_64). For others, install CBC via conda or compile from source.","cause":"CBC binary missing due to incomplete installation or wrong platform.","error":"FileNotFoundError: [Errno 2] No such file or directory: '.../cbc'"},{"fix":"Run `import subprocess; subprocess.run(['chmod', '+x', str(cbc_path)])` after importing cbcbox.","cause":"Binary lacks execute permission on Linux/macOS.","error":"PermissionError: [Errno 13] Permission denied: '.../cbc'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}