Skip to main content

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

Project description

Commit Activity GitHub Issues License Build Documentation 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 or pipx

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

pipx install 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

Full documentation can be found here.

Contributing

See the organization-wide CONTRIBUTING.md.

License

MIT License.

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.6.0.tar.gz (99.0 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.6.0-py3-none-any.whl (77.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reqstool-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ad7ad84a71e71ba58112d539c95cecf2e02d9c1771d13f418e55f0a2a221bfdd
MD5 2d694e78437b75c0619bdfd1a4241e81
BLAKE2b-256 7a4dd5f60d902a370a626e9f3a8f7c5c1f65a4bc7baba69a2b8a35b5b933c094

See more details on using hashes here.

Provenance

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

Publisher: release_prod.yml on reqstool/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.6.0-py3-none-any.whl.

File metadata

  • Download URL: reqstool-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 77.4 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2f83d1f4addbef5e149657d120e71dafe8ba5cef14695049c8b72d10d1aa099
MD5 feb0895fc4e163cf6d5a18200b4d6d63
BLAKE2b-256 3572fd11e46683274bf72730f2727d07ef03d1e386e0163cc35d802c8ed88e68

See more details on using hashes here.

Provenance

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

Publisher: release_prod.yml on reqstool/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