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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reqstool-0.5.11.tar.gz.
File metadata
- Download URL: reqstool-0.5.11.tar.gz
- Upload date:
- Size: 93.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b408e6fd3919b7d90df0438e0cc5651a349a507c855321cb53e2aa86c0b844
|
|
| MD5 |
f64ab39ada3f7e392869956225b64b3e
|
|
| BLAKE2b-256 |
ea7ffa2afd1988cbb791ce565a70b336e7af6c2e48fdf6cb6a114efe8445a6fa
|
Provenance
The following attestation bundles were made for reqstool-0.5.11.tar.gz:
Publisher:
release_prod.yml on luftfartsverket/reqstool-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reqstool-0.5.11.tar.gz -
Subject digest:
42b408e6fd3919b7d90df0438e0cc5651a349a507c855321cb53e2aa86c0b844 - Sigstore transparency entry: 192416271
- Sigstore integration time:
-
Permalink:
luftfartsverket/reqstool-client@19a23d89641e6cf0ab715130cb8928765d115702 -
Branch / Tag:
refs/tags/v0.5.11 - Owner: https://github.com/luftfartsverket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_prod.yml@19a23d89641e6cf0ab715130cb8928765d115702 -
Trigger Event:
release
-
Statement type:
File details
Details for the file reqstool-0.5.11-py3-none-any.whl.
File metadata
- Download URL: reqstool-0.5.11-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.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d988c8731f962c40b0a3ce43b1f3ca57c2a91c00d95319668d0e059049c0558
|
|
| MD5 |
816785d9409115b5247435b930358fa7
|
|
| BLAKE2b-256 |
6d67542b5d43a98d579469c22fefb3a9fe645a81d6a61bfc82e51a6890c4c623
|
Provenance
The following attestation bundles were made for reqstool-0.5.11-py3-none-any.whl:
Publisher:
release_prod.yml on luftfartsverket/reqstool-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reqstool-0.5.11-py3-none-any.whl -
Subject digest:
3d988c8731f962c40b0a3ce43b1f3ca57c2a91c00d95319668d0e059049c0558 - Sigstore transparency entry: 192416280
- Sigstore integration time:
-
Permalink:
luftfartsverket/reqstool-client@19a23d89641e6cf0ab715130cb8928765d115702 -
Branch / Tag:
refs/tags/v0.5.11 - Owner: https://github.com/luftfartsverket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_prod.yml@19a23d89641e6cf0ab715130cb8928765d115702 -
Trigger Event:
release
-
Statement type: