A tool for managing requirements with related tests and test results.
Project description
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
- all:
- Perform formatting (black):
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file reqstool-0.5.2.tar.gz
.
File metadata
- Download URL: reqstool-0.5.2.tar.gz
- Upload date:
- Size: 98.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c5cc7cd71a8709f6c7ffb2375f681706e70e503baf7e6cc3f0a7666fb80faa7 |
|
MD5 | bf7d4d5551f12cd74d5f4f20ba6affb3 |
|
BLAKE2b-256 | 024d8b3a9d9bbcbf2437f12d02fa0279a2e3b4a6393f88243d511c39588812a1 |
Provenance
The following attestation bundles were made for reqstool-0.5.2.tar.gz
:
Publisher:
release_prod.yml
on luftfartsverket/reqstool-client
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
reqstool-0.5.2.tar.gz
- Subject digest:
2c5cc7cd71a8709f6c7ffb2375f681706e70e503baf7e6cc3f0a7666fb80faa7
- Sigstore transparency entry: 145559075
- Sigstore integration time:
- Predicate type:
File details
Details for the file reqstool-0.5.2-py3-none-any.whl
.
File metadata
- Download URL: reqstool-0.5.2-py3-none-any.whl
- Upload date:
- Size: 72.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d08f56051862aa5ae3ab891d9c781c8816234bbcbed357245ee822f325fdd74 |
|
MD5 | dfaba03356267b4b84b81c5b0960e5f5 |
|
BLAKE2b-256 | b621b5ef0c72343ba5d829ce56aaf2f2b0dc268f4bc9d8a2717d50988bb05b24 |
Provenance
The following attestation bundles were made for reqstool-0.5.2-py3-none-any.whl
:
Publisher:
release_prod.yml
on luftfartsverket/reqstool-client
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
reqstool-0.5.2-py3-none-any.whl
- Subject digest:
9d08f56051862aa5ae3ab891d9c781c8816234bbcbed357245ee822f325fdd74
- Sigstore transparency entry: 145559079
- Sigstore integration time:
- Predicate type: