Skip to main content

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.

CI PyPI License Python

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, Evidence models
  • 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

vnvspec-0.1.0.tar.gz (195.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vnvspec-0.1.0-py3-none-any.whl (61.8 kB view details)

Uploaded Python 3

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

Hashes for vnvspec-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7eb5cca0029d9a07840382f3916e3f7fdc957a369b6af7e1629409b027c12f69
MD5 952bd36240a5d27efffbbdf1c5536e12
BLAKE2b-256 b63a30f867a12892f7a4e9c8a75be48a5342b726beb7647de78c0e135d6d6219

See more details on using hashes here.

Provenance

The following attestation bundles were made for vnvspec-0.1.0.tar.gz:

Publisher: workflow.yml on ai-vnv/vnvspec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for vnvspec-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6f5bfb65c7450a5db6644c289210096f7a0fedfc1cfbdfebef0a3b5a0315f12
MD5 c92cecde9a56215109269b8205e8248c
BLAKE2b-256 69921dedfdef309f76f7e2a4ee5f0a1e1b45a4f22fac3d9293050c2a39da3910

See more details on using hashes here.

Provenance

The following attestation bundles were made for vnvspec-0.1.0-py3-none-any.whl:

Publisher: workflow.yml on ai-vnv/vnvspec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page