Skip to main content

A lightweight Python library for managing system requirements, verifications, and design.

Project description

veriq

PyPI PyPI - License PyPI - Python Version Test Status codecov Documentation uv Ruff

[!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:

  1. Organizes your design parameters - Define input data using Pydantic models
  2. Tracks calculation dependencies - Automatically resolves the order of calculations
  3. Verifies requirements - Checks that your design meets all specified requirements
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veriq-0.4.1.tar.gz (75.5 kB view details)

Uploaded Source

Built Distribution

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

veriq-0.4.1-py3-none-any.whl (94.2 kB view details)

Uploaded Python 3

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

Hashes for veriq-0.4.1.tar.gz
Algorithm Hash digest
SHA256 d45d58b2821a91022373c8fe136a7d1041cafb924cc9428ed1181cae80689985
MD5 99f95eec098f0a3dcdaa88b89072c74e
BLAKE2b-256 f9f9e8fc4f347a6a4c3bb803a3a36023c1db5cc19b10a348806c811ca0bd1a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for veriq-0.4.1.tar.gz:

Publisher: release.yaml on ut-issl/veriq

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

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

Hashes for veriq-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f5a1689861954137d32534a89487082e36c71d62ecfb7b2ff3562b2bae65c263
MD5 9484667d0b41a0cbef3d454a45d1c4dc
BLAKE2b-256 215bc9c52508d12d2f5336637624524a4dc5256c6eb4ce7e81b6f38f7e6ddbdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for veriq-0.4.1-py3-none-any.whl:

Publisher: release.yaml on ut-issl/veriq

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