Skip to main content

A tool for managing requirements with related tests and test results.

Project description

Commit Activity GitHub Issues License Build Static Badge GitHub Discussions

Reqstool Client

Overview

Reqstool is a tool for managing requirements with related software verification cases (aka tests) and verification results (test results).

  • Requirements are defined in YAML files and can reference each other (depending on the variant different data will be parsed).
  • Annotations are then used in code to specify where a requirement is implemented as well as tested.

With this information and the actual test results (e.g., JUnit), use Reqstool to:

  • Generate a report (AsciiDoc, which can be transformed into e.g. PDF) listing all requirements, where that requirement is implemented and tested, and whether the tests passed/failed. This report can be used e.g. with auditors ("Yes, we track this requirement, it's implemented (here) and it has been tested with a pass (here).")
  • Status the software, i.e. get a list of all requirements, their status on implementation and tests. Reqstool will exit with a status code equal to the number of requirements that have not been implemented and tested with a pass. Hence, it can be used in a pipeline as a gate for deployment to production.

Installation

You need to have the following installed in order to use the tool:

  • Python, 3.10 or later
  • pip

To use the tool, you need to install the PyPI package reqstool.

pip install -U reqstool
reqstool -h # to confirm installation

Usage

reqstool [-h] {command: report-asciidoc,generate-json,status} {location: local,git,maven} ...

Use -h/--help for more information about each command and location.

Documentation

For full documentation cane be found here.

Contributing

  • We adhere to the latest version of Contributor Covenant.
  • Fork repo
  • Before submitting a PR
    • Perform formatting (black): hatch run lint:black src tests
    • Run linter (flake8): hatch run lint:flake8
    • Run tests:
      • all: hatch run test:pytest --cov=reqstool
      • unit only: hatch run test:pytest --cov=reqstool tests/unit
      • integration only: hatch run test:pytest --cov=reqstool tests/integration

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

reqstool-0.5.12.tar.gz (93.6 kB view details)

Uploaded Source

Built Distribution

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

reqstool-0.5.12-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file reqstool-0.5.12.tar.gz.

File metadata

  • Download URL: reqstool-0.5.12.tar.gz
  • Upload date:
  • Size: 93.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reqstool-0.5.12.tar.gz
Algorithm Hash digest
SHA256 c998a9c87331714034ddf74c4b3ac85d5bea4ee1bb4649055be4954836a5c9e8
MD5 722d4e2e03727a204328836d87744e41
BLAKE2b-256 26be3b94513c3d04a1b43b294792314f40060ab24e8b4e8f0204bbb534a8f56f

See more details on using hashes here.

Provenance

The following attestation bundles were made for reqstool-0.5.12.tar.gz:

Publisher: release_prod.yml on luftfartsverket/reqstool-client

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

File details

Details for the file reqstool-0.5.12-py3-none-any.whl.

File metadata

  • Download URL: reqstool-0.5.12-py3-none-any.whl
  • Upload date:
  • Size: 72.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reqstool-0.5.12-py3-none-any.whl
Algorithm Hash digest
SHA256 80cb5165ea80b1dd55c533d55040664b59287c9301a5f53eab77e8f2aa722b6a
MD5 52f43ff6a8450b697f723abf2343984a
BLAKE2b-256 24c4966b990e3bce764d9071942e573b9a01b77fe1e5989c58fd9f4429fdbf7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for reqstool-0.5.12-py3-none-any.whl:

Publisher: release_prod.yml on luftfartsverket/reqstool-client

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