Skip to main content

Open Safety Qualification Architecture - A Sphinx-Needs boilerplate for safety-related systems.

Project description

License CI Docs

OSQAr — Open Safety Qualification Architecture

Auditable evidence shipments with traceability. Write requirements, architecture, and verification plans in reStructuredText. Link them with sphinx-needs. Package into integrity-protected shipments. Integrate across teams.

pipx install osqar
osqar new --language c --name hello_safety && cd hello_safety
osqar build-docs && osqar open-docs

Who this is for

Role Does
Supplier Produce auditable evidence shipments (docs + code + tests + checksums)
Integrator Verify, intake, and archive received shipments; enforce dependency closure
Internal team Standardize evidence packaging across subprojects and CI

Quick links

Features

Documentation & traceability

  • Structured requirements, architecture, verification plans via sphinx-needs + reStructuredText
  • PlantUML architecture diagrams embedded in docs
  • Machine-readable needs.json exports with full traceability graph
  • CSV and Excel (--format xlsx) traceability matrix exports for auditor review
  • Change impact analysis (osqar impact) from any seed requirement
  • Versioned requirement baselines with snapshot/list/diff (osqar baseline)
  • Requirement ID prefix overrides (--req-prefix, --arch-prefix, etc.)

Shipment & integrity

  • One-shot shipment preparation (osqar shipment prepare --archive)
  • SHA256SUMS manifest generation and verification
  • GPG detached signature support (osqar sign sign / osqar sign verify)
  • Incremental mode — only rebuild changed stages
  • Project metadata declaration with OSQAr-qualified dependency pins

Verification & CI

  • Traceability rule enforcement (REQ→ARCH, ARCH→REQ, REQ→TEST)
  • Code trace scanning with enforcement (osqar code-trace)
  • Configurable verification activities (sanitizers, static analysis, fuzzing)
  • Auto-generated gap documentation from osqar_project.json
  • PlantUML-free build mode (OSQAR_NO_DIAGRAMS=1) for offline/CI
  • Scaffold projects with osqar new --no-diagrams to permanently disable diagrams

Multi-project & organization

  • Workspace orchestration: list, report, verify, intake, combine
  • Cross-project traceability via namespace-prefixed workspace combine
  • Dependency closure enforcement across received shipments
  • Lifecycle management and collaboration workflows for multi-user teams
  • Reproducible native builds (C/C++/Rust, optional Bazel integration)
  • Extensible via project/workspace JSON config + command hooks

Getting started as a developer

git clone https://github.com/BitVortex/OSQAr.git
cd OSQAr
poetry install
osqar build-docs && osqar open-docs

For the full contributor setup (editable install, evidence tools, CI), see the framework docs.

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

osqar-0.8.0.tar.gz (135.0 kB view details)

Uploaded Source

Built Distribution

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

osqar-0.8.0-py3-none-any.whl (156.1 kB view details)

Uploaded Python 3

File details

Details for the file osqar-0.8.0.tar.gz.

File metadata

  • Download URL: osqar-0.8.0.tar.gz
  • Upload date:
  • Size: 135.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for osqar-0.8.0.tar.gz
Algorithm Hash digest
SHA256 1b89c6ee522353cb6a4190c8ffdecfe2bbf80725748d785db9ca467681682f2c
MD5 0f4e310cc680bbf07bca2a82c926e5e7
BLAKE2b-256 e12dc60b9357218548f16c8d9cff5683a2b507512964440adcd7500f3dd1a8d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for osqar-0.8.0.tar.gz:

Publisher: release.yml on BitVortex/OSQAr

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

File details

Details for the file osqar-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: osqar-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 156.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for osqar-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 791fecd460493a26edf67ee9aecab9e68200224b466f20e6db2d8faf84ee714c
MD5 b9120fb9c92563ccca0d2ffc145ef22c
BLAKE2b-256 fb66f0f7a235d0274a944d192e1f68038ce1f4d8b00bb6bd8cad4257b90231de

See more details on using hashes here.

Provenance

The following attestation bundles were made for osqar-0.8.0-py3-none-any.whl:

Publisher: release.yml on BitVortex/OSQAr

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