redforge


Nameredforge JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/siwenwang0803/RedForge
SummaryDeveloper-first automated LLM red-team platform
upload_time2025-07-21 03:22:07
maintainerNone
docs_urlNone
authorRedForge Team
requires_python<4.0,>=3.11
licenseMIT
keywords llm security red-team owasp ai-safety
VCS
bugtrack_url
requirements typer rich click pydantic pydantic-core httpx httpcore h11 openai tqdm jinja2 markupsafe pyyaml python-dotenv reportlab pillow tenacity anyio sniffio certifi charset-normalizer idna annotated-types typing-extensions typing-inspection markdown-it-py mdurl pygments distro jiter colorama
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🔥 RedForge CLI

**Developer-first automated LLM red-team platform**

[![Version](https://img.shields.io/badge/version-0.3.1-blue)](https://github.com/siwenwang0803/RedForge/releases)
[![Build](https://github.com/siwenwang0803/RedForge/actions/workflows/e2e_core.yml/badge.svg)](https://github.com/siwenwang0803/RedForge/actions/workflows/e2e_core.yml)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![Product Hunt](https://img.shields.io/badge/Product%20Hunt-Launching%20Soon-da552f)](https://www.producthunt.com/posts/redforge)
[![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://python.org)
[![OWASP](https://img.shields.io/badge/OWASP-LLM%20Top%2010-red.svg)](https://owasp.org/www-project-top-10-for-large-language-model-applications/)

> **🚀 Status:** ✅ Sprint S-3 Complete (July 2025) - Product Hunt Ready, Enterprise Deployments Active  
> **📋 Reference:** [Product One-Pager](docs/RedForge/00-Product-OnePager.md) | [12M Roadmap](docs/RedForge/01-12M-Roadmap.md) | [Landing Page](https://siwenwang0803.github.io/RedForge/)

## Problem We Solve

Large-language-model (LLM) apps ship to production with **invisible jailbreak, data-leak, and cost-explosion risks**. Regulators mandate continuous red-teaming (EU AI Act Art.55, US EO 14110).

**RedForge** automates OWASP LLM Top 10 testing:
- ✅ Local execution (keys on-prem)
- ✅ Audit-ready reports (NIST AI-RMF mapping)
- ✅ Docker CLI setup in 5 minutes
- ✅ Coverage tracking for compliance gaps

## Example Use Cases

- **Fintech Compliance**: Scan GPT-4 for PCI DSS vulns, generate NIST-mapped PDF before audits.
- **Enterprise Dev**: Integrate OWASP tests in CI/CD, chaos-test for resilience.
- **Security Research**: Dry-run attacks, analyze feedback, customize for bias/PII threats.

## Quick Start

```bash
pip install redforge
redforge doctor              # Environment self-check
redforge scan gpt-4 --offline --dry-run
```

**🚀 [Try Cloud Scan - $29/mo](https://siwenwang0803.github.io/RedForge/) | 📖 [Full Documentation](docs/) | 📊 [Threat Model](docs/RedForge/Security/Guardrail_Threat_Model.md)**

### 🐳 Docker Alternative

```bash
docker run --rm siwenwang0803/redforge:latest scan gpt-4 --dry-run
```

### ☁️ Cloud Starter ($29/month)

1. Click **[Get Starter Key](https://siwenwang0803.github.io/RedForge/)** →
2. In CLI:
   ```bash
   redforge signup --email you@example.com
   redforge scan gpt-4 --cloud-api-key <your_key>
   ```
3. Access advanced features: unlimited scans, team collaboration, compliance reports

### 📦 Advanced Installation

```bash
pip install redforge
redforge scan gpt-4 --dry-run
```

### ⚓ Helm (Kubernetes)

```bash
# Add repository
helm repo add redforge https://siwenwang0803.github.io/RedForge
helm repo update

# Install CLI for job-based scanning
helm install my-cli redforge/redforge-cli \
  --set secrets.openaiApiKey="your-api-key"

# Install sidecar for runtime monitoring
helm install my-sidecar redforge/redforge-sidecar \
  --set secrets.apiKeys.openai="your-api-key"
```

## Core Features

**✨ New in v0.3.1 – Product Hunt Preview**:
- 🔥 **Open-core tiering**: Free offline mode, Starter ($29/mo), Pro ($99/mo)
- 📊 **Enhanced reporting**: PDF/HTML/JSON with compliance mapping
- 💳 **Stripe integration**: Seamless checkout + webhook automation
- 🔧 **Improved offline mode**: No OPENAI_API_KEY required for dry runs
- 🐛 **Bug fixes**: Typer 0.9 compatibility, CI/CD stability
- ✅ **Production ready**: Full E2E workflow validation

### 🚀 Key Capabilities
- **Automated Testing**: OWASP LLM Top 10 (47 attacks), prompt injection/leakage detection, risk scoring (0-10 CVSS-like).
- **Reporting**: JSON/PDF/HTML/CSV with compliance (NIST, EU AI Act, SOC2, PCI DSS).
- **Compliance & Audit**: NIST AI-RMF/EU Act mappings, cryptographic trails.
- **Production Ready**: Docker/K8s, rate limiting, chaos testing, lightweight mode.
- **Community-Driven**: Feedback collection/analysis, automated roadmaps.

<details>
<summary>📄 Detailed Features (Click to Expand)</summary>

### 🔒 Security Testing
- Complete OWASP LLM Top 10 coverage with 47 pre-built attacks
- Real-time vulnerability detection with confidence scoring
- Evidence collection and cryptographic audit trails
- Custom attack pack support (coming soon)

### 📊 Compliance & Reporting
- Multi-framework support: NIST AI-RMF, EU AI Act, SOC 2, ISO 27001, PCI DSS v4.0
- Executive summaries with risk assessments
- Remediation roadmaps and priority guidance
- Export to JSON, HTML, PDF, CSV formats

### 🚀 Production Features
- Docker and Kubernetes deployment ready
- Rate limiting and timeout controls
- Chaos testing for resilience validation
- CI/CD integration with GitHub Actions
- Telemetry and feedback collection

</details>

## Pro Features & Pilots

- **Free OSS CLI** for basics.
- **Paid Pilots**: $4-7k one-off pentests with custom PDFs (dev@redforge.com).
- **Upcoming SaaS**: $1k/mo for dashboards, monitoring, premium modules (FinOps, Privacy). Waitlist: [redforge.com](https://redforge.com)

## Attack Packs

### 🔴 OWASP LLM Top 10 (Default)

| Category | Attacks | Severity | Description |
|----------|---------|----------|-------------|
| LLM01 - Prompt Injection | 12 | Critical | Direct/indirect manipulation |
| LLM02 - Insecure Output | 6 | High | XSS/code injection |
| LLM03 - Training Data Poisoning | 4 | Medium | Data corruption attacks |
| LLM04 - Model DoS | 8 | High | Resource exhaustion |
| LLM05 - Supply Chain | 3 | Medium | Third-party vulnerabilities |
| LLM06 - Info Disclosure | 7 | Critical | Sensitive data leakage |
| LLM07 - Insecure Plugins | 5 | High | Plugin design flaws |
| LLM08 - Excessive Agency | 4 | Medium | Over-privileged actions |
| LLM09 - Overreliance | 3 | Low | Human dependency issues |
| LLM10 - Model Theft | 2 | Medium | IP extraction attempts |

Full details: [Attack Packs Reference](docs/attack-packs.md).

### 🔮 Coming Soon

- **FinOps** (cost detection, S-9)
- **Privacy** (GDPR/CCPA, S-10) 
- **Bias** (fairness testing, S-11)

## Configuration

Sample `redforge.yaml`:

```yaml
target:
  endpoint: "https://api.openai.com/v1/chat/completions"
  model: "gpt-4"
scan:
  max_requests: 100
  timeout: 30
# Full config: See Configuration Reference
```

## Roadmap & Status

- **S-1** (✅ Complete): CLI foundation, OWASP Top 10 coverage, report generation
- **S-2/Pilot-0** (✅ Complete): K8s sidecar, chaos testing, PCI DSS compliance  
- **S-3** (✅ Complete - v0.3.1): Open-core model, Stripe payments, Product Hunt launch ready
- **S-4** (🚀 Next - Aug 2025): SaaS dashboard, team collaboration, advanced analytics

Full: [12M Roadmap](docs/RedForge/01-12M-Roadmap.md)

## Development & CI/CD

**Prerequisites**: Python 3.11+, Poetry, Docker.

```bash
git clone https://github.com/siwenwang0803/RedForge.git
make install  # Setup
make test     # Run tests
```

CI/CD examples: [CI/CD Guide](docs/cicd.md).

## Documentation & Links

- **📖 [Full Documentation](docs/)** - Complete setup and usage guides
- **🛡️ [Threat Model](docs/RedForge/Security/Guardrail_Threat_Model.md)** - Security architecture and risk analysis  
- **⚓ [Helm Charts](https://siwenwang0803.github.io/RedForge/helm/)** - Kubernetes deployment
- **📋 [CLI Reference](docs/cli-spec.md)** - Complete command documentation
- **🔧 [Configuration Guide](docs/config.md)** - Advanced configuration options

## Support & Community

- **Issues**: [GitHub Issues](https://github.com/siwenwang0803/RedForge/issues)
- **Cloud Support**: dev@solvas.ai  
- **Enterprise**: Schedule demo via [landing page](https://siwenwang0803.github.io/RedForge/)

## Security & License

- Local exec, no exfil, opt-in telemetry.
- **MIT License**: [LICENSE](LICENSE).
- **Disclaimer**: For authorized testing only.

## Contributors

- **AI Team**: Claude 4 Sonnet (Dev Lead), ChatGPT o3-pro (Strategy), etc.
- **Partners**: 3 confidential enterprises.

## Star History

<img src="https://api.star-history.com/svg?repos=siwenwang0803/RedForge&type=Date" alt="Star History Chart">

---

**Ready to secure your LLM?** `pip install redforge && redforge scan gpt-4 --dry-run`

**Questions**: dev@redforge.com  
**SaaS Waitlist**: [redforge.com](https://redforge.com)
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/siwenwang0803/RedForge",
    "name": "redforge",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "llm, security, red-team, owasp, ai-safety",
    "author": "RedForge Team",
    "author_email": "dev@redforge.com",
    "download_url": "https://files.pythonhosted.org/packages/58/6e/24eacf6f1eff5708bb37c09fc0488cf1708207e5e109d51e59ed72f4eb09/redforge-0.3.1.tar.gz",
    "platform": null,
    "description": "# \ud83d\udd25 RedForge CLI\n\n**Developer-first automated LLM red-team platform**\n\n[![Version](https://img.shields.io/badge/version-0.3.1-blue)](https://github.com/siwenwang0803/RedForge/releases)\n[![Build](https://github.com/siwenwang0803/RedForge/actions/workflows/e2e_core.yml/badge.svg)](https://github.com/siwenwang0803/RedForge/actions/workflows/e2e_core.yml)\n[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n[![Product Hunt](https://img.shields.io/badge/Product%20Hunt-Launching%20Soon-da552f)](https://www.producthunt.com/posts/redforge)\n[![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://python.org)\n[![OWASP](https://img.shields.io/badge/OWASP-LLM%20Top%2010-red.svg)](https://owasp.org/www-project-top-10-for-large-language-model-applications/)\n\n> **\ud83d\ude80 Status:** \u2705 Sprint S-3 Complete (July 2025) - Product Hunt Ready, Enterprise Deployments Active  \n> **\ud83d\udccb Reference:** [Product One-Pager](docs/RedForge/00-Product-OnePager.md) | [12M Roadmap](docs/RedForge/01-12M-Roadmap.md) | [Landing Page](https://siwenwang0803.github.io/RedForge/)\n\n## Problem We Solve\n\nLarge-language-model (LLM) apps ship to production with **invisible jailbreak, data-leak, and cost-explosion risks**. Regulators mandate continuous red-teaming (EU AI Act Art.55, US EO 14110).\n\n**RedForge** automates OWASP LLM Top 10 testing:\n- \u2705 Local execution (keys on-prem)\n- \u2705 Audit-ready reports (NIST AI-RMF mapping)\n- \u2705 Docker CLI setup in 5 minutes\n- \u2705 Coverage tracking for compliance gaps\n\n## Example Use Cases\n\n- **Fintech Compliance**: Scan GPT-4 for PCI DSS vulns, generate NIST-mapped PDF before audits.\n- **Enterprise Dev**: Integrate OWASP tests in CI/CD, chaos-test for resilience.\n- **Security Research**: Dry-run attacks, analyze feedback, customize for bias/PII threats.\n\n## Quick Start\n\n```bash\npip install redforge\nredforge doctor              # Environment self-check\nredforge scan gpt-4 --offline --dry-run\n```\n\n**\ud83d\ude80 [Try Cloud Scan - $29/mo](https://siwenwang0803.github.io/RedForge/) | \ud83d\udcd6 [Full Documentation](docs/) | \ud83d\udcca [Threat Model](docs/RedForge/Security/Guardrail_Threat_Model.md)**\n\n### \ud83d\udc33 Docker Alternative\n\n```bash\ndocker run --rm siwenwang0803/redforge:latest scan gpt-4 --dry-run\n```\n\n### \u2601\ufe0f Cloud Starter ($29/month)\n\n1. Click **[Get Starter Key](https://siwenwang0803.github.io/RedForge/)** \u2192\n2. In CLI:\n   ```bash\n   redforge signup --email you@example.com\n   redforge scan gpt-4 --cloud-api-key <your_key>\n   ```\n3. Access advanced features: unlimited scans, team collaboration, compliance reports\n\n### \ud83d\udce6 Advanced Installation\n\n```bash\npip install redforge\nredforge scan gpt-4 --dry-run\n```\n\n### \u2693 Helm (Kubernetes)\n\n```bash\n# Add repository\nhelm repo add redforge https://siwenwang0803.github.io/RedForge\nhelm repo update\n\n# Install CLI for job-based scanning\nhelm install my-cli redforge/redforge-cli \\\n  --set secrets.openaiApiKey=\"your-api-key\"\n\n# Install sidecar for runtime monitoring\nhelm install my-sidecar redforge/redforge-sidecar \\\n  --set secrets.apiKeys.openai=\"your-api-key\"\n```\n\n## Core Features\n\n**\u2728 New in v0.3.1 \u2013 Product Hunt Preview**:\n- \ud83d\udd25 **Open-core tiering**: Free offline mode, Starter ($29/mo), Pro ($99/mo)\n- \ud83d\udcca **Enhanced reporting**: PDF/HTML/JSON with compliance mapping\n- \ud83d\udcb3 **Stripe integration**: Seamless checkout + webhook automation\n- \ud83d\udd27 **Improved offline mode**: No OPENAI_API_KEY required for dry runs\n- \ud83d\udc1b **Bug fixes**: Typer 0.9 compatibility, CI/CD stability\n- \u2705 **Production ready**: Full E2E workflow validation\n\n### \ud83d\ude80 Key Capabilities\n- **Automated Testing**: OWASP LLM Top 10 (47 attacks), prompt injection/leakage detection, risk scoring (0-10 CVSS-like).\n- **Reporting**: JSON/PDF/HTML/CSV with compliance (NIST, EU AI Act, SOC2, PCI DSS).\n- **Compliance & Audit**: NIST AI-RMF/EU Act mappings, cryptographic trails.\n- **Production Ready**: Docker/K8s, rate limiting, chaos testing, lightweight mode.\n- **Community-Driven**: Feedback collection/analysis, automated roadmaps.\n\n<details>\n<summary>\ud83d\udcc4 Detailed Features (Click to Expand)</summary>\n\n### \ud83d\udd12 Security Testing\n- Complete OWASP LLM Top 10 coverage with 47 pre-built attacks\n- Real-time vulnerability detection with confidence scoring\n- Evidence collection and cryptographic audit trails\n- Custom attack pack support (coming soon)\n\n### \ud83d\udcca Compliance & Reporting\n- Multi-framework support: NIST AI-RMF, EU AI Act, SOC 2, ISO 27001, PCI DSS v4.0\n- Executive summaries with risk assessments\n- Remediation roadmaps and priority guidance\n- Export to JSON, HTML, PDF, CSV formats\n\n### \ud83d\ude80 Production Features\n- Docker and Kubernetes deployment ready\n- Rate limiting and timeout controls\n- Chaos testing for resilience validation\n- CI/CD integration with GitHub Actions\n- Telemetry and feedback collection\n\n</details>\n\n## Pro Features & Pilots\n\n- **Free OSS CLI** for basics.\n- **Paid Pilots**: $4-7k one-off pentests with custom PDFs (dev@redforge.com).\n- **Upcoming SaaS**: $1k/mo for dashboards, monitoring, premium modules (FinOps, Privacy). Waitlist: [redforge.com](https://redforge.com)\n\n## Attack Packs\n\n### \ud83d\udd34 OWASP LLM Top 10 (Default)\n\n| Category | Attacks | Severity | Description |\n|----------|---------|----------|-------------|\n| LLM01 - Prompt Injection | 12 | Critical | Direct/indirect manipulation |\n| LLM02 - Insecure Output | 6 | High | XSS/code injection |\n| LLM03 - Training Data Poisoning | 4 | Medium | Data corruption attacks |\n| LLM04 - Model DoS | 8 | High | Resource exhaustion |\n| LLM05 - Supply Chain | 3 | Medium | Third-party vulnerabilities |\n| LLM06 - Info Disclosure | 7 | Critical | Sensitive data leakage |\n| LLM07 - Insecure Plugins | 5 | High | Plugin design flaws |\n| LLM08 - Excessive Agency | 4 | Medium | Over-privileged actions |\n| LLM09 - Overreliance | 3 | Low | Human dependency issues |\n| LLM10 - Model Theft | 2 | Medium | IP extraction attempts |\n\nFull details: [Attack Packs Reference](docs/attack-packs.md).\n\n### \ud83d\udd2e Coming Soon\n\n- **FinOps** (cost detection, S-9)\n- **Privacy** (GDPR/CCPA, S-10) \n- **Bias** (fairness testing, S-11)\n\n## Configuration\n\nSample `redforge.yaml`:\n\n```yaml\ntarget:\n  endpoint: \"https://api.openai.com/v1/chat/completions\"\n  model: \"gpt-4\"\nscan:\n  max_requests: 100\n  timeout: 30\n# Full config: See Configuration Reference\n```\n\n## Roadmap & Status\n\n- **S-1** (\u2705 Complete): CLI foundation, OWASP Top 10 coverage, report generation\n- **S-2/Pilot-0** (\u2705 Complete): K8s sidecar, chaos testing, PCI DSS compliance  \n- **S-3** (\u2705 Complete - v0.3.1): Open-core model, Stripe payments, Product Hunt launch ready\n- **S-4** (\ud83d\ude80 Next - Aug 2025): SaaS dashboard, team collaboration, advanced analytics\n\nFull: [12M Roadmap](docs/RedForge/01-12M-Roadmap.md)\n\n## Development & CI/CD\n\n**Prerequisites**: Python 3.11+, Poetry, Docker.\n\n```bash\ngit clone https://github.com/siwenwang0803/RedForge.git\nmake install  # Setup\nmake test     # Run tests\n```\n\nCI/CD examples: [CI/CD Guide](docs/cicd.md).\n\n## Documentation & Links\n\n- **\ud83d\udcd6 [Full Documentation](docs/)** - Complete setup and usage guides\n- **\ud83d\udee1\ufe0f [Threat Model](docs/RedForge/Security/Guardrail_Threat_Model.md)** - Security architecture and risk analysis  \n- **\u2693 [Helm Charts](https://siwenwang0803.github.io/RedForge/helm/)** - Kubernetes deployment\n- **\ud83d\udccb [CLI Reference](docs/cli-spec.md)** - Complete command documentation\n- **\ud83d\udd27 [Configuration Guide](docs/config.md)** - Advanced configuration options\n\n## Support & Community\n\n- **Issues**: [GitHub Issues](https://github.com/siwenwang0803/RedForge/issues)\n- **Cloud Support**: dev@solvas.ai  \n- **Enterprise**: Schedule demo via [landing page](https://siwenwang0803.github.io/RedForge/)\n\n## Security & License\n\n- Local exec, no exfil, opt-in telemetry.\n- **MIT License**: [LICENSE](LICENSE).\n- **Disclaimer**: For authorized testing only.\n\n## Contributors\n\n- **AI Team**: Claude 4 Sonnet (Dev Lead), ChatGPT o3-pro (Strategy), etc.\n- **Partners**: 3 confidential enterprises.\n\n## Star History\n\n<img src=\"https://api.star-history.com/svg?repos=siwenwang0803/RedForge&type=Date\" alt=\"Star History Chart\">\n\n---\n\n**Ready to secure your LLM?** `pip install redforge && redforge scan gpt-4 --dry-run`\n\n**Questions**: dev@redforge.com  \n**SaaS Waitlist**: [redforge.com](https://redforge.com)",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Developer-first automated LLM red-team platform",
    "version": "0.3.1",
    "project_urls": {
        "Documentation": "https://docs.redforge.com",
        "Homepage": "https://github.com/siwenwang0803/RedForge",
        "Repository": "https://github.com/siwenwang0803/RedForge"
    },
    "split_keywords": [
        "llm",
        " security",
        " red-team",
        " owasp",
        " ai-safety"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dac42969eceb918e1ecfb67e9440c64719f47391051e4783b50b54f71db0eaa4",
                "md5": "dc77debb6e30ccb5798209cbce964b6a",
                "sha256": "13c7d78a0643f6be7b18eb43eb21941403f272f6d1ddedcdea9437214d88a3f8"
            },
            "downloads": -1,
            "filename": "redforge-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dc77debb6e30ccb5798209cbce964b6a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 94982,
            "upload_time": "2025-07-21T03:22:05",
            "upload_time_iso_8601": "2025-07-21T03:22:05.803757Z",
            "url": "https://files.pythonhosted.org/packages/da/c4/2969eceb918e1ecfb67e9440c64719f47391051e4783b50b54f71db0eaa4/redforge-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "586e24eacf6f1eff5708bb37c09fc0488cf1708207e5e109d51e59ed72f4eb09",
                "md5": "8ef32013b97321c27f1a56be70dd776a",
                "sha256": "74bda233e89e87dc32860ad8b1618208fa31bb760d31b08e10da0cc13c0422ed"
            },
            "downloads": -1,
            "filename": "redforge-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "8ef32013b97321c27f1a56be70dd776a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 86058,
            "upload_time": "2025-07-21T03:22:07",
            "upload_time_iso_8601": "2025-07-21T03:22:07.221696Z",
            "url": "https://files.pythonhosted.org/packages/58/6e/24eacf6f1eff5708bb37c09fc0488cf1708207e5e109d51e59ed72f4eb09/redforge-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 03:22:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "siwenwang0803",
    "github_project": "RedForge",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "typer",
            "specs": [
                [
                    "==",
                    "0.9.4"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.4"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.2.1"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.11.7"
                ]
            ]
        },
        {
            "name": "pydantic-core",
            "specs": [
                [
                    "==",
                    "2.33.2"
                ]
            ]
        },
        {
            "name": "httpx",
            "specs": [
                [
                    "==",
                    "0.26.0"
                ]
            ]
        },
        {
            "name": "httpcore",
            "specs": [
                [
                    "==",
                    "1.0.9"
                ]
            ]
        },
        {
            "name": "h11",
            "specs": [
                [
                    "==",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.97.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.67.1"
                ]
            ]
        },
        {
            "name": "jinja2",
            "specs": [
                [
                    "==",
                    "3.1.6"
                ]
            ]
        },
        {
            "name": "markupsafe",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "reportlab",
            "specs": [
                [
                    "==",
                    "4.4.2"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "11.3.0"
                ]
            ]
        },
        {
            "name": "tenacity",
            "specs": [
                [
                    "==",
                    "8.5.0"
                ]
            ]
        },
        {
            "name": "anyio",
            "specs": [
                [
                    "==",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "sniffio",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.7.14"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "4.14.1"
                ]
            ]
        },
        {
            "name": "typing-inspection",
            "specs": [
                [
                    "==",
                    "0.4.1"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "pygments",
            "specs": [
                [
                    "==",
                    "2.19.2"
                ]
            ]
        },
        {
            "name": "distro",
            "specs": [
                [
                    "==",
                    "1.9.0"
                ]
            ]
        },
        {
            "name": "jiter",
            "specs": [
                [
                    "==",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        }
    ],
    "lcname": "redforge"
}
        
Elapsed time: 1.14213s