Warning
This project is in early development. The API may change in future releases.
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.
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
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 WhCreate an input file input.toml:
[Power.model]
battery_capacity = 150.0Run verification:
veriq calc my_project.py -i input.toml -o output.toml --verify- 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
MIT License
veriq originated in the shunichironomura/veriq repository, and its early development up to version v0.0.1 was supported by ArkEdge Space Inc.