skillfed

cvc5

Python bindings for cvc5 (BSD version)

cvc5 v1.3.4 296.1K downloads/30d#7,905 on PyPI1,352
License unclear Active released

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

cvc5 is a satisfiability modulo theories (SMT) solver that determines whether first-order logic formulas are satisfiable under combinations of theories; it provides Python bindings to use the solver as a library.

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

pip

pip install cvc5

uv

uv add cvc5

poetry

poetry add cvc5

Installing cvc5

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.

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

Requires a platform with a precompiled wheel available (macOS, Linux, or Windows on x86_64 or ARM); exact Python version requirements are unspecified.

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

SMT solver satisfiabilityfirst-order logic theorem provingconstraint satisfaction solverformal verification toolsatisfiability modulo theoriesautomated reasoning librarylogic formula solver
formal-verificationconstraint-solvingautomated-reasoning

More Mathematics packages