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.2.tar.gz (75.8 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.2-py3-none-any.whl (94.5 kB view details)

Uploaded Python 3

File details

Details for the file veriq-0.4.2.tar.gz.

File metadata

  • Download URL: veriq-0.4.2.tar.gz
  • Upload date:
  • Size: 75.8 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.2.tar.gz
Algorithm Hash digest
SHA256 0d8899f324c1309ccc3780a6259701676b5cc3d66175eccfbfd2bac55651acb9
MD5 b2afcf1cd4be7ed7ac68fb527d435b90
BLAKE2b-256 10860da2a952067d39c704d3a8374d49246e44cb0db71859f2cf7c5c073cd0ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for veriq-0.4.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: veriq-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 94.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 df1b27b8112f933b276121c6f838a17d3417184a1effef2dcaf2d2b859180135
MD5 f24b9ed6717032fa9c737a2504b4c77b
BLAKE2b-256 99b3ac6d3af030d832a8325db6f38c59c950ab4d524178c8ef9dabaa365c0ab5

See more details on using hashes here.

Provenance

The following attestation bundles were made for veriq-0.4.2-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