V&V-grade specifications for engineered systems — AI, optimization, simulation, and physics.
Project description
vnvspec
V&V-grade specifications for engineered systems — AI, optimization, simulation, and physics.
Overview
vnvspec lets you write machine-readable V&V specifications for any engineered system and automatically assess models against them. It produces traceable evidence reports that map to international standards (ISO/PAS 8800, ISO 21448, UL 4600, EU AI Act, and more).
Key features
- Typed spec language — Pydantic-based
Spec,Requirement,IOContract,ODD,Hazard,Evidencemodels - INCOSE GtWR quality checker — catch vague, ambiguous, or unverifiable requirements early
- Traceability graphs — link requirements ↔ hazards ↔ evidence ↔ standards clauses
- Standards registries — built-in clause databases for ISO/PAS 8800, ISO 21448, UL 4600, EU AI Act, NIST AI RMF
- Pluggable adapters — wrap any model (PyTorch, HuggingFace, scikit-learn, ONNX, Pyomo, FMI)
- Auto-generated tests — emit pytest and Hypothesis property tests from specs
- Rich exports — HTML reports, Markdown, GSN assurance cases (Mermaid), EU AI Act Annex IV tech docs
Installation
pip install vnvspec
With PyTorch adapter:
pip install vnvspec[torch]
Quick start
from vnvspec import Requirement, Spec
req = Requirement(
id="REQ-001",
statement="The classifier shall produce probabilities in [0, 1].",
rationale="Probability outputs must be valid for downstream calibration.",
verification_method="test",
acceptance_criteria=["All output probabilities are between 0.0 and 1.0 inclusive."],
)
spec = Spec(name="image-classifier-v1", requirements=[req])
violations = req.check_quality()
print(f"Quality issues: {len(violations)}")
Development
# Install all dev dependencies
just install
# Run all checks (lint, typecheck, test with coverage)
just check
License
Apache-2.0. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vnvspec-0.1.0.tar.gz.
File metadata
- Download URL: vnvspec-0.1.0.tar.gz
- Upload date:
- Size: 195.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eb5cca0029d9a07840382f3916e3f7fdc957a369b6af7e1629409b027c12f69
|
|
| MD5 |
952bd36240a5d27efffbbdf1c5536e12
|
|
| BLAKE2b-256 |
b63a30f867a12892f7a4e9c8a75be48a5342b726beb7647de78c0e135d6d6219
|
Provenance
The following attestation bundles were made for vnvspec-0.1.0.tar.gz:
Publisher:
workflow.yml on ai-vnv/vnvspec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vnvspec-0.1.0.tar.gz -
Subject digest:
7eb5cca0029d9a07840382f3916e3f7fdc957a369b6af7e1629409b027c12f69 - Sigstore transparency entry: 1324715087
- Sigstore integration time:
-
Permalink:
ai-vnv/vnvspec@3908a18da457592199f20918e716464e82154ed3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ai-vnv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@3908a18da457592199f20918e716464e82154ed3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vnvspec-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vnvspec-0.1.0-py3-none-any.whl
- Upload date:
- Size: 61.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6f5bfb65c7450a5db6644c289210096f7a0fedfc1cfbdfebef0a3b5a0315f12
|
|
| MD5 |
c92cecde9a56215109269b8205e8248c
|
|
| BLAKE2b-256 |
69921dedfdef309f76f7e2a4ee5f0a1e1b45a4f22fac3d9293050c2a39da3910
|
Provenance
The following attestation bundles were made for vnvspec-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on ai-vnv/vnvspec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vnvspec-0.1.0-py3-none-any.whl -
Subject digest:
b6f5bfb65c7450a5db6644c289210096f7a0fedfc1cfbdfebef0a3b5a0315f12 - Sigstore transparency entry: 1324715165
- Sigstore integration time:
-
Permalink:
ai-vnv/vnvspec@3908a18da457592199f20918e716464e82154ed3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ai-vnv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@3908a18da457592199f20918e716464e82154ed3 -
Trigger Event:
push
-
Statement type: