cylp
A Python interface for CLP, CBC, and CGL
Decision gist · record as of 2026-08-14
Yes, with conditions. CyLP is worth installing if you need to solve linear or mixed-integer programs with customizable solver behavior from Python, and if you can manage the external Cbc dependency. Prebuilt wheels make installation easy on common platforms, but Apple Silicon users and older systems face friction. EPL-2.0 copyleft is acceptable for open-source and research use but requires review for proprietary software. Aging maintenance (254 days since last release) is a minor concern given active production use, but monitor for compatibility issues. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- COIN-OR Cbc binaries (version 2.10 or earlier) must be installed separately; on Linux/macOS, typically via system package manager, Homebrew, or conda.
- Binary wheels on Windows include Cbc; on other platforms, wheel availability depends on Python version and architecture.
- Medium friction: prebuilt wheels available for Python 3.10–3.14 on Windows, Linux, and macOS x86_64, but Apple Silicon and older platforms may require building from source.
License · maintenance · safety
EPL-2.0 (copyleft) — Licensed under EPL-2.0 (copyleft). Derivative works and modifications must be distributed under the same license; proprietary use of modified versions is restricted. Acceptable for research and open-source projects but requires careful review if integrating into closed-source commercial software.
last release 2025-12-03 (254 days) · last repo commit 2025-12-03 · 192 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 96,719 downloads/mo, #13,198 on PyPI
Alternatives
Verify before relying
pip install cylp
from cylp.cy import CyClpSimplex
s = CyClpSimplex()
s.readMps('problem.mps')
s.initialSolve()
print(s.objectiveValue)- Whether the aging maintenance status (254 days since last release) indicates active development or dormancy relative to project maturity.
- Compatibility with Cbc versions newer than 2.10 or whether the stated restriction is a hard blocker.
- Performance characteristics and scalability limits for large-scale optimization problems.
What it is and what it does
CyLP is a Python wrapper around COIN-OR's linear and mixed-integer programming solvers, designed to let you formulate optimization problems in Python and solve them using industrial-strength C++ backends. It supports reading problems from MPS files or building them programmatically using its modeling API, and its distinguishing feature is the ability to inject custom Python code into the solution process—defining cut generators, branch-and-bound strategies, and Simplex pivot rules on the fly.
The package depends on numpy and scipy for numerical operations and requires external COIN-OR Cbc binaries to function. Installation is straightforward on Windows and common Linux/macOS configurations via prebuilt wheels, but older platforms or Apple Silicon may require building from source, which adds complexity. It is actively used in research and production settings but has an aging maintenance posture with infrequent releases.
Use it for
- Formulate and solve linear and mixed-integer programs with custom branching or cutting-plane strategies embedded in Python.
- Read optimization problems from MPS files and solve them, then inspect or modify the solution process interactively.
- Build optimization models programmatically using CyLP's modeling API for supply-chain, scheduling, or resource-allocation problems.
- Integrate COIN-OR solvers into larger Python applications for convex optimization or other frameworks.
- Teach or research advanced techniques like mixed-integer cuts and branch-and-bound customization with a Python-friendly interface.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
CyLP is worth installing if you need to solve linear or mixed-integer programs with customizable solver behavior from Python, and if you can manage the external Cbc dependency. Prebuilt wheels make installation easy on common platforms, but Apple Silicon users and older systems face friction. EPL-2.0 copyleft is acceptable for open-source and research use but requires review for proprietary software. Aging maintenance (254 days since last release) is a minor concern given active production use, but monitor for compatibility issues. No known security vulnerabilities.
Install
cylp on PyPI
Before you install
Medium friction: prebuilt wheels available for Python 3.10–3.14 on Windows, Linux, and macOS x86_64, but Apple Silicon and older platforms may require building from source. Requires COIN-OR Cbc binaries (version 2.10 or earlier) installed separately. Maintenance status is aging—last release 254 days ago, though repository remains active.
COIN-OR Cbc binaries (version 2.10 or earlier) must be installed separately; on Linux/macOS, typically via system package manager, Homebrew, or conda. Binary wheels on Windows include Cbc; on other platforms, wheel availability depends on Python version and architecture.
License in practice
Licensed under EPL-2.0 (copyleft). Derivative works and modifications must be distributed under the same license; proprietary use of modified versions is restricted. Acceptable for research and open-source projects but requires careful review if integrating into closed-source commercial software.
Quickstart
pip install cylp
from cylp.cy import CyClpSimplex
s = CyClpSimplex()
s.readMps('problem.mps')
s.initialSolve()
print(s.objectiveValue)
Verify before relying
- Whether the aging maintenance status (254 days since last release) indicates active development or dormancy relative to project maturity.
- Compatibility with Cbc versions newer than 2.10 or whether the stated restriction is a hard blocker.
- Performance characteristics and scalability limits for large-scale optimization problems.
Package facts
| License | EPL-2.0 copyleft |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 2 packagesnumpyscipy |
| Maintenance | Aging 254 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 96,719 / month, #13,198 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: cylp-0.94.0-cp310-cp310-macosx_10_9_x86_64.whl; cylp-0.94.0-cp310-cp310-macosx_11_0_arm64.whl; cylp-0.94.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cylp-0.94.0-cp310-cp310-manylinux_2_24_i686.manylinux_2_28_i686.whl; cylp-0.94.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cylp-0.94.0-cp311-cp311-macosx_10_9_x86_64.whl; cylp-0.94.0-cp311-cp311-macosx_11_0_arm64.whl; cylp-0.94.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cylp-0.94.0-cp311-cp311-manylinux_2_24_i686.manylinux_2_28_i686.whl; cylp-0.94.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cylp-0.94.0-cp312-cp312-macosx_10_13_x86_64.whl; cylp-0.94.0-cp312-cp312-macosx_11_0_arm64.whl; cylp-0.94.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cylp-0.94.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cylp-0.94.0-cp313-cp313-macosx_10_13_x86_64.whl; cylp-0.94.0-cp313-cp313-macosx_11_0_arm64.whl; cylp-0.94.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cylp-0.94.0-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl; cylp-0.94.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cylp-0.94.0-cp314-cp314-macosx_10_15_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “coin-or cbc python wrapper”
- cylpCyLP provides a Python interface to COIN-OR's linear and…
- cbcboxcbcbox is a self-contained Python distribution of the CBC MILP…
- aes-pkcs5Provides AES encryption and decryption with CBC/ECB modes and PKCS5…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also cbcbox · mip · PuLP · amplpy · cvxpy · ortools · linopy · cvxpy-base · qpsolvers · fpylll