Skip to main content

Recon Banner

An automated API testing and root-cause analysis platform that discovers OpenAPI endpoints, plans multi-category test suites, executes with bounded concurrency, and diagnoses failures with AI.

PyPI Version Python Version FastAPI Playwright License


Platform Visual Preview

Autonomous CLI Test Runner Interactive HTML Report & RCA
Recon Terminal Execution Interactive HTML Report

⚡ Quick Demo (Proof in Action)

# 1. Install directly from PyPI
pip install recon-qa

# 2. Run automated test suite against any running API or OpenAPI spec
recon test https://petstore.swagger.io/v2/swagger.json --concurrency 4
+-----------------------------------------------------------------------------+
| Recon AI QA Agent                                                           |
| Target: https://petstore.swagger.io/v2/swagger.json | Concurrency: 4        |
+-----------------------------------------------------------------------------+
[INFO] Auto-detected OpenAPI specification at swagger.json
[INFO] Generated 24 test cases (Happy Path, Boundary, Validation, Auth)
[INFO] Executing 24 tests with concurrency=4
 PASSED API-001 [POST /v2/pet] Happy Path - Valid Request (42ms)
 PASSED API-002 [GET /v2/pet/findByStatus] Happy Path - Valid Status (38ms)
 FAILED API-003 [POST /v2/pet] Boundary - Empty Body (55ms) - HTTP 400
 PASSED API-004 [GET /v2/user/login] Auth - Valid Credentials (21ms)
 ...
[INFO] Root Cause Analysis Engine:
 ↳ Identified missing required property in payload for /v2/pet (Confidence: 92%)
 ↳ Suggested Fix: Ensure required 'name' and 'photoUrls' fields are provided in request body

+------------------------- Recon Test Run Completed --------------------------+
| Execution Summary                                                           |
|   Total Tests : 24  |  Passed : 22  |  Failed : 2  |  Pass Rate : 91.7%     |
|   HTML Report : reports/run-20260828-095131-1b5354/report.html              |
|   Latest Link : reports/latest.html                                         |
+-----------------------------------------------------------------------------+

Architecture & Pipeline

Recon coordinates automated endpoint discovery, test matrix generation, bounded async workers, and dual-layer failure classification.

End-to-End Execution Flow

Target Application URL / OpenAPI Spec
        │
        ▼
  Discovery Engine ──► OpenAPI 3.x / Swagger Parser & Playwright Crawler
        │
        ▼
  Autonomous Dynamic Auth ──► Schema-driven Auto-Registration & Bearer Token Injection
        │
        ▼
  DAG Test Planner & Ordering
        │
        ├── 1. Root Entity Creation (POST endpoints ──► Harvest IDs into StatePool)
        ├── 2. Stateful Query / Detail Operations (Substitute real entity IDs into {params})
        ├── 3. Boundary & Validation Checks (Empty strings, zero values, negative IDs)
        ├── 4. Strict Enum & Schema Violations (Negative type and enum assertion probes)
        └── 5. Security & Error Handling (401/403 credential rejection & 404 handling)
        │
        ▼
  Async Worker Pool (Bounded Concurrency: 4–16 workers)
        │
        ├── API Runner with Dynamic DAG State Substitution
        └── Browser Runner (Playwright headless DOM navigation)
        │
        ▼
  Evidence Collector (HTTP traces, responses, DOM logs)
        │
        ├── Deterministic Failure Classifier (HTTP 4xx/5xx, timeouts, assertions)
        └── AI Root-Cause Analyzer (Fact extraction ──► Hypothesis ──► Suggested Fix)
        │
        ▼
  Self-Contained Interactive HTML Report + JSON Telemetry

Core Services

Module Technology Role
Discovery Engine Pydantic v2 + httpx Auto-detects OpenAPI 3.0, 3.1 & Swagger 2.0 specs
Test Planner & DAG Python 3.12 AST Generates categorized test matrices with topological dependency ordering
State Pool Engine Thread-Safe StateStore Harvests created entity IDs and injects them into downstream test routes
Autonomous Auth Schema-Fuzzed Auth Pre-flight registration & login flow with recursive JWT token extraction
Concurrency Pool asyncio + WorkerPool Bounded parallel test execution (4–16 workers)
RCA Engine Deterministic + LLM Rule-based failure classification & AI remediation recommendations
Reporting Jinja2 + Tailwind CSS Standalone interactive HTML reports with assertion step diffs
CLI Interface Typer + Rich Colorized terminal telemetry and interactive progress meters

