skillfed

pyvsc

pyvsc (Verification Stimulus and Coverage) is a Python package for generating randomized stimulus and defining and collecting functional coverage.

pyvsc v0.9.5.27214109393 87.5K downloads/30d#13,796 on PyPI148
Permissive license Apache 2.0 Active released

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 pyvsc

uv

uv add pyvsc

poetry

poetry add pyvsc

Installing 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

randomized test stimulus generationfunctional coverage collectionconstraint-based randomizationverification stimulus librarycoverage-driven verificationtest constraint solverpython verification framework
verificationconstraint-solvingcoverage-driven-testing

More Testing packages