cvc5
Python bindings for cvc5 (BSD version)
Decision gist · record as of 2026-08-14
Yes, if you need SMT solving or automated reasoning. cvc5 is actively maintained, has no Python dependencies, installs via precompiled wheels on common platforms, and carries no known vulnerabilities. The main caveat is that license treatment is unclear in the metadata—verify BSD 3-Clause terms apply to your use case before deploying in proprietary software.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a platform with a precompiled wheel available (macOS, Linux, or Windows on x86_64 or ARM); exact Python version requirements are unspecified.
- Medium install friction: precompiled wheels are available for Python 3.10–3.13 across macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows (x86_64 and ARM).
- The package has no runtime dependencies and is actively maintained.
License · maintenance · safety
(unclear) — License treatment is unclear in the package metadata, though the description references BSD 3-Clause licensing. Verify the actual license terms before use in proprietary or restricted contexts.
last release 2026-05-07 (99 days) · last repo commit 2026-08-14 · 1,352 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 296,099 downloads/mo, #7,905 on PyPI
Alternatives
Verify before relying
pip install cvc5
import cvc5
solver = cvc5.Solver()
# construct and assert formulas, then check satisfiability- Exact Python version requirements (requires_python is unspecified in metadata)
- Whether the BSD 3-Clause license applies to the Python bindings or differs from the C++ core
- Performance characteristics and memory overhead compared to earlier CVC versions
What it is and what it does
cvc5 is the fifth generation of the Cooperating Validity Checker family, a C++-based SMT solver designed to determine satisfiability of first-order logic formulas under various theories. The Python bindings expose this solver as a library, allowing developers to programmatically construct formulas, assert constraints, and query satisfiability.
It is intended for formal verification, automated reasoning, constraint solving, and theorem proving tasks. The package is actively maintained, has no Python runtime dependencies (the solver itself is compiled), and provides wheels for modern Python versions and multiple platforms. It is suitable for both standalone use and integration into larger verification or analysis tools.
Use it for
- Verify correctness of software by encoding program properties as first-order formulas and checking satisfiability
- Solve constraint satisfaction problems in planning, scheduling, or configuration domains
- Perform automated reasoning and theorem proving for mathematical or logical assertions
- Debug or analyze symbolic execution traces in program analysis tools
- Validate hardware designs or protocol specifications expressed in logic
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need SMT solving or automated reasoning.
cvc5 is actively maintained, has no Python dependencies, installs via precompiled wheels on common platforms, and carries no known vulnerabilities. The main caveat is that license treatment is unclear in the metadata—verify BSD 3-Clause terms apply to your use case before deploying in proprietary software.
Install
cvc5 on PyPI
Before you install
Medium install friction: precompiled wheels are available for Python 3.10–3.13 across macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows (x86_64 and ARM). The package has no runtime dependencies and is actively maintained.
Requires a platform with a precompiled wheel available (macOS, Linux, or Windows on x86_64 or ARM); exact Python version requirements are unspecified.
License in practice
License treatment is unclear in the package metadata, though the description references BSD 3-Clause licensing. Verify the actual license terms before use in proprietary or restricted contexts.
Quickstart
pip install cvc5
import cvc5
solver = cvc5.Solver()
# construct and assert formulas, then check satisfiability
Verify before relying
- Exact Python version requirements (requires_python is unspecified in metadata)
- Whether the BSD 3-Clause license applies to the Python bindings or differs from the C++ core
- Performance characteristics and memory overhead compared to earlier CVC versions
Package facts
| License | Not declared unclear |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 99 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 296,099 / month, #7,905 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: cvc5-1.3.4-cp310-cp310-macosx_10_13_x86_64.whl; cvc5-1.3.4-cp310-cp310-macosx_11_0_arm64.whl; cvc5-1.3.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; cvc5-1.3.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; cvc5-1.3.4-cp310-cp310-win_amd64.whl; cvc5-1.3.4-cp310-cp310-win_arm64.whl; cvc5-1.3.4-cp311-cp311-macosx_10_13_x86_64.whl; cvc5-1.3.4-cp311-cp311-macosx_11_0_arm64.whl; cvc5-1.3.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; cvc5-1.3.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; cvc5-1.3.4-cp311-cp311-win_amd64.whl; cvc5-1.3.4-cp311-cp311-win_arm64.whl; cvc5-1.3.4-cp312-cp312-macosx_10_13_x86_64.whl; cvc5-1.3.4-cp312-cp312-macosx_11_0_arm64.whl; cvc5-1.3.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; cvc5-1.3.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; cvc5-1.3.4-cp312-cp312-win_amd64.whl; cvc5-1.3.4-cp312-cp312-win_arm64.whl; cvc5-1.3.4-cp313-cp313-macosx_10_13_x86_64.whl; cvc5-1.3.4-cp313-cp313-macosx_11_0_arm64.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 › “first-order logic theorem proving”
- cvc5cvc5 is a satisfiability modulo theories (SMT) solver that determines…
- lean-lsp-mcpProvides an MCP server that exposes the Lean theorem prover to LLM…
- z3-solverZ3 is a theorem prover and SMT (satisfiability modulo theories)…
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 PyBoolector · pyvcg · z3-solver · pycosat · python-sat · python-constraint · simplesat · clingo · crosshair-tool · pyvsc