Key Infrastructure Decisions

  • Deterministic Testing First — AI operates as an analytical reasoning layer, not an unpredictable execution engine. Tests pass/fail on concrete assertions.
  • Stateful DAG Dependency Chaining — Solves synthetic 404s by executing entity creation endpoints first, storing generated IDs in a runtime StatePool, and substituting real IDs into dependent GET/PUT routes.
  • Autonomous Authentication Lifecycle — Automatically discovers registration/login schemas, registers a test entity, and propagates Authorization: Bearer <token> across all protected endpoints.
  • Strict OpenAPI 3.0/3.1 Constraint Fuzzing — Adheres strictly to enum, minimum, maximum, minLength, format (uuid, email, currency, date-time) specifications for robust validation and negative test matrices.
  • Bounded Worker Pool — Prevents server overload by capping concurrent asynchronous HTTP connections via asyncio queues.
  • Provider-Agnostic LLM Engine — Seamless support for Google Gemini, OpenAI, Anthropic Claude, Mistral AI, Ollama, DeepSeek, and custom endpoints.
  • Self-Contained HTML Reports — Zero external CSS/JS CDN dependencies; all styles, charts, and diffs are inline for offline auditing.

Features

  • Automated OpenAPI Discovery: Parses OpenAPI 3.0, 3.1, and Swagger 2.0 schemas into strongly-typed parameter trees.
  • Stateful Chaining (DAG): Automatically feeds created entity IDs from POST responses into subsequent GET, PUT, and DELETE requests.
  • Autonomous Dynamic Auth: Pre-flight registration and login flow automatically extracts Bearer JWT tokens.
  • Multi-Category Test Suites: Generates Happy Path, Validation, Boundary, Negative, and Authentication test suites automatically.
  • Asynchronous Execution Pool: Runs tests in parallel with configurable worker limits (--concurrency 4-16).
  • Dual-Layer Root Cause Analysis: Pairs deterministic HTTP error categorization with confidence-scored AI diagnosis.
  • Multi-Provider AI Intelligence: Seamless out-of-the-box support for Google Gemini, OpenAI, Claude, Mistral, Ollama, and DeepSeek.
  • Actionable Remediation: Produces concrete code-fix and payload adjustment recommendations.
  • Interactive HTML & JSON Reports: Comprehensive dashboard with execution timelines, failure taxonomy, and step traces.

Tech Stack

  • Core Engine: Python 3.12, Pydantic v2, httpx, asyncio
  • CLI & UX: Typer, Rich
  • Browser Automation: Playwright Async
  • Analysis & AI: Google Gemini, OpenAI, Claude, Mistral, Ollama, DeepSeek
  • Persistence & Reports: SQLAlchemy, SQLite, Jinja2, HTML5/CSS3
  • Distribution: PyPI (recon-qa)

Getting Started

1. Installation

# Core CLI + AI testing (includes Google Gemini, OpenAI, Claude, Mistral, Ollama)
pip install recon-qa

# With Playwright browser testing support
pip install "recon-qa[browser]"
playwright install chromium

2. Run Test Suite Against an API

# Basic test execution with autonomous auth & DAG chaining
recon test http://localhost:8000

# With bounded concurrency & custom OpenAPI path
recon test http://localhost:8000 --spec /api/v1/openapi.json --concurrency 8

# With explicit authorization header if using pre-existing static token
recon test http://localhost:8000 --header "Authorization: Bearer <your-token>"

# With AI Root-Cause Analysis enabled
recon test http://localhost:8000 --ai

Testing & Quality Assurance

# Run unit & integration test suites
pytest tests/ -v

# Run with coverage report
pytest --cov=recon tests/

License

MIT

Release files for recon-qa 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recon-qa 0.2.0
File Size Uploaded
recon_qa-0.2.0.tar.gz 74.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for recon-qa 0.2.0
File Interpreter ABI Platform
recon_qa-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 162.2 kB

Release files / recon_qa-0.2.0.tar.gz

Download URL recon_qa-0.2.0.tar.gz
Size 74.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0b67e2be8992b15c31d09d3f2e33aaf457f65ccbadd7ff49e7d279bd9f0eb2c8
BLAKE2b-256 checksum
How to use checksums
7204c42aab02cda1bfdc3e89c63bea7e75d3cdd3ad10806d888eecc7ef29af7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / recon_qa-0.2.0-py3-none-any.whl

Download URL recon_qa-0.2.0-py3-none-any.whl
Size 87.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1549e39c4c90ce1318b9c228dfb1de9dda2de89313357c43c219bbffeeba570e
BLAKE2b-256 checksum
How to use checksums
090467ee40e99bdd2bf98ba8c98d8c0c8bbfdd5919865fb2a242f5931145f229
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page