Skip to main content

Analyzer and visualizer for OpenFastTrace aspec reports

Project description

OpenFastTrace Analysis Tool

A Python tool for analyzing and visualizing OpenFastTrace aspec reports, with a focus on identifying broken chains, dependencies, and version issues.

Learn more about OpenFastTrace at: itsallcode/openfasttrace

Features

  • 🔍 Trace Chain Analysis: Visualize and analyze chains of dependent specification items
  • 🚨 Failure Detection: Identify broken chains and the reasons for failures
  • 🎨 Rich Terminal Output: Beautiful console visualizations with colors and Unicode symbols
  • 🧠 Intelligent Analysis: Detects orphaned items, shallow coverage, and outdated versions

Installation

pip install oft-trace

Usage

Command Line Interface

The tool provides several commands:

Overview Analysis

oft-trace trace path/to/report.aspec

Analyzing a Specific Item

oft-trace trace path/to/report.aspec ITEM-123

Finding Broken Chains

oft-trace trace-failures path/to/report.aspec

Listing Items with Filtering

oft-trace list-items path/to/report.aspec --doctype req --coverage UNCOVERED

Common Options

  • --output/-o: Path to output file (HTML or text)
  • --limit/-l: Limit the number of items to analyze
  • --doctype/-t: Filter by document type
  • --coverage/-c: Filter by coverage status (COVERED, UNCOVERED, ORPHANED, SHALLOW, OUTDATED)
  • --direction/-d: Direction of links to trace (both, incoming, outgoing)

Understanding the Reports

Coverage Types

COVERED - Item is fully covered 🔍 ORPHANED - Item is not covered by any other items ⚠️ SHALLOW - Item has shallow coverage but misses deep coverage ♻️ OUTDATED - Item has version mismatch issues ❌ UNCOVERED - Item is completely uncovered

Example Terminal Output

FAILURE 1/5: req~payment-processing~2 [req]
Title: System must process payments securely

Failure reasons:
- ♻️ Version mismatch: arch-payment-module covers v1 but v2 is expected
-  Missing coverage for types: impl

Trace chain visualization:
└──  req~payment-processing~2 (v2) [req] (/specs/requirements.md:45)
    └── ♻️ VERSION MISMATCH: Covering v1 but v2 expected
        └── ⚠️ arch-payment-module~1 (v1) [arch] (/specs/architecture.md:67)

Advanced Usage

Programmatic Usage

You can also use the library programmatically in your Python code:

from oft_trace.analyzer import TraceAnalyzer
from oft_trace.parser import parse_aspec_file

# Parse the file
result = parse_aspec_file("path/to/report.aspec")
spec_items, id_map, covering_map, covered_by_map, broken_chains = result

# Create analyzer
analyzer = TraceAnalyzer(spec_items, id_map, covering_map, covered_by_map, broken_chains)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

This tool was generated with the assistance of AI technology.

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

oft_trace-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

oft_trace-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file oft_trace-0.1.0.tar.gz.

File metadata

  • Download URL: oft_trace-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for oft_trace-0.1.0.tar.gz
Algorithm Hash digest
SHA256 68ca6ddbada34162f91b8230cf1c2d7fad793f0599d83ade4767c54742e22c4d
MD5 2899cd16754b58c53b112e3e656317fe
BLAKE2b-256 1e70a976f052af18d3e2c1b8a7405c6bfd3cea92fd031ee84e7e666bcc83cc80

See more details on using hashes here.

Provenance

The following attestation bundles were made for oft_trace-0.1.0.tar.gz:

Publisher: python-publish.yml on vppillai/oft-trace

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

File details

Details for the file oft_trace-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: oft_trace-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for oft_trace-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d33a1b5e51e0db90a7001453698aff7d5e79e321eb6b8d734aa087c8431034f5
MD5 a8e9793ab0dfdca7ccedb64ad85f8b7b
BLAKE2b-256 8c0c9c72dc6cd3cfc9e043267a9dc0895111b6e98f0068793c37d6121a30f9c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for oft_trace-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on vppillai/oft-trace

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