A lightweight Python library for managing system requirements, verifications, and design.
Project description
veriq
[!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.
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
Create an input file input.toml:
[Power.model]
battery_capacity = 150.0
Run verification:
veriq calc my_project.py -i input.toml -o output.toml --verify
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
License
MIT License
Acknowledgement
veriq originated in the shunichironomura/veriq repository, and its early development up to version v0.0.1 was supported by ArkEdge Space Inc.
Project details
Release history Release notifications | RSS feed
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 veriq-0.4.1.tar.gz.
File metadata
- Download URL: veriq-0.4.1.tar.gz
- Upload date:
- Size: 75.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d45d58b2821a91022373c8fe136a7d1041cafb924cc9428ed1181cae80689985
|
|
| MD5 |
99f95eec098f0a3dcdaa88b89072c74e
|
|
| BLAKE2b-256 |
f9f9e8fc4f347a6a4c3bb803a3a36023c1db5cc19b10a348806c811ca0bd1a0b
|
Provenance
The following attestation bundles were made for veriq-0.4.1.tar.gz:
Publisher:
release.yaml on ut-issl/veriq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
veriq-0.4.1.tar.gz -
Subject digest:
d45d58b2821a91022373c8fe136a7d1041cafb924cc9428ed1181cae80689985 - Sigstore transparency entry: 1221182482
- Sigstore integration time:
-
Permalink:
ut-issl/veriq@24c738fc38dca3d23de0b4aa25437d56fc5039f9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ut-issl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@24c738fc38dca3d23de0b4aa25437d56fc5039f9 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file veriq-0.4.1-py3-none-any.whl.
File metadata
- Download URL: veriq-0.4.1-py3-none-any.whl
- Upload date:
- Size: 94.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5a1689861954137d32534a89487082e36c71d62ecfb7b2ff3562b2bae65c263
|
|
| MD5 |
9484667d0b41a0cbef3d454a45d1c4dc
|
|
| BLAKE2b-256 |
215bc9c52508d12d2f5336637624524a4dc5256c6eb4ce7e81b6f38f7e6ddbdd
|
Provenance
The following attestation bundles were made for veriq-0.4.1-py3-none-any.whl:
Publisher:
release.yaml on ut-issl/veriq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
veriq-0.4.1-py3-none-any.whl -
Subject digest:
f5a1689861954137d32534a89487082e36c71d62ecfb7b2ff3562b2bae65c263 - Sigstore transparency entry: 1221182540
- Sigstore integration time:
-
Permalink:
ut-issl/veriq@24c738fc38dca3d23de0b4aa25437d56fc5039f9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ut-issl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@24c738fc38dca3d23de0b4aa25437d56fc5039f9 -
Trigger Event:
workflow_dispatch
-
Statement type: