Welcome to veriq¶
veriq is a Python library for requirements verification and design calculation management in engineering projects. Think of it as a smart spreadsheet that tracks dependencies between calculations and automatically verifies that requirements are met.
What Does veriq Do?¶
When you define your engineering project with veriq, it:
- Organizes your design parameters - Define input data using Pydantic models
- Tracks calculation dependencies - Automatically resolves the order of calculations
- Verifies requirements - Checks that your design meets all specified requirements
- Exports results - Saves all inputs, calculations, and verification results to TOML files
Quick Example¶
Define your project in Python:
import veriq as vq
from pydantic import BaseModel
from typing import Annotated
project = vq.Project("MySatellite")
power = vq.Scope("Power")
project.add_scope(power)
@power.root_model()
class PowerModel(BaseModel):
battery_capacity: float # in Watt-hours
@power.verification()
def verify_capacity(
capacity: Annotated[float, vq.Ref("$.battery_capacity")],
) -> bool:
return capacity >= 100.0 # Minimum 100 Wh
Run verification:
Why Use veriq?¶
- Type Safety - Leverage Pydantic for validated, typed design parameters
- Dependency Tracking - Automatic resolution of calculation order
- Requirement Traceability - Link verifications to engineering requirements
- Reproducibility - TOML-based input/output for version control
Getting Started¶
-
Installation
Install veriq using pip or uv.
-
Tutorial
Learn veriq step by step with hands-on examples.
-
Concepts
Understand the core concepts behind veriq.
-
CLI Reference
Complete command-line interface documentation.