pyvsc
pyvsc (Verification Stimulus and Coverage) is a Python package for generating randomized stimulus and defining and collecting functional coverage.
What it is and what it does
PyVSC is a Python library for functional verification that combines constraint-based randomization with coverage collection. It lets you define randomizable test stimulus using constraints, then generate random test cases that satisfy those constraints. The library depends on pyboolector for constraint solving, pyucis for coverage collection, and toposort for dependency ordering.
It is used in verification workflows where you need to generate diverse, constrained random test cases and measure functional coverage. The package supports current Python versions (3.10+) and is actively maintained with a permissive Apache 2.0 license. It sits in the top 15000 PyPI packages by download volume, indicating adoption in the verification community.
Use it for:
- Generate randomized test vectors that satisfy complex design constraints.
- Define and collect functional coverage metrics to measure test completeness.
- Build constraint-based test generators for protocol or interface verification.
- Automate stimulus generation for regression testing with reproducible random seeds.
- Integrate verification workflows into Python-based CI/CD pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyVSC generates randomized test stimulus and defines and collects functional coverage for verification, using constraint-based randomization with a solver backend.
Yes, if you are doing verification and need constraint-based randomization and coverage collection in Python. The package is actively maintained, has low install friction, carries no known security vulnerabilities, and uses a permissive license. The main constraint is the Python 3.10+ requirement and dependencies on pyboolector and pyucis. For verification teams already in Python, this is a solid choice.
Install
pyvsc on PyPI
pip
pip install pyvscuv
uv add pyvscpoetry
poetry add pyvscInstalling pyvsc
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release 66 days ago and ongoing commits. Depends on pyboolector, pyucis, and toposort.
License in practice
Apache 2.0 is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects that can accommodate attribution and license inclusion.
Quickstart
pip install pyvsc
import pyvsc
# Use pyvsc for constraint-based randomization and coverage collection
# See documentation at pyvsc.readthedocs.io for detailed examples
Requires Python 3.10 or later.
Verify before relying
- Whether pyboolector and pyucis are available as pre-built wheels or require compilation on target platforms.
- API stability and whether breaking changes are expected in future releases.
- Specific use-case examples and typical workflows beyond the published documentation.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pyboolector, pyucis, toposort |
| Maintenance | actively maintained — 66 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 87,455/month — #13,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyvsc-0.9.5.27214109393-py2.py3-none-any.whl
Keywords: Python, Functional Verification, Constraints, Coverage
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
cocotb-coverageAdds constrained randomization and functional…
permissive · top 15,000 on PyPI
cocotbcocotb is a Python framework for writing…
permissive · top 15,000 on PyPI
pyvcgPyVCG generates verification conditions for SMT…
copyleft · top 15,000 on PyPI
samplomaticSamplomatic generates randomized variants of…
permissive · top 15,000 on PyPI
cvxpyCVXPY is a Python modeling language for…
permissive · top 5,000 on PyPI
cvc5cvc5 is a satisfiability modulo theories (SMT)…
unclear · top 15,000 on PyPI
pytest-randomlyA pytest plugin that randomly shuffles test…
permissive · top 5,000 on PyPI
python-constraintSolves constraint satisfaction problems (CSPs)…
permissive · top 15,000 on PyPI
hypothesisHypothesis is a property-based testing library…
copyleft · top 1,000 on PyPI
cvxpy-basecvxpy-base provides compiled solver kernels for…
permissive · top 15,000 on PyPI