Skip to main content

A Python library for managing software development documentation and testing that automates the generation of PDFs, validation packs, and traceability matrices.

Project description

TraceFlow

TraceFlow Logo

TraceFlow is a Python library designed to help manage software development documentation and testing processes, streamlining the production of requirements, design documents, and test cases (both automated and manual). With built-in support for PDF export, you can easily sign the output making TraceFlow particularly suited for projects in regulated environments or environments where compliance with 21 CFR 11 is necessary.

By leveraging TraceFlow, you can:

  • Maintain your documentation in the same git repository as your code, ensuring version control and easy collaboration.
  • Automatically produce a "validation pack" containing all requirements, design, and test plans in PDF format.
  • Generate a traceability matrix linking all requirements to all tests.
  • Create fillable PDF forms for manual tests.
  • Run automated tests and capture their output as Markdown, then include them in the PDF report.

Getting Started

To use TraceFlow, organize your Markdown files in the following folder structure:

project/
  ├── requirements/
  │   ├── requirements.md
  │   └── ...
  ├── design/
  │   ├── design.md
  │   └── ...
  └── tests/
      ├── test_plan.md
      └── ...

Create your Markdown files based on the provided examples:

Running TraceFlow

With your Markdown files in place, you can run TraceFlow using the following command:

traceflow path/to/project-docs project.pdf

This command will generate a PDF for all of your documentation and test cases, as well as a validation pack and traceability matrix.

Requirements

# Requirements

## REQ-001: User authentication

Users must be able to authenticate using their email address and a password.

### Example LaTeX equation

The strength of the user's password should follow the entropy equation:

$$ H = L \times \log_2(N) $$

Where $H$ is the entropy, $L$ is the password length, and $N$ is the number of possible symbols.

## REQ-002: MRI dataset import

The platform must support importing MRI datasets in DICOM format.

### Example image (.png)

![Caption for example image](./mri_sample.png)

## REQ-003: Image analysis pipeline

- The platform should provide a Python API for building image analysis pipelines.
- The pipelines must be able to process MRI datasets in a compliant way.

### Example table

| Step          | Description                                      | API Function       |
|---------------|--------------------------------------------------|--------------------|
| Preprocessing | Remove noise, artifacts, and normalize intensity | preprocess_data()  |
| Segmentation  | Segment the relevant regions of interest         | segment_roi()      |
| Feature extraction | Extract features from segmented regions      | extract_features() |
| Classification | Classify the extracted features                 | classify_data()    |

### Example flow chart (using mermaid)

\```mermaid
graph LR
A[Preprocessing] --> B[Segmentation]
B --> C[Feature extraction]
C --> D[Classification]
\```

Test Plan

## TEST-001: User authentication

**Requirement ID:** REQ-001

### Test Steps:

1. Navigate to the login page.
2. Enter a valid email address and password.
3. Click the "Login" button.

### Expected Result:

The user is logged in and redirected to the main dashboard.

### Test Result (Manual):

\```manualtest
\```

Design Document

## User Authentication

To address **REQ-001**, we will implement an authentication system using JWT (JSON Web Tokens). The system will include the following components:

- A login page with input fields for email and password
- A backend API endpoint to validate user credentials
- Middleware to validate JWT tokens for accessing protected resources

## MRI Dataset Import

To address **REQ-002**, we will develop a module to import MRI datasets in DICOM format. The module will include:

- A function to parse DICOM files
- Error handling for unsupported or malformed files
- Integration with the existing data storage system

## Image Analysis Pipeline

To address **REQ-003**, we will create a Python API for building and executing image analysis pipelines. This API will include:

- A set of Python classes to represent pipeline components
- Functions to connect and execute pipeline components
- Compliance checks to ensure the pipeline adheres to the required standards

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

traceflow_rtm-0.0.22.tar.gz (188.0 kB view details)

Uploaded Source

Built Distribution

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

traceflow_rtm-0.0.22-py3-none-any.whl (142.1 kB view details)

Uploaded Python 3

File details

Details for the file traceflow_rtm-0.0.22.tar.gz.

File metadata

  • Download URL: traceflow_rtm-0.0.22.tar.gz
  • Upload date:
  • Size: 188.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for traceflow_rtm-0.0.22.tar.gz
Algorithm Hash digest
SHA256 7bd1ff2f6e0683c563e5696418baa42806c0d2ade88d387f59ca0e746ae67f18
MD5 6651c76886f2326fd8098a7b8175e8de
BLAKE2b-256 cce13545ae6f83271f9a873a55f3c0662faa15e099906e228f3ed2674e196dc9

See more details on using hashes here.

File details

Details for the file traceflow_rtm-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for traceflow_rtm-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 00616746b3b057ff9fb299934d8f352282d8cfa020f16281324cbf053d40bdea
MD5 af8621b461d5b1a750f9fb48e6a153c6
BLAKE2b-256 0d2238303e9a45249bcfc3d7545b9ce350d3108bc7396f90a2c5139117141d23

See more details on using hashes here.

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