claripy
An abstraction layer for constraint solvers
Decision gist · record as of 2026-08-14
Yes, if you need constraint solving in program analysis, symbolic execution, or formal verification. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. It is well-suited for researchers and practitioners working with symbolic reasoning or the angr framework. Not necessary for general-purpose applications.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later; z3-solver must be installed as a runtime dependency.
- Installation is straightforward with only two runtime dependencies (cachetools and z3-solver).
- The package is actively maintained with a recent release and steady commit activity, supporting current Python versions (3.12, 3.13, 3.14).
License · maintenance · safety
BSD-2-Clause (permissive) — BSD-2-Clause is a permissive license allowing broad use, modification, and distribution with minimal restrictions—suitable for most projects including commercial ones.
last release 2026-08-05 (9 days) · last repo commit 2026-08-10 · 334 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 900,429 downloads/mo, #4,774 on PyPI
Alternatives
Verify before relying
pip install claripy
import claripy
a = claripy.BVV(3, 32)
b = claripy.BVS('var_b', 32)
s = claripy.Solver()
s.add(b > a)
print(s.eval(b, 1)[0])- Whether claripy supports constraint solvers other than Z3 as backends, or if Z3 is the primary/only solver currently wrapped.
- Performance characteristics when solving large constraint systems or handling complex symbolic expressions.
What it is and what it does
Claripy is a constraint-solving abstraction layer that sits between your code and underlying solvers like Z3. It provides a unified interface for building and solving symbolic constraints over bit-vectors and other domains, shielding you from solver-specific APIs. The package is part of the angr ecosystem and is commonly used in symbolic execution, program analysis, and formal verification workflows.
You define symbolic variables and concrete values, add constraints to a solver, and then query the solver for satisfying assignments. The abstraction lets you swap solvers or combine multiple backends without rewriting constraint-building logic. With active maintenance, support for modern Python versions, and only two runtime dependencies, it integrates cleanly into analysis pipelines.
Use it for
- Symbolic execution: Build and solve path constraints in program analysis without solver-specific code.
- Formal verification: Express and verify properties of systems using bit-vector constraints and symbolic reasoning.
- Constraint-based testing: Generate test inputs by solving constraints over program variables.
- Program analysis: Reason about reachability and feasibility of code paths in static or dynamic analysis.
- Reverse engineering: Solve for inputs that satisfy observed program behavior or constraints.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need constraint solving in program analysis, symbolic execution, or formal verification.
The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. It is well-suited for researchers and practitioners working with symbolic reasoning or the angr framework. Not necessary for general-purpose applications.
Install
claripy on PyPI
Before you install
Installation is straightforward with only two runtime dependencies (cachetools and z3-solver). The package is actively maintained with a recent release and steady commit activity, supporting current Python versions (3.12, 3.13, 3.14).
Requires Python 3.12 or later; z3-solver must be installed as a runtime dependency.
License in practice
BSD-2-Clause is a permissive license allowing broad use, modification, and distribution with minimal restrictions—suitable for most projects including commercial ones.
Quickstart
pip install claripy
import claripy
a = claripy.BVV(3, 32)
b = claripy.BVS('var_b', 32)
s = claripy.Solver()
s.add(b > a)
print(s.eval(b, 1)[0])
Verify before relying
- Whether claripy supports constraint solvers other than Z3 as backends, or if Z3 is the primary/only solver currently wrapped.
- Performance characteristics when solving large constraint systems or handling complex symbolic expressions.
Package facts
| License | BSD-2-Clause permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagescachetoolsz3-solver |
| Maintenance | Actively maintained 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 900,429 / month, #4,774 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: claripy-9.3.2-py3-none-any.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 › “symbolic execution constraints”
- claripyClaripy is an abstraction layer for constraint solvers that wraps Z3…
- crosshair-toolCrossHair uses symbolic execution and SMT solving to find…
- PyBoolectorPython wrapper around Boolector, a 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 z3-solver · optlang · python-constraint · PyBoolector · nab-resolver · ailment · clingo · ortools · cvxpy-base